The Wine development release 10.6 is now available.
What's new in this release:
- New lexer in Command Processor.
- PBKDF2 algorithm in Bcrypt.
- More support for image metadata in WindowsCodecs.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.6.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.6/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.6 (total 27):
- #6682 IrfanView's 4.44 Help -> About window is missing a picture on the left
- #13884 No music in Blue Wish Resurrection Plus
- #29912 No parent button in file selection dialog
- #31701 Alan Wake crashes on start without native d3dx9_36
- #35652 Multiple MMORPH game launchers crash on startup or apps fail to update initial window content ('DIALOG_CreateIndirect' needs to trigger WM_PAINT)(Aeria Games 'Aura Kingdom', STOnline)
- #39453 Graphs not rendering using gdiplus
- #41729 2GIS 3.0 application crashes on exit.
- #44978 Text in WC3 World Editor isn't colored properly
- #45460 Running EVE Online keeps locking up after a few hours
- #48121 Unity games do not fire OnApplicationFocus/OnApplicationPause events on focus regain
- #51053 Alan Wake Crashes After Intro Cut Scene
- #51378 Failures with `DetourCreateProcessWithDllEx` for Microsoft's Detours Library
- #51546 Xenos 2.3.2 dll injector crashes
- #51575 Texconv fails with mipmap error unless "-nowic" is supplied to disable WIC use
- #51584 Zafehouse: Diaries demo needs support for pixel format DXT5 in D3DXSaveSurfaceToFileInMemory
- #52553 Resource Hacker 5.1.8 fails to render tree view on left, shows white screen
- #55819 when alt+tab out and in again, the input no longer working
- #56073 Some Unity games don't receive keyboard input when using virtual desktop
- #57283 The Queen of Heart 99 SE : corrupted visuals on KO screen
- #57492 Players can't join Astroneer dedicated server with enabled encryption because BCryptExportKey encryption of key not yet supported
- #57665 The Medium game launcher has no background image
- #57738 Title of "Select Topic" window in hh.exe is not translatable
- #57951 Ultrakill: level 1-1 has invisible tree leaves on WINED3D, works fine on DXVK
- #57998 ClickOnce apps don't start after installing winetricks dotnet472
- #58057 Certificate import wizard does not give visual confirmation when a specific certificate store is selected
- #58061 [FL Studio] When holding CTRL to zoom in the playlist, it also scrolls vertically - possible regression
- #58066 Virtual desktop doesn't resize correctly (missing window border) when VD size = desktop size
### Changes since 10.5:
```
Akihiro Sagawa (1):
server: Fix the accumulation method when merging WM_MOUSEWHEEL message.
Alex Henrie (1):
cryptui: Copy localized name of selected store to textbox.
Alexander Morozov (1):
ntoskrnl.exe/tests: Fix a test failure on 32-bit Windows 7.
Alexandre Julliard (37):
winegcc: Set default section alignment to 64k on ARM64.
winegcc: Add a boolean flag for the -marm64x option.
winebuild: Align sections to 64k on ARM64.
ntdll: Move a bit more work into the open_builtin_so_file() helper function.
ntdll: Add a helper function to open the main image as .so file.
ntdll: Move some code around to group together all functions related to .so dlls.
ntdll: Don't build support for .so dlls on platforms that don't have them.
win32u: Implement NtGdiMakeFontDir().
gdi32/tests: Add a test for NtGdiMakeFontDir().
gdi32: Use NtGdiMakeFontDir() to implement CreateScalableFontResourceW().
win32u: Remove the __wine_get_file_outline_text_metric() syscall.
win32u: Implement NtUserGetProcessDefaultLayout().
win32u: Implement NtUserBeginDeferWindowPos().
win32u: Implement NtUserSetForegroundWindow().
win32u: Implement NtUserKillSystemTimer().
cng.sys: Use the native subsystem.
hidclass.sys: Use the native subsystem.
hidparse.sys: Use the native subsystem.
wmilib.sys: Use the native subsystem.
mouhid.sys: Remove unneeded spec file.
makefiles: Require .sys modules to use the native subsystem.
mmdevapi: Move the device GUID cache to the common code.
mmdevapi: Move the registry device name lookup to the common code.
mmdevapi: Move assigning a device GUID to the common code.
mmdevapi: Forward driver entry points to the loaded driver.
winmm: Always load mmdevapi as audio driver.
mmdevapi: Get rid of the Wine info device.
mmdevapi: Move the auxMessage() implementation to the common code.
mmdevapi: Unload the driver module on process detach.
mmdevapi: Allow audio drivers to defer MIDI support to a different driver.
mmdevapi: Move the DriverProc implementation to the common code.
mmdevapi: Move the mid/modMessage implementations to the common code.
mmdevapi: Merge mmdevdrv.h into mmdevapi_private.h.
makefiles: Make spec files optional for driver modules.
ntdll: Add a stub for NtCreateSectionEx().
kernelbase: Implement CreateFileMapping2().
cmd/tests: Fix the NUL device name.
Bernhard Übelacker (7):
ws2_32/tests: Add broken to test_WSAAddressToString.
propsys/tests: Add broken to test_PropVariantChangeType_R8.
psapi/tests: Add broken to test_GetModuleFileNameEx.
winhttp/tests: Add broken to test_redirect.
setupapi/tests: Add broken to test_SetupDiOpenDeviceInterface.
advapi32/tests: Avoid crash in test_LsaLookupNames2 by setting len to zero.
ntdll/tests: Make single step test succeed for 32-bit systems.
Brendan McGrath (1):
winegstreamer: Push flush event when flushing.
Byeong-Sik Jeon (9):
win32u: Preserve result string from multiple WINE_IME_POST_UPDATE calls during ImeProcessKey.
win32u: Support WM_IME_KEYDOWN message during ImeProcessKey.
imm32: Fix the WM_IME_COMPOSITION messages to be between the WM_IME_{START|END}COMPOSITION message.
winewayland: Use an empty string to clear the composition string.
win32u: Add more CompAttr, CompClause implementation using cursor_begin, cursor_end concept.
winewayland: Extend cursor_pos using cursor_begin, cursor_end.
winemac: Extend cursor_pos using cursor_begin, cursor_end.
winex11: Extend cursor_pos using cursor_begin, cursor_end.
winex11: Update only when caret pos changed in xic_preedit_caret.
Charlotte Pabst (2):
mfplat/tests: Add test for MF_XVP_PLAYBACK_MODE.
winegstreamer: Allow caller to allocate samples in MF_XVP_PLAYBACK_MODE.
Conor McCarthy (1):
server: Do not call setpriority() if it cannot be used safely.
Daniel Lehman (3):
oleaut32/tests: Test for bpp.
oleaut32/tests: Add some test bmps.
oleaut32: Handle more pixel formats in OleLoadPicture.
Daniel Martin (1):
activeds: Implement ADsBuildVarArrayInt.
Dmitry Timoshkov (8):
sane.ds: Fix DC leak.
sane.ds: Change return type of sane_categorize_value() to void.
sane.ds: Clarify how SANE mode names map to ICAP_PIXELTYPE values.
sane.ds: Use sizeof() instead of hard-coded values, avoid zero initializing local variables when not necessary.
bcrypt/tests: Add a test for exporting/importing AES wrapped blob with different key sizes.
bcrypt: Add support for exporting AES wrapped blob for a 256-bit key.
bcrypt: Add support for importing AES wrapped blob for a 256-bit key.
cryptext: Implement CryptExtOpenCER.
Elizabeth Figura (12):
user32/tests: Test messages when creating a visible modeless dialog.
wined3d: Partially move fog mode to wined3d_extra_ps_args.
wined3d: Move alpha test func to wined3d_extra_ps_args.
wined3d: Partially move texture index and transform flags to wined3d_extra_ps_args.
wined3d: Make ffp_vertex_update_clip_plane_constants() static.
wined3d: Feed clip planes through a push constant buffer.
wined3d: Add support for a layered DPB.
ddraw/tests: Test a stretched blit to self with overlap.
wined3d: Fix a bit of logic around identical fog start/end.
ws2_32/tests: Add tests for socket handle validity checks in send functions.
ntdll: Validate fd type in IOCTL_AFD_WINE_COMPLETE_ASYNC.
ws2_32: Allow using duplicated socket handles in WS2_sendto().
Eric Pouech (31):
cmd/tests: Add more lexer related tests.
cmd: Rely on node_builder to get lexer state.
cmd: Check command buffer instead of keeping whitespace state.
cmd: Factorize end-of-line conditions.
cmd: Handle directly commands til eol.
dbghelp: Fix line number when multiple entries have same offset.
dbghelp: Always reset all the fields for local scope enumeration.
dbghelp: Don't report local symbols when they are not present.
dbghelp: Use new pdb reader for DEFRANGE based local variables.
dbghelp: Introduce helper to query info from index.
cmd: Rewrite string handling in lexer.
cmd: Remove unneeded variable 'thisChar' in lexer.
cmd: Removed acceptCommand variable.
cmd: Remove lastWasRedirect variable in lexer.
cmd: Fix infinite loop in FOR /L.
dbghelp: Add SYMFLAG_NULL for out of scope local variables.
dbghelp: Rename ptr <> index conversion helpers.
dbghelp: Introduce an opaque type to store type of data & function.
dbghelp: Use opaque symref_t inside typedef symbol.
dbghelp: Introduce helpers to discrimate symref_t owner.
dbghelp: Now returning PDB basic types as a symref_t.
dbghelp: Advertize old PDB reader types into new reader.
dbghelp: Add method for search type by name.
dbghelp: Add enum_types debug-info method.
dbghelp: Move pointer type handle to PDB backend.
dbghelp: Move array type handling to PDB backend.
dbghelp: Move function signature type handling to PDB backend.
dbghelp: Move enumeration type to PDB backend.
dbghelp: Move UDT type handling to PDB backend.
dbghelp: No longer preload the types from PDB.
dbghelp: Optimize request to codeview types.
Esme Povirk (13):
comctl32: Implement MSAA events for header controls.
gdiplus: Implement path to region conversion without gdi32.
gdiplus/tests: Test rounding of region rectangles.
advapi32: Return success from TreeSetNamedSecurityInfoW.
comctl32: Implement MSAA events for listbox.
comctl32/tests: Test MSAA events for listbox.
comctl32/tests: Add more MSAA event tests for listbox.
gdiplus: Limit path rasterization to region bounding box.
comctl32: Implement MSAA events for listview controls.
comctl32/tests: Test listview MSAA events.
comctl32/tests: Add test for MSAA event on listview setview.
gdiplus: Rename a misleading variable.
gdiplus: Simplify rect region conversion to HRGN.
Etaash Mathamsetty (2):
winewayland.drv: Implement support for xdg-toplevel-icon.
winewayland: Implement relative motion accumulator.
Fabian Maurer (2):
gdiplus/tests: Add test for loading .ico.
gdiplus: Use correct format guid for .ico files.
Gabriel Ivăncescu (5):
mshtml: Don't expose "create" from Image constructor in IE9+ modes.
mshtml: Don't expose "create" from Option constructor in IE9+ modes.
mshtml: Use own window property for Image constructor.
mshtml: Use own window property for Option constructor.
mshtml: Use get_constructor in window's get_XMLHttpRequest.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.312.
Gerald Pfeifer (2):
ntdll: Fix build on platforms without getauxval.
winemaker: Account for FreeBSD.
Giovanni Mascellani (1):
dxgi/tests: Do not request a frame latency waitable on D3D10.
Hans Leidekker (1):
rsaenh/tests: Get rid of workarounds for old Windows versions.
Jacek Caban (1):
mshtml: Rename prototype_id to object_id.
Joachim Priesner (1):
msvcrt: Concurrency: Fix signed/unsigned comparison.
John Szakmeister (1):
ntdll: Correctly detect the NUL device under macOS.
Lorenzo Ferrillo (7):
kernelbase: Factor out common functionality for performance counter functions.
kernelbase: Add implementation of PerfSetULongCounterValue.
kernelbase: Add implementation for PerfSetULongLongCounterValue.
advapi32/tests: Create tests for PerfSetULongCounterValue.
advapi32/tests: Add test For PerfSetULongLongCounterValue.
kernelbase: Check for PERF_ATTRIB_BY_REFERENCE attribute in PerfSetCounterRefValue.
kernelbase: Check for PERF_SIZE_LARGE in PerfSetULongLongCounterValue and PerfSetULongCounterValue.
Marcus Meissner (1):
configure: Avoid problems with -Werror=return-type in check.
Matteo Bruni (2):
d3dx9/tests: Clean up D3DXSaveTextureToFileInMemory tests.
d3dxof/tests: Get rid of test_dump().
Nikolay Sivov (33):
windowscodecs/tests: Add some tests for initial metadata readers content.
windowscodecs/tests: Add more tests for the item id handling.
windowscodecs/tests: Add some tests for bKGD chunk.
windowscodecs/tests: Add line context to the metadata comparison helper.
windowscodecs/tests: Remove redundant string length check for VT_LPSTR metadata value.
windowscodecs/tests: Use wide-char literals in metadata tests.
msvcirt/tests: Fix buffer overrun with a terminating null (ASan).
uiautomationcore/tests: Fix use-after-free (ASan).
windowscodecs/tests: Add another test case for 4bps tiff.
windowscodecs/tiff: Fix stride value for 4bps RGBA.
propsys/tests: Add more tests for PropVariantToDouble().
propsys/tests: Add some tests for PropVariantChangeType(VT_R8).
propsys/tests: Use correct members to initialize PropVariantToDouble() test input.
propsys: Fix PropVariantToDouble() for float input.
propsys: Implement PropVariantChangeType(VT_R8).
windowscodecs/tests: Add a PNG encoder test with 64bppRGBA format.
windowscodecs/tests: Add some tests for metadata handlers component info.
windowscodecs/tests: Add some more tests for creating metadata readers.
windowscodecs/tests: Add some tests for GetMetadataHandlerInfo().
windowscodecs/metadatahandler: Remove unused internal vtable entries.
windowscodecs/metadata: Pass handler pointer to the loader implementation.
windowscodecs/metadata: Make it possible to populate default items at creation time.
windowscodecs/metadata: Create default item for the gAMA reader.
windowscodecs/metadata: Create default items for the cHRM handler.
windowscodecs/metadata: Create default item for the hIST handler.
windowscodecs/metadata: Create default items for the tIME handler.
windowscodecs/tests: Add more tests for initial reader contents.
windowscodecs/metadata: Add default item for the GifComment handler.
windowscodecs/metadata: Implement bKGD chunk reader.
dwrite: Implement GetFontSet() for collections.
windowscodecs/metadata: Add a stub for bKGD writer.
windowscodecs/metadata: Add a stub for tIME writer.
combase: Add a stub for SetRestrictedErrorInfo().
Paul Gofman (2):
ntdll: Do not mark first stack guard page as committed.
ntdll: Add some specifics for NtQueryInformationProcess( ProcessDebugObjectHandle ) parameters handling.
Piotr Caban (16):
conhost: Allow raster fonts.
conhost: Merge validate_font and validate_font_metric helpers.
conhost: Imrove best matching font selection in set_first_font.
conhost: Prioritize font charset when selecting initial font.
advapi32: Make username and domain match case insensite.
include: Add some PBKDF2 related definitions.
bcrypt: Fix BcryptDeriveKeyPBKDF2 with NULL salt.
bcrypt: Add PBKDF2 algorithm provider.
bcrypt: Handle PBKDF2 in BCryptGetProperty.
bcrypt: Handle PBKDF2 in BCryptGenerateSymmetricKey.
bcrypt: Reorganize hash_handle_from_desc helper so it can be reused.
bcrypt: Add BCryptKeyDerivation partial implementation (PBKDF2 algorithm).
include: Add _[w]dupenv_s declaration.
include: Add _aligned_msize() declaration.
include: Add wmemmove_s declaration.
msvcr100/tests: Link to msvcr100.
Rémi Bernon (36):
winemac: Get DC pixel format from winemac-internal objects.
winex11: Trace XReconfigureWMWindow requests mask.
winex11: Send _NET_WM_STATE requests to X root window.
winex11: Only set NET_WM_STATE_FULLSCREEN for the desktop.
user32/tests: Add more SW_SHOWNA / SetFocus tests.
win32u: Set window foreground when setting focus.
kernel32/tests: Use the public PROCESS_BASIC_INFORMATION definition.
ntdll/tests: Use the public PROCESS_BASIC_INFORMATION definition.
winex11: Avoid sending WM_MOUSEACTIVATE on WM_TAKE_FOCUS.
winemac: Avoid sending WM_MOUSEACTIVATE on WM_TAKE_FOCUS.
explorer: Paint the desktop even without RDW_ERASE.
winex11: Avoid setting RDW_ERASE on expose events.
dbghelp/tests: Remove now succeeding todo_wine.
psapi/tests: Remove now succeeding todo_wine.
cfgmgr32/tests: Add Windows 7 broken result.
activeds: Use VT_I4 instead of VT_UI4.
inetmib1/tests: Avoid printing large number of failures on macOS.
kernel32/tests: Avoid printing large number of failures on macOS.
dbghelp/tests: Remove now succeeding todo_wine.
win32u: Handle some pixel format initialization.
opengl32/tests: Avoid leaking contexts.
opengl32/tests: Add more WGL_ARB_pbuffer tests.
opengl32/tests: Add more WGL_ARB_render_texture tests.
win32u: Introduce a generic pbuffer implementation from winex11.
winewayland: Use the generic pbuffer implementation.
winemac: Use the generic pbuffer implementation.
win32u: Add a nulldrv pbuffer stub implementation.
win32u: Introduce opengl_driver_funcs for memory DCs.
win32u: Pass pixel format to osmesa_create_context.
win32u: Implement generic context functions.
win32u: Check the DC internal pixel formats against the context format.
wineandroid: Use the generic context functions.
winemac: Use the generic context functions.
winewayland: Use the generic context functions.
winex11: Use the generic context functions.
win32u: Add nulldrv context functions.
Santino Mazza (5):
amstream: Implement IMemAllocator stub for ddraw stream.
amstream/tests: Test for custom allocator in ddraw stream.
amstream: Implement custom allocator for ddraw stream.
amstream/tests: Test for dynamic formats in ddraw stream.
amstream: Implement dynamic formats in ddraw stream.
Sebastian Lackner (1):
user32: Call UpdateWindow() after showing a dialog.
Stefan Dösinger (1):
odbc32: Call the driver's SQLGetInfoW after a->w conversion.
Sven Baars (8):
win32u: Fix a string leak (Valgrind).
ntdll/tests: Fix a leak on error path (Coverity).
ntdll/tests: Fix a string leak (Valgrind).
ntdll: Empty the atom table before destroying it (Valgrind).
ntdll/tests: Fix some string leaks (Valgrind).
ntdll/tests: Don't trace invalid pointers (Valgrind).
ntdll/tests: Fix some uninitialized variable warnings (Valgrind).
ntdll: Avoid evaluating a possibly uninitialized variable in RtlExpandEnvironmentStrings(). (Valgrind).
Tim Clem (1):
winemac.drv: Only send key down events to the window's inputContext.
Tobias Gruetzmacher (4):
wininet: Handle HTTP status code 308 (Permanent Redirect).
winhttp: Handle HTTP status code 308 (Permanent Redirect).
urlmon: Handle HTTP status code 308 (Permanent Redirect).
rsaenh: Ignore reserved field in import_key.
Vibhav Pant (10):
winebth.sys: Fix use-after-free in dispatch_auth (Coverity).
winebth.sys: Broadcast PnP event after updating properties for remote devices.
winebth.sys: Broadcast PnP event when remote devices are removed/lost.
winebth.sys: Broadcast GUID_BLUETOOTH_RADIO_IN_RANGE events for newly discovered remote devices as well.
ws2_32/tests: Allow socket() for Bluetooth RFCOMM sockets to fail with WSAEPROTONOSUPPORT.
winebth.sys: Implement IOCTL_BTH_DISCONNECT_DEVICE.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_REMOVE_DEVICE.
bluetoothapis: Add stub for BluetoothRemoveDevice.
bluetoothapis: Implement BluetoothRemoveDevice.
bluetoothapis/tests: Add tests for BluetoothRemoveDevice.
Yuri Hérouard (1):
wined3d: Use temporary buffer when stretching a surface to itself with cpu blit.
Zhiyi Zhang (7):
user32/tests: Properly test ShowWindow(SW_MAXIMIZE) regarding WS_CAPTION.
win32u: Fix incorrect work area for maximized windows.
user32/tests: Add more window placement maximized position tests.
win32u: Check against the monitor work area in update_maximized_pos().
win32u: Use a more fitting name for a helper function.
win32u: Properly scale monitor work area when emulate_modeset is enabled.
win32u: Support windows spanning multiple monitors in map_window_rects_virt_to_raw().
Ziqing Hui (6):
shell32/tests: Add more tests to test_rename.
shell32/tests: Test NULL and empty file name for SHFileOperation.
shell32/tests: Avoid showing UI when testing.
shell32: Rework add_file_entry, add more parameters.
shell32: Don't parse wildcard for rename operation.
shell32: Rework rename_files.
```
The Wine stable release 9.0.1 is now available.
What's new in this release:
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.0/wine-9.0.1.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.0.1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.0.1 (total 74):
- #25207 SHFileOperation does not create new directory on FO_MOVE
- #33050 FDM (Free Download Manager) crashes with page fault when any remote FTP directory opened
- #44863 Performance regression in Prince of Persia 3D
- #46070 Basemark Web 3.0 Desktop Launcher crashes
- #46074 Visio 2013 crashes with unimplemented function msvcr100.dll.??0_ReaderWriterLock@details@Concurrency@@QAE@XZ
- #48110 Multiple .NET 4.x applications need TaskService::ConnectedUser property (Toad for MySQL Freeware 7.x, Microsoft Toolkit from MS Office 2013)
- #49089 nProtect Anti-Virus/Spyware 4.0 'tkpl2k64.sys' crashes on unimplemented function 'fltmgr.sys.FltBuildDefaultSecurityDescriptor'
- #49703 Ghost Recon fails to start
- #49877 Minecraft Education Edition shows error during install: Fails to create scheduled task
- #51285 The bmpcoreimage test in user32:cursoricon fails on most Windows versions
- #51599 cmd.exe incorrectly parses an all-whitespace line followed by a closing parenthesis
- #51813 python fatal error redirecting stdout to file
- #51957 Program started via HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths should also be started if extension ".exe" is missing
- #52399 SIMATIC WinCC V15.1 Runtime installer: SeCon tool fails with error 5 while trying to create 'C:\\windows\Security\\SecurityController' (needs '%windir%\\security')
- #52622 windows-rs 'lib' test crashes on unimplemented function d3dcompiler_47.dll.D3DCreateLinker
- #52879 ESET SysInspector 1.4.2.0 crashes on unimplemented function wevtapi.dll.EvtCreateRenderContext
- #53934 __unDName fails to demangle a name
- #54759 Notepad++: slider of vertical scrollbar is too small for long files
- #55000 wineserver crashes below save_all_subkeys after RegUnLoadKey
- #55268 user32:cursoricon - LoadImageA() fails in test_monochrome_icon() on Windows 8+
- #55282 Flutter SDK can't find "aapt" program (where.exe is a stub)
- #55421 Fallout Tactics launcher has graphics glitches
- #55619 VOCALOID AI Shared Editor v.6.1.0 crashes with System.Management.ManagementObject object construction
- #55724 mfmediaengine:mfmediaengine sometimes gets a threadpool assertion in Wine
- #55765 The 32-bit d2d1:d2d1 frequently crashes on the GitLab CI
- #55810 Finding Nemo (Steam): window borders gone missing (virtual desktop)
- #55876 Acrom Controller Updater broken due to oleaut32 install
- #55883 SpeedWave can't draw Window, needs oleaut32.OleLoadPictureFile().
- #55897 cpython 3.12.0 crashes due to unimplemented CopyFile2
- #55945 KakaoTalk crashes when opening certain profiles after calling GdipDrawImageFX stub
- #55997 Dolphin Emulator crashes from 5.0-17264
- #56054 Microsoft Safety Scanner crashes on exit on unimplemented function tbs.dll.GetDeviceIDString
- #56062 unimplemented function mgmtapi.dll.SnmpMgrOpen
- #56078 LibreOffice 7.6.4 crashes on unimplemented function msvcp140_2.dll.__std_smf_hypot3
- #56093 msys/pacman: fails with "fixup_mmaps_after_fork: VirtualQueryEx failed"
- #56122 LANCommander won't start, prints "error code 0x8007046C" (ERROR_MAPPED_ALIGNMENT)
- #56133 explorer.exe: Font leak when painting
- #56135 Dictionnaire Hachette Multimédia Encyclopédique 98 crashes on start
- #56139 scrrun: Dictionary does not allow storing at key Undefined
- #56168 dbghelp hits assertion in stabs_pts_read_type_def
- #56174 Forza Horizon 4 crashes with concrt140.dll.?_Confirm_cancel@_Cancellation_beacon@details@Concurrency@@QEAA_NXZ
- #56195 Device name inconsistent casing between GetRawInputDeviceInfo and PnP
- #56223 winedbg: crashes after loading gecko debug information
- #56235 Windows Sysinternals Process Explorer 17.05 crashes showing Threads property page.
- #56243 ShowSystray registry key was removed without alternative
- #56244 SplashTop RMM client for Atera crashes on unimplemented function shcore.dll.RegisterScaleChangeNotifications
- #56256 Windows Sysinternals Process Explorer 17.05 shows incomplete user interface (32-bit).
- #56265 Epic Games Launcher 15.21.0 calls unimplemented function cfgmgr32.dll.CM_Get_Device_Interface_PropertyW
- #56271 Free Download Manager no longer works after it updated (stuck at 100% CPU, no visible window)
- #56309 Across Lite doesn't show the letters properly when typing
- #56334 Page fault when querying dinput8_a_EnumDevices
- #56357 Zero sized writes using WriteProcessMemory succeed on Windows, but fail on Wine.
- #56361 Geovision Parashara's Light (PL9.exe) still crashes in wine
- #56367 Tomb Raider 3 GOG crashes at start
- #56369 Advanced IP Scanner crashes on unimplemented function netapi32.dll.NetRemoteTOD
- #56372 musl based exp2() gives very inaccurate results on i686
- #56400 SSPI authentication does not work when connecting to sql server
- #56434 WScript.Network does not implement UserName, ComputerName, and UserDomain properties
- #56493 PresentationFontCache.exe crashes during .Net 3.51 SP1 installation
- #56498 Incorrect substring expansion for magic variables
- #56503 CryptStringToBinary doesn't adds CR before pad bytes in some cases
- #56554 ON1 photo raw installs but wont run the application
- #56579 Setupapi fails to read correct class GUID and name from INF file containing %strkey% tokens
- #56582 vb3 combobox regression: single click scrolls twice
- #56598 Calling [vararg] method via ITypeLib without arguments via IDispatch fails
- #56599 HWMonitor 1.53 needs unimplemented function pdh.dll.PdhConnectMachineA
- #56609 vcrun2008 fails to install
- #56653 GetLogicalProcessorInformation can be missing Cache information
- #56666 BExAnalyzer from SAP 7.30 does not work correctly
- #56730 Access violation in riched20.dll when running EditPad
- #56755 White textures in EverQuest (Unsupported Conversion in windowscodec/convert.c)
- #56763 Firefox 126.0.1 crashes on startup
- #56781 srcrrun: Dictionary setting item to object fails
- #56871 The 32-bit wpcap program is working abnormally
### Changes since 9.0:
```
Alex Henrie (10):
tbs: Add GetDeviceIDString stub.
include: Add mgmtapi.h and LPSNMP_MGR_SESSION.
mgmtapi: AddSnmpMgrOpen stub.
msvcp140_2: Implement __std_smf_hypot3.
where: Implement search with default options.
explorer: Fix font handle leaks in virtual desktop.
pdh: Add PdhConnectMachineA stub.
ntdll/tests: Delete the WineTest registry key when the tests finish.
ntdll/tests: Rewrite the RtlQueryRegistryValues tests and add more of them.
ntdll: Succeed in RtlQueryRegistryValues on direct query of nonexistent value.
Alexandre Julliard (16):
configure: Add /usr/share/pkgconfig to the pkg-config path.
winsta: Start time is an input parameter in WinStationGetProcessSid.
oleaut32: Fix IDispatch::Invoke for vararg functions with empty varargs.
ntdll: Add default values for cache parameters.
secur32/tests: Update count for new winehq.org certificate.
gitlab: Add 'build' tag on Linux build jobs.
gitlab: Remove make -j options.
dnsapi/tests: Update tests for winehq.org DNS changes.
urlmon/tests: Fix a test that fails after WineHQ updates.
wininet/tests: Update issuer check for winehq.org certificate.
urlmon/tests: Skip test if ftp connection fails.
user32/tests: Fix some sysparams results on recent Windows.
dnsapi/tests: Update DNS names for the new test.winehq.org server.
wininet/tests: Update certificate for the new test.winehq.org server.
secur32/tests: Update expected results for the new test.winehq.org server.
winhttp/tests: Allow some more notifications for the new test.winehq.org server.
Alistair Leslie-Hughes (3):
fltmgr.sys: Implement FltBuildDefaultSecurityDescriptor.
fltmgr.sys: Create import library.
ntoskrnl/tests: Add FltBuildDefaultSecurityDescriptor test.
Andrew Nguyen (2):
oleaut32: Bump version resource to Windows 10.
ddraw: Reserve extra space in the reference device description buffer.
Bartosz Kosiorek (2):
gdiplus/tests: Add GdipDrawImageFX tests except effects or attributes.
gdiplus: Partially implement GdipDrawImageFX.
Benjamin Mayes (1):
windowscodecs: Add conversions from PixelFormat32bppBGRA->PixelFormat16bppBGRA5551.
Bernhard Übelacker (10):
server: Avoid unloading of HKU .Default registry branch.
server: Allow VirtualQueryEx on "limited" handle.
wing32: Add tests.
wing32: Avoid crash in WinGGetDIBPointer when called with NULL bitmap info.
dbghelp: Return early if HeapAlloc failed.
ntdll: Fix structure layout in RtlQueryProcessDebugInformation for 64-bit.
wininet: Add missing assignment of return value.
wininet: Avoid crash in InternetCreateUrl with scheme unknown.
cmd: Handle lines with just spaces in bracket blocks.
cmd: Avoid execution if block misses closing brackets.
Dmitry Timoshkov (4):
oleaut32: Do not reimplement OleLoadPicture in OleLoadPicturePath.
oleaut32: Factor out stream creation from OleLoadPicturePath.
oleaut32: Implement OleLoadPictureFile.
kerberos: Allocate memory for the output token if requested.
Eric Pouech (4):
dbghelp: Support redefinition of a range statement.
server: Allow 0-write length in WriteProcessMemory().
cmd: Add test for substring handling in 'magic' variable expansion.
cmd: Fix substring expansion for 'magic' variables.
Esme Povirk (1):
gdiplus: Prefer Tahoma for generic sans serif font.
Fabian Maurer (11):
win32u: Factor out scroll timer handling.
win32u: Only set scroll timer if it's not running.
oleaut32: Add test for invoking a dispatch get-only property with DISPATCH_PROPERTYPUT.
oleaut32: Handle cases where invoking a get-only property with INVOKE_PROPERTYPUT returns DISP_E_BADPARAMCOUNT.
riched20: In para_set_fmt protect against out of bound cTabStop values.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetDisplayName / SetDisplayName.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetIconPath / SetIconPath.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetGroupingParam / SetGroupingParam.
mmdevapi: Implement IAudioSessionControl2 GetDisplayName / SetDisplayName.
mmdevapi: Implement IAudioSessionControl2 GetIconPath / SetIconPath.
mmdevapi: Implement IAudioSessionControl2 GetGroupingParam SetGroupingParam.
Felix Münchhalfen (2):
ntdll: Use pagesize alignment if MEM_REPLACE_PLACEHOLDER is set in flags of NtMapViewOfSection(Ex).
kernelbase/tests: Add a test for MapViewOfFile3 with MEM_REPLACE_PLACEHOLDER.
Hans Leidekker (13):
wbemprox: Protect tables with a critical section.
wbemprox: Handle implicit property in object path.
netprofm: Support NLM_ENUM_NETWORK flags.
netprofm: Set return pointer to NULL in networks_enum_Next().
msi: Install global assemblies before running deferred custom actions.
msi: Install global assemblies after install custom actions and before commit custom actions.
wpcap: Handle different layout of the native packet header structure on 32-bit.
winhttp/tests: Fix test failures introduced by the server upgrade.
secur32: Handle GNUTLS_MAC_AEAD.
secur32/tests: Switch to TLS 1.2 for connections to test.winehq.org.
secur32/tests: Mark some test results as broken on old Windows versions.
crypt32/tests: Fix a test failure.
wbemprox: Use separate critical sections for tables and table list.
Helix Graziani (1):
cfgmgr32: Add CM_Get_Device_Interface_PropertyW stub.
Jinoh Kang (4):
include: Add definition for FILE_STAT_INFORMATION.
ntdll/tests: Add tests for NtQueryInformationFile FileStatInformation.
ntdll: Implement NtQueryInformationFile FileStatInformation.
kernelbase: Replace FileAllInformation with FileStatInformation in GetFileInformationByHandle().
Kartavya Vashishtha (1):
kernelbase: Implement CopyFile2().
Louis Lenders (3):
shcore: Add stub for RegisterScaleChangeNotifications.
shell32: Try appending .exe when looking up an App Paths key.
wmic: Support interactive mode and piped commands.
Martin Storsjö (1):
musl: Fix limiting the float precision in intermediates.
Michael Stefaniuc (2):
gitlab: Do not run the build script on each commit.
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
Nicholas Tay (1):
win32u: Preserve rawinput device instance ID case in add_device().
Nikolay Sivov (10):
scrrun/dictionary: Add support for hashing VT_EMPTY keys.
scrrun/dictionary: Add support for hashing VT_NULL keys.
scrrun/dictionary: Handle VT_EMPTY/VT_NULL keys.
wshom/network: Use TRACE() for implemented method.
wshom/network: Implement GetTypeInfo().
wshom/network: Implement ComputerName() property.
wshom/network: Check pointer argument in get_UserName().
wshom/network: Implement UserDomain property.
d2d1: Fix a double free on error path (Valgrind).
scrrun/dictionary: Implement putref_Item() method.
Paul Gofman (5):
explorer: Don't pop start menu on "minimize all windows" systray command.
explorer: Don't pop start menu on "undo minimize all windows" systray command.
winhttp: Always return result at once if available in WinHttpQueryDataAvailable().
winhttp: Always return result at once if available in WinHttpReadData().
kernel32/tests: Add tests for critical section debug info presence.
Peter Johnson (1):
wined3d: Added missing GTX 3080 & 1070M.
Piotr Caban (5):
msvcp140_2: Fix i386 export names.
msvcp140_2: Implement __std_smf_hypot3f.
msvcp140_t/tests: Add __std_smf_hypot3 tests.
concrt140: Add _Cancellation_beacon::_Confirm_cancel() implementation.
msvcrt: Store _unDName function parameter backreferences in parsed_symbol structure.
Roland Häder (1):
wined3d: Added missing GTX 1650.
Rémi Bernon (9):
dinput/tests: Add some IRawGameController2 interface tests.
windows.gaming.input: Stub IRawGameController2 interface.
explorer: Restore a per-desktop ShowSystray registry setting.
secur32/tests: Update the tests to expect HTTP/2 headers.
imm32/tests: Add todo_himc to some ImmTranslateMessage expected calls.
urlmon/tests: Expect "Upgrade, Keep-Alive" connection string.
user32/tests: Add flaky_wine to some SetActiveWindow tests.
wininet: Parse multi-token Connection strings for Keep-Alive.
user32/tests: Fix cursoricon tests on recent Windows versions.
Sam Joan Roque-Worcel (1):
win32u: Make SCROLL_MIN_THUMB larger.
Santino Mazza (1):
crypt32: Fix CryptBinaryToString not adding a separator.
Tim Clem (1):
gitlab: Update configuration for the new Mac runner.
Tuomas Räsänen (2):
setupapi/tests: Add tests for reading INF class with %strkey% tokens.
setupapi: Use INF parser to read class GUID and class name.
Vijay Kiran Kamuju (10):
msvcr100: Add _ReaderWriterLock constructor implementation.
wine.inf: Create security directory.
concrt140: Add stub for _Cancellation_beacon::_Confirm_cancel().
taskschd: Implement ITaskService_get_ConnectedUser.
taskschd: Return success from Principal_put_RunLevel.
taskschd: Implement TaskService_get_ConnectedDomain.
d3dcompiler: Add D3DCreateLinker stub.
netapi32: Add NetRemoteTOD stub.
mscms: Add stub for WcsGetDefaultColorProfile.
wevtapi: Add stub EvtCreateRenderContext().
Zebediah Figura (4):
shell32/tests: Remove obsolete workarounds from test_move().
ddraw: Use system memory for version 4 vertex buffers.
ddraw: Upload only the used range of indices in d3d_device7_DrawIndexedPrimitive().
ddraw/tests: Test GetVertexBufferDesc().
Zhenbo Li (1):
shell32: Create nonexistent destination directories in FO_MOVE.
Zhiyi Zhang (6):
include: Rename DF_WINE_CREATE_DESKTOP to DF_WINE_VIRTUAL_DESKTOP.
server: Inherit internal desktop flags when creating desktops.
rtworkq: Avoid closing a thread pool object while its callbacks are running.
rtworkq: Avoid possible scenarios that an async callback could be called twice.
user32/tests: Add some ReleaseCapture() tests.
win32u: Only send mouse input in ReleaseCapture() when a window is captured.
```
The Wine development release 10.5 is now available.
What's new in this release:
- Support for larger page sizes on ARM64.
- Mono engine updated to version 10.0.0.
- Pairing support in the Bluetooth driver.
- Vulkan H.264 decoding.
- %GS register swapping on macOS.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.5.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.5/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.5 (total 22):
- #2155 Failure of SetFocus, SetActiveWindow and SetForegroundWindow
- #52715 wine segfaults on asahi linux due to 16k pages (apple M1 hardware, linux kernel/userland)
- #56377 Microsoft Edge freezes almost immediately after launching
- #56479 Shrift 2 Translation Patch 1.3Gamev2.07: could not load file or assembly. access denied.
- #56837 Bad file pointer after a file write in appending mode
- #57010 Pantheon - error during installation
- #57406 Brothers - A Tale of Two Sons launcher fails to launch
- #57784 Video modes are broken
- #57919 Rally Trophy: Keyboard key is not configurable anymore, regression
- #57920 Rally Trophy: Input device configuration doesn't show mapped keys anymore, regression
- #57940 ntoskrnl.exe tests can trigger BSOD
- #57948 Listview / LVM_GETORIGIN returns wrong coordinates
- #57973 Listbox selected items are rendered even with LBS_NOSEL
- #57987 The Queen of Heart 99 SE : Config.exe crashes just before saving and quitting
- #57996 PS Core installer crashes (regression)
- #58006 winegcc seg-faults in wine 10.4
- #58008 wine-10.4 hangs on macOS (Rosetta 2)
- #58022 mscoree:comtest and mscoree:mscoree fail
- #58024 Listview does not handle WM_VSCROLL(SB_BOTTOM)
- #58038 Keyboard input lost after alt-tabbing in virtual desktop
- #58050 Game Controllers panel crashes on exit
- #58052 TipTap launcher for OverField crashes: Call to unimplemented function USER32.dll.IsTopLevelWindow
### Changes since 10.4:
```
Alex Henrie (4):
ntdll: Correct NtAllocateReserveObject arguments in specfile.
ntdll: Implement querying StorageDeviceProperty for optical discs.
cryptui: Use wide character string literal for L"".
shell32/tests: Use wide character string literals.
Alexandre Julliard (48):
winegcc: Store the output name in a global variable.
winegcc: Use -nostdlib for MSVC builds.
winegcc: Always add strip flag to the linker args explicitly.
winegcc: Validate the target option after all arguments have been handled.
winegcc: Always pass the -x option through the files list.
winegcc: Store the linking options in global variables.
winegcc: Store the files arguments in a global variable.
ntdll: Limit the header mapping size to the size of the file.
ntdll: Don't use private writable mappings on macOS.
ntdll: Retrieve the host page size on the Unix side on ARM64.
ntdll: Align virtual memory allocations to the host page size.
ntdll: Align virtual memory deallocations to the host page size.
ntdll: Apply virtual page protections to the entire host page.
ntdll: Align file mappings to the host page size.
ntdll: Align stack guard pages to the host page size.
ntdll: Align to the host page size when calling mlock/munlock/msync.
server: Support the host page size being different from the Windows page size.
widl: Preserve pragma pack() statements in header files.
widl: Use pragma pack in generated files.
include: Use pragma pack in idl files.
ntdll: Round the size of the .so NT header to the file alignment.
winegcc: Don't forward -v to the compiler by default.
winegcc: Only pass explicit linker arguments with -print-libgcc-file-name.
winegcc: Set the entry point option in get_link_args().
winegcc: Add a helper function to read options from a file.
include: Move InitializeObjectAttributes definition to ntdef.h.
ntdll: Use the InitializeObjectAttributes macro in more places.
ntdll/tests: Use the InitializeObjectAttributes macro in more places.
kernelbase: Use the InitializeObjectAttributes macro in more places.
wine.inf: Add list of known dlls.
wineboot: Fetch the list of supported machines once at startup.
wineboot: Create section objects for known dlls.
advapi32: Delay import cryptsp.
comctl32: Delay import oleacc.
comdlg32: Delay import winspool
gdiplus: Delay import mlang.
imagehlp: Delay import dbghelp.
wldap32: Delay import some libraries.
ntdll: Only enable redirection around the calls that access the file system.
ntdll: Add a helper to build an NT name from the system directory.
ntdll: Try to open dll mappings from the KnownDlls directory first.
ntdll: Only check HAVE_PTHREAD_TEB when setting %fs on Linux.
wineps.drv: Delay import winspool.
kernelbase: Redirect system32 paths manually for delayed file moves.
setupapi: Don't print an error when failing to replace a native dll.
setupapi: Delay fake dll installation until reboot for files in use.
makefiles: Handle the makefile disable flags directly in configure.
makefiles: Skip building some programs that are only useful for the host architecture.
Alfred Agrell (1):
server: Fall back to epoll_wait if epoll_pwait2 doesn't work.
Anders Kjersem (1):
setupapi: Don't add backslash on empty folder.
André Zwing (2):
bluetoothapis/tests: Don't test function directly when reporting GetLastError().
kernel32/tests: Don't test function directly when reporting GetLastError().
Attila Fidan (1):
winewayland: Don't use a destroyed surface in text input.
Bartosz Kosiorek (4):
gdiplus/test: Add GdipReversePath test for Path Pie.
gdiplus: Fix GdipReversePath for mixed Bezier and Line points in subpath.
gdiplus/tests: Add tests for GdipGetPathWorldBounds with single point.
gdiplus: Add single point support for GdipGetPathWorldBounds.
Bernhard Übelacker (1):
joy.cpl: Set devnotify to NULL after it got unregistered (ASan).
Brendan McGrath (5):
mfplat/tests: Fix crash in MFShutdown on Windows.
mfplat/tests: Fix leak of media events.
mfplat/tests: Fix leak of media source.
winegstreamer: Allow NULL for time_format.
mfsrcsnk: Allow NULL for time_format.
Brendan Shanks (6):
ntdll: Remove ugly fallback method for getting a thread's GSBASE on macOS.
ntdll: Ensure init_handler runs in signal handlers before any compiler-generated memset calls.
ntdll: Don't access the TEB through %gs when using the kernel stack in x86_64 syscall dispatcher.
ntdll: Set %rsp to be inside syscall_frame before accessing %gs in x86_64 syscall dispatcher.
ntdll: On macOS x86_64, swap GSBASE between the TEB and macOS TSD when entering/leaving PE code.
ntdll: Remove x86_64 Mac-specific TEB access workarounds that are no longer needed.
Connor McAdams (5):
d3dx9/tests: Add a test for reading back a texture saved as D3DXIFF_JPG.
d3dx9/tests: Add more tests for saving textures to DDS files.
d3dx9: Add support for saving IDirect3DTexture9 textures to DDS files in D3DXSaveTextureToFileInMemory().
d3dx9: Add support for saving IDirect3DCubeTexture9 textures to DDS files in D3DXSaveTextureToFileInMemory().
d3dx9: Add support for saving IDirect3DVolumeTexture9 textures to DDS files in D3DXSaveTextureToFileInMemory().
Dmitry Timoshkov (1):
bcrypt/tests: Add some tests for export/import of BCRYPT_AES_WRAP_KEY_BLOB.
Elizabeth Figura (18):
wined3d: Feed fog constants through a push constant buffer.
wined3d: Introduce a separate wined3d_extra_ps_args state for point sprite enable.
wined3d/glsl: Move legacy shade mode to shader_glsl_apply_draw_state().
wined3d: Partially move shade mode to wined3d_extra_ps_args.
kernel32/tests: Add more tests for orphaned console handles.
server: Fail to create an unbound input/output when there is no console.
server: Use a list of screen buffers per console.
server: Allow waiting on an orphaned screen buffer.
server: Track unbound input signaled state based on its original console.
server: Track unbound output signaled state based on its original console.
d3d11: Plumb SubmitDecoderBuffers() through wined3d.
wined3d: Create and submit video decode command buffers.
wined3d: Call vkQueueSubmit() if there are semaphores.
wined3d: Add a "next" pointer to wined3d_context_vk_create_image().
wined3d: Implement Vulkan H.264 decoding.
d3d11/tests: Add tests for H.264 decoding.
wined3d: Invert gl_FragCoord w.
wined3d: Use VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV_READ_FORMAT_UNKNOWN if possible.
Eric Pouech (11):
dbghelp: Fix order of non-commutative binary op:s in PDB/FPO unwinder.
dbghelp: Introduce new PDB reader, use it for unwinding FPO frames.
dbghelp: Don't keep PDB files mapped after parsing is done.
dbghelp: Introduce a vtable per module_format.
dbghelp: Rename struct internal_line into lineinfo.
dbghelp: Always copy the source file string.
dbghelp: Introduce interface for line info access.
dbghelp: Introduce method to get next/prev line information.
dbghelp: Introduce method to enumerate line numbers.
dbghelp: Add method to enumerate source files.
dbghelp: No longer store line information from old PDB reader.
Eric Tian (1):
gdiplus: Avoid storing NULL in gdip_font_link_section.
Esme Povirk (9):
comctl32: Implement EVENT_OBJECT_VALUECHANGE for edit controls.
comctl32/tests: Test MSAA events for edit controls.
mscoree: Update Wine Mono to 10.0.0.
win32u: Implement EVENT_OBJECT_NAMECHANGE.
comctl32/tests: Add test for SysLink accDoDefaultAction.
comctl32: Implement accDoDefaultAction for SysLink controls.
comctl32/tests: Test accLocation values on SysLink control.
comctl32/tests: Test SetWindowText and LM_GETITEM for SysLink.
comctl32/tests: Test MSAA events for SysLink.
Francisco Casas (1):
d2d1: Add [loop] attribute in sample_gradient() shader function.
Gabriel Ivăncescu (8):
mshtml: Keep the link from the inner window to the outer window even when detached.
jscript: Obtain the jsdisp for host objects in other contexts.
mshtml: Make sure manually created document dispex info is initialized in IE9+ modes.
mshtml: Release the node if there's no script global when handling events.
jscript: Get rid of the funcprot argument.
mshtml: Don't mess with the outer window if we're already detached.
jscript: Don't leak when popping (u)int values off the stack.
jscript: Don't leak when return value of host constructor is not used.
Hans Leidekker (7):
adsldp/tests: Fix test failures.
wbemprox: Get rid of unused imports.
wbemprox: Get rid of the per-table lock.
bcrypt: Make secret parameter to create_symmetric_key()/generate_symmetric_key() const.
bcrypt: Only print a fixme if a vector has been set.
bcrypt: Add support for BCRYPT_AES_WRAP_KEY_BLOB in BCryptExportKey().
bcrypt: Add support for BCRYPT_AES_WRAP_KEY_BLOB in BCryptImportKey().
Kevin Martinez (2):
shell32: Added stub for IEnumObjects interface.
shell32: Added stub for IObjectCollection interface.
Kostin Mikhail (1):
regsvr32: Ignore obsolete flag /c.
Louis Lenders (3):
win32u: Add stub for NtUserSetAdditionalForegroundBoostProcesses.
powrprof: Add stub for PowerRegisterForEffectivePowerModeNotifications.
dwmapi: Do not prefer native dll.
Marc-Aurel Zent (5):
server: Implement ThreadPriority class in NtSetInformationThread.
server: Move last thread information to get_thread_info flags.
server: Return the correct base/actual thread priorities.
kernelbase: Use ProcessPriorityClass info class in GetPriorityClass.
server: Return the correct base/actual process priority.
Nikolay Sivov (13):
user32/tests: Add some tests for current selection with LBS_NOSEL.
comctl32/tests: Add some tests for current selection with LBS_NOSEL.
user32/listbox: Do not paint item selection with LBS_NOSEL.
comctl32/listbox: Do not paint item selection with LBS_NOSEL.
libtiff: Provide zlib allocation functions.
windowscodecs/metadata: Always initialize handler pointer.
windowscodecs/jpeg: Add support for App1 metadata blocks in the decoder.
windowscodecs/tests: Add some tests for the App0 reader.
comctl32/listview: Handle WM_VSCROLL(SB_BOTTOM).
windowscodecs/converter: Implement BW -> 24BGR conversion.
windowscodecs/converter: Implement 48bppRGB -> 128bppRGBFloat conversion.
wmphoto: Use CRT allocation functions.
d3d10/effect: Fix constant buffer overrun when updating expression constants (ASan).
Paul Gofman (11):
wintrust: Don't set desktop window when initializing provider data.
kernel32/tests: Add tests for known dlls load specifics.
ntdll/tests: Fix a test failure on Windows wow64.
msvcp140: Implement codecvt_char16 ctors and dtor.
msvcp140: Implement codecvt_char16_do_out().
msvcp140: Implement codecvt_char16_do_in().
msvcp: Fix output size check in codecvt_wchar_do_out().
setupapi/tests: Add a test for SetupDiOpenDeviceInterface().
cfgmgr32: Implement CM_Get_Device_Interface_List[_Size][_Ex]W().
cfgmgr32: Implement CM_Get_Device_Interface_List[_Size][_Ex]A().
cfgmgr32: Implement CM_Get_Device_Interface_PropertyW() for DEVPKEY_Device_InstanceId.
Piotr Caban (1):
msvcrt: Update file position in _flsbuf() in append mode.
Robert Lippmann (1):
server: Use INOTIFY_CFLAGS.
Rémi Bernon (54):
winex11: Use the current state when deciding how to reply to WM_TAKE_FOCUS.
winex11: Use the state tracker for the desktop window _NET_WM_STATE.
opengl32: Remove unused type parameter.
opengl32: Remove unnecessary interlocked exchange.
opengl32: Use an explicit GLsync pointer in the union.
opengl32: Introduce an opengl_context_from_handle helper.
opengl32: Introduce a wgl_pbuffer_from_handle helper.
winex11: Introduce a new handle_state_change helper.
winex11: Track _NET_ACTIVE_WINDOW property changes.
dinput/tests: Load cfgmgr32 dynamically.
dinput/tests: Add more EnumDevicesBySemantics tests.
dinput: Fix EnumDeviceBySemantics user checks.
dinput: Fix keyboard / mouse semantics matching.
dinput: Only load mappings that have not yet been set.
dinput: Avoid overriding app-configured action map controls.
winex11: Get rid of now unnecessary unmap_window helper.
winex11: Keep _NET_WM_USER_TIME on individual toplevel windows.
winex11: Avoid stealing focus during foreground window mapping.
win32u: Introduce a new opengl_driver_funcs structure.
win32u: Implement opt-in WGL_(ARB|EXT)_extensions_string support.
wineandroid: Use win32u for WGL_(ARB|EXT)_extensions_string support.
winemac: Use win32u for WGL_(ARB|EXT)_extensions_string support.
winewayland: Use win32u for WGL_(ARB|EXT)_extensions_string support.
winex11: Use win32u for WGL_(ARB|EXT)_extensions_string support.
win32u: Add a nulldrv init_wgl_extensions implementation.
cfgmgr32/tests: Load some functions dynamically.
winemac: Use the default wglGetPixelFormatAttribivARB implementation.
winemac: Remove the driver wglChoosePixelFormatARB implementation.
win32u: Implement opt-in generic wgl(Get|Set)PixelFormat(WINE).
wineandroid: Use win32u generic wgl(Get|Set)PixelFormat(WINE).
winewayland: Use win32u generic wgl(Get|Set)PixelFormat(WINE).
winex11: Use win32u generic wgl(Get|Set)PixelFormat(WINE).
winemac: Use win32u generic wgl(Get|Set)PixelFormat(WINE).
win32u: Add a null driver set_pixel_format implementation.
winex11: Only set focus_time_prop for managed windows.
winex11: Keep track of whether mapped window needs activation.
winex11: Refactor X11DRV_GetWindowStateUpdates control flow.
win32u: Return foreground window changes from GetWindowStateUpdates.
win32u: Call ActivateWindow callback when foreground window changes.
winex11: Use _NET_ACTIVE_WINDOW to request/track window activation.
win32u: Move WGL_ARB_pixel_format extension registration.
winex11: Ignore GL drawable creation failure on reparent.
win32u: Remove unnecessary win32u_(get|set)_window_pixel_format exports.
setupapi: Implement SetupDiOpenDeviceInterface(A|W).
winex11: Cleanup code style in X11DRV_wglCreatePbufferARB.
winex11: Cleanup code style in X11DRV_wglQueryPbufferARB.
winex11: Cleanup code style in X11DRV_wglBindTexImageARB.
winex11: Compute texture binding enum from the texture target.
winex11: Remove some pbuffer related dead code.
opengl32/tests: Cleanup memory DC rendering tests.
opengl32/tests: Update memory DC pixel format tests.
opengl32/tests: Update memory DC drawing tests.
gdi32/tests: Test selecting bitmap on a D3DKMT memory DC.
opengl32/tests: Test GL rendering on D3DKMT memory DCs.
Sven Baars (9):
dmime/tests: Use wine_dbgstr_longlong.
win32u: Store window styles in a DWORD (Coverity).
win32u: Always set DriverVersion.
makedep: Fix a compilation warning.
d3dxof: Fix a memory leak on error path (Coverity).
d3dxof/tests: Fix a memory leak on error path (Coverity).
adsldp: Fix a leak on error path in search_ExecuteSearch() (Valgrind).
adsldp: Free ber in search_GetNextRow() (Valgrind).
adsldp/tests: Fix a name leak (Valgrind).
Tim Clem (1):
imm32: Add a stub for CtfImmRestoreToolbarWnd.
Tomasz Pakuła (4):
dinput/tests: Add tests for 6-axis force feedback joystick.
include: Define the max number of supported HID PID axes.
winebus: Support creation of dynamic number of PID axes.
winebus: Get the number of haptic axes from SDL.
Vibhav Pant (16):
ws2_32/tests: Add tests for creating Bluetooth RFCOMM sockets.
server: Add support for creating Bluetooth RFCOMM sockets.
ws2_32: Add bind tests for Bluetooth RFCOMM sockets.
ws2_32: Support bind for Bluetooth RFCOMM addresses.
winebth.sys: Register a pairing agent with BlueZ during startup.
winebth.sys: Broadcast a WINEBTH_AUTHENTICATION_REQUEST PnP event on receiving a RequestConfirmation request from BlueZ.
winebth.sys: Implement IOCTL_WINEBTH_AUTH_REGISTER.
bluetoothapis: Implement BluetoothRegisterForAuthenticationEx and BluetoothUnregisterForAuthentication.
bluetoothapis/tests: Add tests for BluetoothRegisterForAuthenticationEx and BluetoothUnregisterAuthentication.
winebth.sys: Support cancellation of pairing sessions via BlueZ.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_SEND_AUTH_RESPONSE.
bluetoothapis: Add stub for BluetoothSendAuthenticationResponseEx.
bluetoothapis: Implement BluetoothSendAuthenticationResponseEx.
bluetoothapis/tests: Add tests for BluetoothSendAuthenticationResponseEx.
winebth.sys: Allow service auth requests from BlueZ for authenticated devices.
ws2_32/tests: Check for WSAEAFNOSUPPORT or WSAEPROTONOSUPPORT if socket() fails for AF_BTH.
Vitaly Lipatov (1):
wow64: Skip memcpy for null pointer.
Yongjie Yao (1):
wmp: Check the return value of IOleClientSite_QueryInterface().
Yuri Hérouard (1):
comctl32: Avoid segfault in PROPSHEET_DoCommand when psInfo is NULL.
Ziqing Hui (7):
shell32/tests: Remove old windows tests for test_copy.
shell32/tests: Add more tests to test_copy.
shell32/tests: Introduce check_file_operation helper.
shell32/tests: Use more check_file_operation.
shell32/tests: Use check_file_operation in test_rename.
shell32/tests: Use check_file_operation in test_delete.
shell32/tests: Use check_file_operation in test_move.
```
The Wine development release 10.4 is now available.
What's new in this release:
- Improvements to PDB support in DbgHelp.
- More Vulkan video decoder support in WineD3D.
- Accessibility support in the SysLink control.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.4.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.4/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.4 (total 28):
- #33770 Strong Bad's Episode 1 - Homestar Ruiner Demo crashes without d3dx9_27 (purist)
- #33943 Battle.net client dropdowns do not appear until you hover its options
- #42117 Multiple applications have windows with double caption/title bars (Chessmaster 9000, Steam when Windows >= Vista)
- #44795 Need for Speed: Shift demo main menu has messed up rendering (needs ID3DXEffect::SetRawValue implementation)
- #46012 Command & Conquer 3: Kane's Wrath (1.03) Invisible units and tiberium
- #46662 absolute value of unsigned type 'unsigned int' has no effect
- #47165 iTunes 12.9.4+ user interface is rendered black (only text visible)
- #47278 Multiple games and applications require TGA support in D3DXSaveSurfaceToFileInMemory (Europa Universalis 4 Golden Century, ShaderMap 4.x)
- #53103 ie8 doesn't start (race condition)
- #54066 SysLink control shouldn't delete the HFONT it didn't create
- #56106 Roon 2.0.23 crashes due to unable to find library: Windows.Storage.Streams.RandomAccessStreamReference
- #56108 Edit control should stop processing characters when left mouse button is down
- #56225 16-bit Myst deadlocks on start since Wine 3.2
- #57540 unrecognized charset 'SHIFT_JIS' when running Wine with LC_ALL=ja_JP.SJIS
- #57559 Chessbase 17 database table background and non-selected entries rendered in black
- #57717 Adobe Illustrator CS6 (16), Adobe Photoshop CS6 (13), likely all CS6 apps: Main menu bar item shortcut/accelerator key underlines positioning is wrong with built-in gdiplus
- #57746 BeckyInternetMail/VirtualListView: The ListView of the email list isn't redrawn while receiving email.
- #57800 Fullscreen OpenGL apps have unintended literal transparency
- #57826 Zenless Zone Zero fails to start after update to 10.1
- #57848 Wrong alignment of GUI elements in Enterprise Architect
- #57853 Error: makecab.exe not found
- #57874 wineloader no longer able to find ntdll.so
- #57889 Prntvpt (Print Ticket API): printing is cropped in landscape orientation
- #57896 winemenubuilder crash
- #57952 Q-Dir crashes on exit.
- #57962 Firefox 136.0.1 fails to start
- #57963 Firefox crashes on youtube: wine: Call to unimplemented function ucrtbase.dll.imaxdiv, aborting
- #57964 Firefox crashes: wine: Call to unimplemented function KERNEL32.dll.GetCurrentApplicationUserModelId, aborting
### Changes since 10.3:
```
Alex Henrie (3):
winecfg: Use wide character string literal for "Tahoma".
wuauserv: Use wide character string literal for "wuauserv".
fusion: Use wide character string literals.
Alexander Morozov (2):
ntoskrnl.exe/tests: Improve device properties test, avoid BSOD.
ntoskrnl.exe: Implement MmMapLockedPages.
Alexandre Julliard (33):
include: Add a number of missing TCHAR macros.
include: Use pragma pack push/pop.
ntdll: Update the main exe entry point when the module is relocated.
ntdll: Disallow AT_ROUND_TO_PAGE on 64-bit.
user32: Add some more stubs for ordinal functions that forward to win32u.
server: Consistently use size_t for page sizes.
server: Compute the size of the PE header that can be mapped.
ntdll: Only copy the PE section data to a separate block when necessary.
krnl386: Handle DOS ioctl with simulated real mode interrupt.
krnl386: Remove the CTX_SEG_OFF_TO_LIN macro.
ntdll: Pass an explicit mask to the ROUND_SIZE macro.
ntdll: Pass the base address to decommit_pages().
tools: Add is_pe_target() common helper function.
winegcc: Make the target options global variables.
winegcc: Move setting the compatibility defines to a separate helper function.
winegcc: Move the initial argument array out of the options structure.
winegcc: Move the remaining directory options out of the options structure.
winegcc: Remove option fields that already have a corresponding output file variable.
winegcc: Pass the files list explicitly to the various compilation functions.
winegcc: Pass the output name explicitly to the various compilation functions.
winegcc: Store the file processor type in a global variable.
winegcc: Store the various search path directories in global variables.
winegcc: Store the library search suffix in a global variable.
winegcc: Store the winebuild path in a global variable.
winegcc: Store the compiler arguments in global variables.
winegcc: Pass tool names directly to build_tool_name instead of using an enum.
winegcc: Store various string options as global variables.
winegcc: Store all the boolean options in global variables.
winegcc: Get rid of the options struct.
ntdll: Round all sizes to the section alignment for PE mappings.
ntdll: Always map files as writable and adjust permissions.
server: Fix limit check for adding a committed range.
ntdll: Force committed access on anonymous mappings.
Alexandros Frantzis (4):
winewayland: Implement wl_data_device initialization.
winewayland: Support wl_data_device for copies from win32 clipboard to native apps.
winewayland: Support wl_data_device for copies from native apps to win32 clipboard.
winewayland: Warn about missing clipboard functionality.
Anders Kjersem (2):
comctl32/listview: Never use null buffer with LVN_ENDLABELEDIT on a text change.
shcore: Implement OS_TABLETPC and OS_MEDIACENTER.
Attila Fidan (1):
win32u: Return 0 from NtUserGetKeyNameText if there is no translation.
Bartosz Kosiorek (6):
gdiplus: Fix widening of LineCapArrowAnchor.
gdiplus/tests: Improve test drawing accuracy of GdiAddPath*Curve functions.
gdiplus: Improve drawing accuracy of GdiAddPath*Curve functions.
gdiplus/tests: Add additional test for GdipAddPathArc.
gdiplus/tests: Add GdipFlattenPath tests with default flatness 0.25.
gdiplus: Fix GdipFlattenPath return path precision.
Bernhard Übelacker (4):
kernel32/tests: Flush pending APCs and close handles (ASan).
ieframe: Enter reallocation path one position earlier (ASan).
advapi32: Avoid buffer underrun in split_domain_account (ASan).
msxml6/tests: Make test pass with Windows 7.
Biswapriyo Nath (1):
include: Add mpeg2data.idl.
Brendan McGrath (3):
mfplat: Add mp3 resolver hint.
mf/tests: Test timestamps in H264 decoder.
mf/tests: Test timestamps in WMV decoder.
Brendan Shanks (5):
ntdll: Stop using chdir() in file_id_to_unix_file_name().
ntdll: Move the dir_queue into file_id_to_unix_file_name().
ntdll: Add a lock around the get_dir_case_sensitivity_attr() fs_cache.
ntdll: Use *at() functions in get_dir_case_sensitivity().
ntdll: Stop using chdir() in nt_to_unix_file_name().
Connor McAdams (8):
d3dx9/tests: Add tests for ID3DXEffect::SetRawValue().
d3dx9: Partially implement ID3DXEffect::SetRawValue().
d3dx9: Add support for setting 4x4 matrices in ID3DXEffect::SetRawValue().
d3dx9: Fixup return values for D3DXPT_BOOL parameters in ID3DXEffect::GetValue().
d3dx9: Add stubs for D3DXSaveVolumeToFile{A,W,InMemory}().
d3dx9/tests: Add tests for D3DXSaveVolumeToFile{A,W,InMemory}().
d3dx9: Implement D3DXSaveVolumeToFile{A,W,InMemory}().
d3dx9: Use D3DXSaveVolumeToFileInMemory() inside of D3DXSaveTextureToFileInMemory().
Dmitry Timoshkov (4):
prntvpt: PageImageableSize capabilities depend on page orientation.
wldap32: Also initialize idW.Flags field.
kerberos: Fix imported target name leak.
winex11.drv: Don't add MWM_DECOR_BORDER to windows without a caption.
Dylan Donnell (2):
ntdll: Return STATUS_ACCESS_VIOLATION from NtQueryInformationThread ThreadHideFromDebugger if *ret_len is not writable.
ntdll/tests: Add tests for ret_len on NtQueryInformationThread HideFromDebugger.
Elizabeth Figura (13):
wined3d: Avoid indexing a 2-element array by shader type.
wined3d: Invalidate bumpenv_constants in wined3d_stateblock_primary_dirtify_all_states().
wined3d: Bind video session memory.
d3d11: Implement GetDecoderBuffer() for metadata buffers.
d3d11: Implement GetDecoderBuffer() for bitstream buffers.
d3d11: Create a wined3d video decoder output view.
d3d11: Implement DecoderBeginFrame() and DecoderEndFrame().
advapi32: Move SystemFunction032 to cryptsp.
advapi32: Move lmhash functions to cryptsp.
advapi32: Merge crypt_lmhash.c into crypt_des.c.
advapi32: Move the remaining SystemFunction* functions to cryptsp.
advapi32: Move DES functions to cryptbase.
advapi32: Move the remaining SystemFunction* functions to cryptbase.
Ellington Santos (1):
wpcap: Implement pcap_set_immediate_mode.
Eric Pouech (28):
cmd: Fix regression in PAUSE test.
winedump: Use correct computation for first section out of a .DBG file.
winedump: Use correct field when dumping CodeView symbols.
winedump: Don't miss PDB_SYMBOL_RANGE* in PDB files.
winedump: Don't miss hash entries in PDB files.
winedump: Support more than 64K files in PDB DBI module source substream.
include: Remove flexible array member from PDB JG header.
winedump: Support dumping large PDB files (>4G).
dbghelp: Fix potential crash for old debug formats.
dbghelp: Support large PDB files (> 4G).
dbghelp: Store pointer to context instead of context.
dbghelp: Optimize vector allocation.
dbghelp: Simplify get_line_from_addr().
dbghelp: Support module lookup in SymEnumSourceFiles.
dbghelp: Factorize some code between type enumeration APIs.
dbghelp: Only store types with names in module.
dbghelp: Factorize function signature creation {dwarf}.
dbghelp: Introduce helper to match an ANSI string against a Unicode regex.
winedbg: Support more integral types in VARIANT for enum value.
dbghelp: Pass a VARIANT to add an enumeration entry.
dbghelp: Use VARIANT for storing enum values (pdb).
dbghelp: Store LEB128 encoded as 64bit entities (dwarf).
dbghelp: Introduce helper to fill in VARIANT (dwarf).
dbghelp: Fix debug information for C++ enumeration types (dwarf).
dbghelp: Add a couple of missing basic types for PDB.
dbghelp: Silence a couple of CodeView symbols.
dbghelp: Uniformize the two readers for PDB line information.
dbghelp: Only load line information when SYMOPT_LOAD_LINE is set.
Esme Povirk (10):
gdiplus: Reset X position before drawing hotkey underlines.
comctl32: Include only link items as IAccessible children.
comctl32: Implement get_accState for SysLink controls.
comctl32: Implement acc_getName for SysLink.
comctl32: Implement get_accDefaultAction for SysLink.
comctl32: Implement accLocation for SysLink.
comctl32: Implement get_accChildCount for SysLink.
comctl32: Implement accChild for SysLink.
comctl32: Implement IOleWindow for SysLink.
comctl32: Implement EVENT_OBJECT_VALUECHANGE for datetime control.
Hans Leidekker (7):
odbc32: Pass through result length pointers when PE/Unix pointer sizes are equal.
wpcap: Check for failure from pcap_dump_open().
wpcap: Fix Unix call in pcap_dump_close().
wpcap: Remove unneeded trace.
wpcap: Pass the dumper handle to pcap_dump().
wpcap: Correct params structure in wow64_dump_open().
wpcap: Fall back to a buffer copy if 32-bit mmap support is not available.
Jacek Caban (3):
rpcrt4: Don't validate buffer in NDR marshaler.
kernelbase: Factor out get_process_image_file_name.
kernelbase: Use ProcessImageFileNameWin32 in GetModuleFileNameExW.
Joe Souza (1):
cmd: Allow any key to continue past DIR /P pauses.
Kun Yang (1):
msvcrt: Add MSVCRT__NOBUF flag check in _filbuf to avoid dead loop in application which sets the flag.
Louis Lenders (2):
magnification: Add stub for MagUninitialize.
kernelbase: Add stub for GetCurrentApplicationUserModelId.
Marc-Aurel Zent (7):
include: Fix RTL_PATH_TYPE names.
ntdll: Implement RtlGetFullPathName_UEx.
include: Add thread priority constants.
ntdll/tests: Add tests for process and thread priority.
server: Infer process priority class in set_thread_priority.
server: Clarify between effective thread priority and class/level.
server: Rename thread priority to base_priority.
Matteo Bruni (8):
d3dx9: Load the D3DAssemble() function pointer from the proper DLL.
d3dx9/tests: Fix expected asm test results on version >= 42.
d3dcompiler/tests: Clean up temporary file after the test.
d3dx9_42: Generate an import library.
d3dx9/tests: Add d3dx9_42 tests.
d3dcompiler: Fix a few version-dependent error returns in D3DReflect().
d3dcompiler/tests: Add d3dcompiler_42 tests.
d3dx9/tests: Skip some shader tests if we can't create a D3D object.
Mohamad Al-Jaf (17):
include: Add robuffer.idl.
wintypes: Add IBufferFactory stub.
include: Add Windows.System.Profile.SystemIdentification definition.
windows.system.profile.systemid: Add stub dll.
windows.system.profile.systemid: Add ISystemIdentificationStatics stub.
windows.system.profile.systemid/tests: Add ISystemIdentificationStatics::GetSystemIdForPublisher() tests.
windows.system.profile.systemid: Partially implement ISystemIdentificationStatics::GetSystemIdForPublisher().
windows.system.profile.systemid/tests: Add ISystemIdentificationInfo::get_Source() tests.
windows.system.profile.systemid: Implement ISystemIdentificationInfo::get_Source().
wintypes/tests: Add IBufferFactory::Create() tests.
wintypes: Implement IBufferFactory::Create().
wintypes: Implement IBuffer::get_Capacity().
wintypes: Implement IBuffer::put_Length().
wintypes: Implement IBuffer::get_Length().
wintypes: Add IBufferByteAccess stub.
wintypes/tests: Add IBufferByteAccess::Buffer() tests.
wintypes: Implement IBufferByteAccess::Buffer().
Nikolay Sivov (12):
d3dx9/effect: Remove explicit objects pointer from the parsing helpers.
d3dx9/effect: Remove misleading trace message.
comctl32/tests: Run LVM_GETORIGIN tests on v6.
comctl32/tests: Add a test for LVM_GETORIGIN returned coordinate.
comctl32/listview: Invert origin coordinate for LVM_GETORIGIN.
comctl32/listview: Handle WM_VSCROLL(SB_TOP).
d3dx9/tests: Enable tests for d3dx9_35.dll.
comctl32/tests: Add a LVN_ENDLABELEDIT test with empty text.
comctl32/tests: Add a test for LVM_FINDITEM with LVS_OWNERDATA.
comctl32/listview: Use correct LVN_ODFINDITEM notification.
user32/edit: Block key input when mouse input is captured.
comctl32/edit: Block key input when mouse input is captured.
Paul Gofman (9):
ntdll/tests: Test NtCreateUserProcess() with limited access rights.
ntdll: Do not fail NtCreateUserProcess() if requested access doesn't have PROCESS_CREATE_THREAD.
win32u: Prevent remote drawing to ULW layered window.
setupapi: Fix buffer size passed to SetupDiGetDeviceInstanceIdW() in get_device_id_list().
setupapi: Increase id buffer size in get_device_id_list().
ntdll: Properly set context control registers from the other thread on wow64.
ntdll/tests: Test first trap address when setting trap flag in various ways.
ntdll: Fix setting trap flag with CONTEXT_CONTROL and instrumentation callback on x64.
ntdll: Set CONTEXT_CONTROL frame restore flag in sigsys_handler().
Piotr Caban (3):
advapi32: Fix environment parameter handling in CreateProcessWithLogonW.
include: Add imaxdiv declaration.
msvcr120: Add imaxdiv implementation.
Robert Lippmann (1):
winedump: Fix grep warning.
Roman Pišl (2):
kernel32/tests: Test ReplaceFileW with forward slashes.
kernelbase: Handle correctly paths with forward slashes in ReplaceFileW.
Rémi Bernon (15):
win32u: Don't set foreground window if window is minimized.
opengl32: Generate pointer offsets in the extension registry.
opengl32: Generate ALL_(WGL|GL|GL_EXT)_FUNCS macros and prototypes.
opengl32: Get rid of opengl_funcs internal structures.
opengl32: Use ALL_GL(_EXT)_FUNCS to generate opengl_funcs table.
opengl32: Stop generating wine/wgl_driver.h.
hidclass: Rename BASE_DEVICE_EXTENSION to struct device.
hidclass: Use HID_DEVICE_EXTENSION as base for fdo and pdo.
hidclass: Use a dedicated struct phys_device for PDOs.
hidclass: Use a dedicated struct func_device for FDOs.
hidclass: Avoid leaking input packet from the device thread.
winexinput: Remove pending IRPs on IRP_MN_REMOVE_DEVICE.
hidclass: Dispatch IRP_MN_SURPRISE_REMOVAL to the minidrivers.
hidclass: Wait for the pending IRP after thread shutdown.
winex11: Use -1 as fullscreen monitor indices to clear the property.
Sebastian Lackner (1):
win32u: Fix alpha blending in X11DRV_UpdateLayeredWindow.
Tim Clem (2):
imm32: Add a stub for CtfImmHideToolbarWnd.
win32u: Add a stub for NtUserIsChildWindowDpiMessageEnabled.
Vadim Kazakov (1):
ntdll: Print name for TOKEN_INFORMATION_CLASS.
Vibhav Pant (15):
winebth.sys: Remove the first 2 zero bytes after byte-swapping Bluetooth addresses.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_START_DISCOVERY.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_STOP_DISCOVERY.
bluetoothapis: Implement BluetoothFindFirstDevice and BluetoothFindDeviceClose.
bluetoothapis/tests: Add tests for BluetoothFindFirstDevice, BluetoothFindDeviceClose.
bluetoothapis: Implement BluetoothFindNextDevice.
bluetoothapis/tests: Add tests for BluetoothFindNextDevice.
bluetoothapis/tests: Use the correct file name while skipping tests when no radios are found.
bluetoothapis: Add a basic implementation for BluetoothGetDeviceInfo.
bluetoothapis/tests: Add tests for BluetoothGetDeviceInfo.
cfgmgr32: Add stub for CM_Unregister_Notification.
cfgmgr32/tests: Add basic tests for CM_(Un)Register_Notification.
dinput/tests: Add tests for CM_Register_Notification.
cfgmgr32: Implement CM_Register_Notification and CM_Unregister_Notification.
user32: Remove incorrect FIXME warning while registering for DBT_DEVTYP_HANDLE notifications.
Ziqing Hui (4):
winegstreamer: Assume stream type is always not NULL for media sink.
winegstreamer: Implement stream_sink_type_handler_GetMajorType.
winegstreamer: Implement stream_sink_type_handler_GetMediaTypeCount.
winegstreamer: Implement stream_sink_type_handler_GetMediaTypeByIndex.
```
The Wine development release 10.3 is now available.
What's new in this release:
- Clipboard support in the Wayland driver.
- Initial Vulkan video decoder support in WineD3D.
- Bundled Compiler-RT library for ARM builds.
- Header fixes for Winelib C++ support.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.3.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.3/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.3 (total 18):
- #3930 Miles Sound System (WAIL32.DLL) SuspendThread() deadlock in WINMM callback (silent black screen on HOMM startup)
- #8532 JawsEditor 2.5/3.0 reports "Invalid imagesize" on startup ('IPicture::SaveAsFile' method too stubby/incorrect)
- #38879 wbemprox fill_videocontroller calls are expensive
- #40523 legrand xlpro3 400 : unable to insert a pictogram
- #41427 [Game Maker Studio - Android] subst.exe is not implemented
- #45119 Multiple applications from Google sandbox-attacksurface-analysis-tools v1.1.x (targeting native API) need 'ntdll.NtGetNextProcess' implementation
- #50337 Roland Zenology Pro (VST3 plugin) used with carla-bridge fails to save files
- #50929 Silver Chains (GOG) crashes and start dumping memory in console
- #51121 HeidiSQL 11.0.0.5919 shows a blinking black screen and crashes without virtual desktop
- #52094 IDA Pro 7.6 crashes when loading idapython3.dll
- #56695 Unreal Engine game checks for a specific VC runtime regkey
- #57323 Windows 7 Card Games crash on start
- #57849 Multiple games: sleep accuracy is affected by mouse movement speed
- #57850 Reolink fails to load dll: err:module:import_dll Loading library libvips-42.dll
- #57854 Steam.exe fails to start (hangs upon loading) in Wine-10.2
- #57881 Wine10.2 Noble does not open Quicken 2004, qw.exe file
- #57899 R-Link 2 Toolbox crash
- #57903 kernel32:loader - test_export_forwarder_dep_chain fails on Windows 7
### Changes since 10.2:
```
Alexander Morozov (1):
wineusb.sys: Add support for URB_FUNCTION_VENDOR_ENDPOINT.
Alexandre Julliard (32):
ntdll: Fix pointer access in read_image_directory().
tomcrypt: Import code from upstream libtomcrypt version 1.18.2.
tomcrypt: Import code from upstream libtommath version 1.1.0.
bcrypt: Use the bundled tomcrypt library for hash algorithms.
ntdll: Use the bundled tomcrypt for the crc32 implementation.
rsaenh: Split encrypt and decrypt implementation functions.
rsaenh: Use the bundled tomcrypt to replace the local copy.
configure: Check that the 32- and 64-bit builds are using the same libdir.
ntdll: Add some missing Zw exports.
apisetschema: Add some new apisets, and old ones for recently added dlls.
dataexchange: Don't create an empty import lib.
makefiles: Import winecrt0 by default even with -nodefaultlibs.
tools: Avoid const strarray pointers in all functions.
include: Fix some invalid array definitions in PDB structures.
makefiles: Add support for assembly source files.
makefiles: Add support for optionally installing external libs.
libs: Import code from upstream compiler-rt version 8.0.1.
makefiles: Link to compiler-rt for builds in MSVC mode.
profapi: Don't create an empty importlib.
winedump: Fix dumping of empty values in version resources.
make_unicode: Generate the PostScript builtin font metrics.
wineps: Remove the old font generation code.
wineps: Move the generated glyph list to a separate glyphs.c file.
wineps: Update the glyph list to a more recent version.
wineps: Generate all core fonts metrics into a single file.
wineps: Reduce the size of the stored core fonts metrics data.
png: Import upstream release 1.6.47.
setupapi: Create fake dlls for missing dlls only if explicitly requested.
include: Import mmreg.h instead of duplicating definitions.
winegcc: PE targets always use msvcrt mode, remove redundant checks.
winegcc: Use -nodefaultlibs also for the linker tests.
winegcc: Merge the utility functions into the main file.
Alexandros Frantzis (8):
winewayland: Implement zwlr_data_control_device_v1 initialization.
winewayland: Support copying text from win32 clipboard to native apps.
winewayland: Generalize support for exporting clipboard formats.
winewayland: Support exporting various clipboard formats.
winewayland: Support copying data from native clipboard to win32 apps.
winewayland: Normalize received MIME type strings.
winewayland: Present EGL surfaces opaquely.
winewayland: Treat fully transparent cursors as hidden.
Alistair Leslie-Hughes (6):
include: Add Get/SetValue for gdiplus Color class.
include: Keep the same header order as SDK in gdiplus.h.
include: Add gdiplusbase.h.
include: Add a few sal.h defines.
include: Add stscanf_s define.
vbscript: Correct resource text for VBSE_PARAMETER_NOT_OPTIONAL.
Arkadiusz Hiler (1):
krnl386: Silence a warning in GetSystemDirectory16().
Attila Fidan (2):
winewayland: Update locked pointer position hint.
winewayland: Implement SetCursorPos via pointer lock.
Bernhard Kölbl (1):
wine.inf: Add VC runtime version key.
Bernhard Übelacker (11):
comctl32/tests: Skip a few tests in non-english locale.
user32/tests: Fix monitor dpi awareness test.
ntdll/tests: Skip FileFsFullSizeInformationEx test on older windows.
kernelbase/tests: Skip test if EnumSystemFirmwareTables is not available.
propsys/tests: Add broken for unexpected value in windows 7.
d2d1/tests: Adjust tolerance of a few float comparisons in windows 7.
ws2_32/tests: Allow WSAConnectByNameA test to fail with WSAEOPNOTSUPP.
propsys/tests: Fix check_PropVariantToBSTR2.
setupapi: Initialize the files member in SetupDuplicateDiskSpaceListW. (ASan).
setupapi/tests: Fix message of ok statement.
kernel32/tests: Add broken in test_IdnToNameprepUnicode.
Brendan McGrath (24):
mp3dmod/tests: Add tests for selecting an invalid stream.
mp3dmod: Check for invalid stream.
mp3dmod/tests: Add tests for GetInputCurrentType.
mp3dmod/tests: Add tests for GetOutputCurrentType.
mp3dmod: Implement GetInputCurrentType.
mp3dmod: Implement GetOutputCurrentType.
mp3dmod: Fix leak of previous outtype.
mfplat/tests: Add additional MFCreateWaveFormatExFromMFMediaType tests.
mfplat: Allow MF_MT_USER_DATA to be missing for all subtypes.
winedmo: Call avformat_find_stream_info for the mp3 format.
mp3dmod: Return S_OK in Allocate/Free Resources.
mp3dmod/tests: Add test for 32-bit sample size.
mp3dmod: Add support for 32-bit sample size.
mp3dmod/tests: Test different output sample rates.
mp3dmod: Return error if requested output format values don't agree.
mp3dmod: Only allow 1/2 and 1/4 subsampling.
mp3dmod/tests: Add test for nChannels = 0 on input.
mp3dmod: Ensure nChannels is greater than zero on input.
mf/tests: Test different length user_data against aac decoder.
winegstreamer: Validate the value of cbSize in aac decoder.
winegstreamer: Expand GST_ELEMENT_REGISTER* defines.
wined3d: Interpret Y'CbCr values as being from the reduced range.
mp3dmod: Implement an IMFTransform interface.
mfsrcsnk: Register the MP3 Byte Stream Handler class.
Brendan Shanks (9):
include: Add D3DKMT_WDDM_*_CAPS.
winemac: Remove pre-macOS 10.12 workarounds.
winemac: Always use notifications to detect window dragging.
winecoreaudio: Remove pre-macOS 10.12 workaround.
winegcc: Rename TOOL_ enum constants.
tools: Use _NSGetExecutablePath to implement get_bindir on macOS.
server: Use _NSGetExecutablePath to implement get_nls_dir on macOS.
loader: Use _NSGetExecutablePath to implement get_self_exe on macOS.
user32: Use the correct DPI in AdjustWindowRect(Ex) when DPI virtualization is active.
Charlotte Pabst (1):
winex11.drv: Weaken filter_event conditions for some events.
Connor McAdams (11):
d3dx9/tests: Add some more tests for saving surfaces as targa files.
d3dx9/tests: Add a test for saving a surface as D3DXIFF_DIB.
d3dx9/tests: Add tests for saving surfaces to non-DDS files.
d3dx9: Add TGA prefix to targa specific defines.
d3dx9: Add basic support for saving surfaces to targa files.
d3dx9: Add support for selecting a replacement pixel format when saving pixels to a file.
d3dx9: Add support for saving PNG files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving JPG files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving BMP files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving paletted pixel formats in d3dx_pixels_save_wic().
d3dx9: Add support for saving DIB files in d3dx_save_pixels_to_memory().
Conor McCarthy (4):
ntdll/tests: Test NtQueryVolumeInformationFile() with FileFsFullSizeInformationEx.
kernel32/tests: Test GetDiskSpaceInformationA().
ntdll: Handle FileFsFullSizeInformationEx in NtQueryVolumeInformationFile().
kernelbase: Implement GetDiskSpaceInformationA/W().
Daniel Lehman (3):
dwrite: Fix spelling for Sundanese.
xml2: Import upstream release 2.12.9.
xml2: Import upstream release 2.12.10.
Dmitry Timoshkov (7):
oleaut32/tests: Add some tests for loading and saving EMF using IPicture interface.
oleaut32: Add support for loading and saving EMF to IPicture interface.
oleaut32: Implement a better stub for IPicture::SaveAsFile.
wbemprox: Add support for Win32_PhysicalMemoryArray.
windowscodecs: Make support for WICBitmapTransformRotate270 more explicit.
kernel32: SuspendThread() in Win9x mode should return 0 for current thread.
advapi32: Add CreateProcessWithLogonW() semi-stub.
Elizabeth Figura (27):
d3dx9/tests: Define D3DX_SDK_VERSION=36 for d3dx9_36.
d3dx9/tests: Test implicit truncation warnings.
vkd3d: Import vkd3d-utils.
d3dcompiler: Use D3DPreprocess() from vkd3d-utils.
d3dcompiler: Use D3DCompile2VKD3D() from vkd3d-utils.
d3dx9: Reimplement D3DXCompileShader() for versions before 42.
d3dx9: Link versions 42 and 43 to the corresponding d3dcompiler DLL.
wined3d: Use a separate format value for d3d10+ NV12.
wined3d: Separate a wined3d_texture_vk_upload_plane() helper.
wined3d: Separate a wined3d_texture_vk_download_plane() helper.
wined3d: Implement planar Vulkan uploads.
wined3d: Implement planar Vulkan downloads.
wined3d: Implement planar Vulkan blits.
wined3d: Enable KHR_sampler_ycbcr_conversion.
wined3d: Implement planar NV12 in the Vulkan renderer.
d3d11/tests: Extend NV12 tests.
setupapi/tests: Test disk space list APIs.
setupapi: Get rid of the DISKSPACELIST typedef.
setupapi: Implement SetupAddToDiskSpaceList().
setupapi: Correctly implement SetupQuerySpaceRequiredOnDrive().
d3d11: Implement ID3D11VideoDevice::GetVideoDecoderProfile[Count]().
wined3d: Introduce a Vulkan decoder backend.
d3d11: Create a wined3d_decoder object backing the d3d11 decoder object.
wined3d: Look for a video decode queue.
wined3d: Create a Vulkan video session backing the wined3d_decoder_vk.
d3d9/tests: Expand the YUV blit tests a bit.
ddraw/tests: Port yuv_layout_test() from d3d9.
Eric Pouech (4):
findstr/tests: Add test for default findstr regex vs text search mode.
findstr: Set default search mode to regex.
findstr/tests: Always set text/regex search mode in tests.
cmd: Open file in 'TYPE' with more sharing attributes.
Esme Povirk (4):
gdiplus: Stub GdipGetEffectParameters.
gdiplus/tests: Add tests for effect parameters.
gdiplus: Split effect parameter size into helper function.
gdiplus: Store parameters on effect objects.
Etaash Mathamsetty (2):
ntdll: Implement NtGetNextProcess.
ntdll/tests: Add NtGetNextProcess tests.
Eugene McArdle (2):
ntdll/tests: Test updated NtQueryDirectoryFile mask reset behaviour.
ntdll: Invalidate cached data in NtQueryDirectoryFile when mask is changed.
Floris Renaud (1):
po: Update Dutch translation.
Giovanni Mascellani (8):
dxgi: Submit Vulkan presentation as soon as possible.
dxgi: Set the frame latency even when increasing the frame latency.
dxgi: Do not bias the frame latency fence.
dxgi: Directly signal the frame latency fence.
dxgi: Remove the frame latency fence.
dxgi: Make the frame latency waitable a semaphore.
dxgi: Wait on the frame latency semaphore when the client doesn't do it.
dxgi/tests: Use an explicit frame latency waitable when testing the back buffer index.
Hajo Nils Krabbenhöft (1):
d2d1: Update DC target surface with current HDC contents on BeginDraw().
Hans Leidekker (7):
subst: Add basic implementation.
win32u: Also set DriverVersion for software devices such as llvmpipe.
wbemprox: Don't use DXGI adapter values for Win32_SoundDevice.
wbemprox: Get Win32_VideoController values from the registry.
wmic: Treat VT_I4 values as unsigned.
wbemprox: Fix format string.
wbemprox/tests: Avoid test failures on Windows 7.
Haoyang Chen (2):
comctl32: Fix Alloc/HeapAlloc mismatches.
cryptnet: Uniform return value that is the same as _wfsopen.
Henri Verbeet (1):
wined3d: Handle a NULL "push_constants" buffer in glsl_fragment_pipe_alpha_test_func().
Jacek Caban (13):
winegcc: Don't include host include paths when compiling with MSVCRT.
include: Use inline function for DeleteFile.
include: Use wchar_t for platform types on PE targets.
include: Add UnsignedMultiply128 and _umul128 support.
include: Add ShiftRight128 and __shiftright128 support.
include: Use inline functions for CopyFile and MoveFile.
include: Use struct inheritance for MONITORINFOEX declaration in C++.
include: Add isnormal C++ declaration.
include: Introduce minwindef.h header file.
include: Introduce fibersapi.h header file.
include: Add missing d3d8types.h defines.
include: Introduce minwinbase.h header file.
include: Introduce sysinfoapi.h header file.
Jinoh Kang (10):
ntdll: Sink module dependency registration towards the end of the function in find_forwarded_export().
ntdll: Don't re-add a module dependency if it already exists.
ntdll: Register module dependency for export forwarders regardless of whether the dependency is already loaded.
ntdll: Properly track refcount on static imports of export forwarders.
ntdll: Eagerly call process_attach() on dynamic imports of export forwarders.
ntdll: Explicitly ignore dynamic (GetProcAddress) importers as relay/snoop user module.
ntdll: Properly track refcount on dynamic imports of export forwarders.
ntdll: Remove superflous NULL check for importer.
kernel32/tests: Fix thread handle leak in store_buffer_litmus_test.
kernel32/tests: Work around Windows 7 issuing DllNotification even when loading with DONT_RESOLVE_DLL_REFERENCES.
Louis Lenders (1):
ntdll: Silence the noisy FIXME in RtlGetCurrentProcessorNumberEx.
Mark Jansen (2):
version/tests: Add a test for an empty value in VerQueryValueW.
kernelbase: Fix VerQueryValueW with no data.
Mohamad Al-Jaf (1):
makecab: Add stub program.
Nikolay Sivov (24):
windowscodecs/gif: Store Image descriptor offset when reading GIF data.
windowscodecs/metadata: Add an option to initialize reader from a memory block.
windowscodecs/decoder: Separate metadata block reader to a reusable structure.
windowscodecs/decoder: Add support for metadata block reader at decoder level.
windowscodecs/decoder: Add support for IWICBitmapDecoder::CopyPalette() in common decoder.
windowscodecs: Use common decoder for GIF format.
windowscodecs/decoder: Reuse metadata readers instances.
windowscodecs/decoder: Implement metadata readers enumerator for the common decoder.
msxml3/tests: Remove tests that already run for msxml6.
msxml6/tests: Move some of the SAXXMLReader60 tests.
rtworkq: Fix private queue id mask check.
mfplat/tests: Run tests modifying process state in separate processes.
d2d1/tests: Add some tests for device context handling in the DC target.
include: Add some flags constants used in pipes API.
windowscodecs: Implement query strings enumerator.
windowscodecs/tests: Add some more tests for query enumeration.
windowscodecs/metadata: Do not decorate 'wstr' items with a type name in returned queries.
windowscodecs: Implement CreateQueryWriterFromReader().
windowscodecs/tests: Add some tests for stream position handling when nested readers are used.
windowscodecs/metadata: Restore original stream position on GetStream().
windowscodecs/metadata: Replicate original stream position when creating writer instances from readers.
windowscodecs/tests: Add some tests for metadata handler GetClassID().
windowscodecs/metadata: Implement GetClassID().
windowscodecs: Implement GetPreferredVendorGUID().
Paul Gofman (5):
ntdll: Add stub for RtlDeriveCapabilitySidsFromName().
ntdll/tests: Add tests for RtlDeriveCapabilitySidsFromName().
ntdll: Implement RtlDeriveCapabilitySidsFromName().
kernelbase: Implement DeriveCapabilitySidsFromName().
kernelbase/tests: Add test for DeriveCapabilitySidsFromName().
Piotr Caban (9):
msvcr120: Simplify feupdateenv implementation.
ole32: Mark property storage dirty in PropertyStorage_ConstructEmpty.
ole32: Mark property storage not dirty after it's saved.
ole32: Remove end label from PropertyStorage_WriteToStream.
ole32: Reset output stream when wrting property storage.
whoami: Return non-zero value on error.
whoami: Handle arguments starting with '/' and '-'.
whoami: Parse and validate all command line arguments.
whoami: Support format specifiers when handling /user argument.
Raphael Riemann (1):
kernelbase: Add WerRegisterCustomMetadata stub.
Rémi Bernon (29):
winevulkan: Generate function pointers for required funcs.
winevulkan: Enable the VK_EXT_headless_surface extension.
win32u: Pass a vulkan_instance pointer to vulkan_surface_create.
win32u: Use VK_EXT_headless_surface for nulldrv surface.
winex11: Initialize window managed flag in create_whole_window.
winex11: Request managed/embedded in a new window_set_managed helper.
winex11: Check managed window changes in WindowPosChanged.
winex11: Pass fullscreen flag to is_window_managed.
winewayland: Pass fullscreen flag to is_window_managed.
wined3d: Avoid double-free of swapchain surface on error.
include: Add a MB_CUR_MAX definition in ctype.h.
include: Add some _BitScanForward(64) declarations in intrin.h.
include: Fix InlineIsEqualGUID C++ warning.
include: Fix wmemchr C++ warning.
winetest: Avoid underflow when computing filtered output size.
win32u: Move OpenGL initialization to a separate source.
win32u: Move dibdrv OpenGL functions to opengl.c.
win32u: Move OSMesa OpenGL functions to opengl.c.
win32u: Remove unncessary OSMesa indirections.
win32u: Guard OpenGL function pointers initialization.
wineandroid: Remove now unnecessary wine_get_wgl_driver init guard.
winemac: Remove now unnecessary wine_get_wgl_driver init guard.
winex11: Remove now unnecessary wine_get_wgl_driver init guard.
winewayland: Remove now unnecessary wine_get_wgl_driver init guard.
include: Add IID_PPV_ARGS macro.
include: Add QueryDisplayConfig declaration.
include: Add d3d8 interface GUIDs.
include: Add D3D9 interface GUIDs.
include: Fix D3DDEVINFO_D3DRESOURCEMANAGER type name.
Sebastian Lackner (1):
oleaut32: Implement SaveAsFile for PICTYPE_ENHMETAFILE.
Tim Clem (1):
wbemprox: Add Manufacturer and Speed to Win32_PhysicalMemory.
Vadim Kazakov (1):
include: Add definition of NEGOSSP_NAME.
Vibhav Pant (15):
winebth.sys: Store known devices per radio from org.bluez.Device1 objects on BlueZ.
winebth.sys: Add a basic implementation for IOCTL_BTH_GET_DEVICE_INFO.
winebth.sys: Add connection related properties for remote devices.
winebth.sys: Queue a DEVICE_ADDED event on receiving InterfacesAdded for objects that implement org.bluez.Device1.
winebth.sys: Remove the corresponding device entry for Bluetooth radios on receiving InterfacesRemoved for org.bluez.Device1 objects.
winebth.sys: Use the correct DBus property name in IOCTL_WINEBTH_RADIO_SET_FLAG.
winebth.sys: Initially set numOfDevices to 0 in IOCTL_BTH_GET_DEVICE_INFO.
winebth.sys: Don't iterate over the remaining radios once a local device has been removed.
winebth.sys: Use the "Name" property of a BlueZ adapter for the local radio name.
winebth.sys: Use the "Trusted" property from BlueZ device objects to set BDIF_PERSONAL.
winebth.sys: Set the device class for remote devices from BlueZ's "Class" property.
winebth.sys: Only set the updated properties for local radios on BLUETOOTH_WATCHER_EVENT_TYPE_RADIO_PROPERTIES_CHANGED.
winebth.sys: Update properties for tracked remote devices on receiving PropertiesChanged for org.bluez.Device1 objects from BlueZ.
ws2_32: Implement WSAAddressToString() for Bluetooth (AF_BTH) addresses.
ws2_32/tests: Add tests for Bluetooth addresses for WSAStringToAddress().
William Horvath (2):
server: Use a high precision timespec directly for poll timeouts on supported platforms.
server: Use epoll_pwait2 for the main loop on Linux.
Yuxuan Shui (1):
winegstreamer: Avoid large buffer pushes in wg_transform.
Zhiyi Zhang (8):
imm32/tests: Test that the IME UI window shouldn't be above normal windows at creation.
imm32: Move the IME UI window to the bottom at creation.
d3d11/tests: Test that the fallback device window shouldn't be above normal windows at creation.
dxgi: Move the fallback device window to the bottom at creation.
winex11.drv: Allow MWM_FUNC_MAXIMIZE when WS_MAXIMIZE is present.
win32u: Use the normal window rectangle to find monitor when a window is minimized.
win32u: Remove an unused parameter.
win32u: Don't use the current mode in the registry if it's a detached mode.
Ziqing Hui (4):
mfreadwrite/tests: Move writer creation tests to test_sink_writer_create.
mfreadwrite/tests: Test getting transforms and media sinks from writer.
mfreadwrite/tests: Test AddStream and SetInputMediaType for writer.
mfreadwrite/tests: Test sample processing for writer.
```
The Wine development release 10.2 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.15.
- Support for setting thread priorities.
- New Wow64 mode can be enabled dynamically.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.2.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.2/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.2 (total 20):
- #25872 Guild Wars 'test system' doesn't show test results
- #39474 MSWT Kart 2004 does not work
- #50152 YOU and ME and HER: Game crashes after launching from game launcher
- #56260 16-bit Myst deadlocks when entering Book
- #56464 vbscript: Join() builtin is not implemented
- #56951 psql 16: unrecognized win32 error code: 127 invalid binary: Invalid argument / could not find a "psql.exe" to execute
- #57310 wineboot failed to initialize a wine prefix
- #57625 Regression: some fullscreen games are displayed incorrectly upon switching from and back to game window
- #57787 Final Fantasy XI Online crashes with unhandled page fault on launch
- #57793 Wine Wordpad started with blank screen
- #57795 cmd lacks support for right-to-left handle redirection (2<&1)
- #57803 Sekiro: Shadows Die Twice crashes at launch with Xbox One controller connected
- #57804 cmd: '@echo off' gets propagated to parent on CALL instruction (CALL seems to freezes)
- #57809 cmd: Incorrect substring expansion of last character (e.g. `!MY_STR:~1!`)
- #57810 ITextStream::WriteBlankLines() needs to be implemented for libxml2's configure.js to work
- #57817 mvscp90 ::std::ifstream::seekg(0) crashes
- #57819 Wine unable to start when built with binutils 2.44
- #57824 SetThreadPriority unexpectedly fails on terminated threads instead of no-op
- #57834 Cyberpunk 2077 doesn't load with CyberEngine Tweaks
- #57847 Cross-compiled Wine no longer installs a 'wine' loader binary
### Changes since 10.1:
```
Adam Markowski (1):
po: Update Polish translation.
Aida Jonikienė (1):
wined3d: Add DXT format mappings in the Vulkan renderer.
Alex Henrie (6):
urlmon/tests: Use wide character string literals.
advapi32/tests: Use wide character string literals.
setupapi: Use wide character string literals.
msxml3: Use wide character string literals.
krnl386: Add a WOWCallback16Ex flag to simulate a hardware interrupt.
mmsystem: Simulate a hardware interrupt in MMSYSTDRV_Callback3216.
Alexandre Julliard (31):
user32: Set last error on failed window enumeration.
server: Fix desktop access check for window enumeration.
ntdll: Add a helper function to retrieve the .so directory.
ntdll: Add a helper function to get the alternate 32/64-bit machine.
ntdll: Set the WINELOADER variable on the PE side, using a Windows path.
loader: Install the Wine loader in the Unix lib directory.
tools: Add a simpler Wine launcher in the bin directory.
tools: Move the loader man pages to the new Wine loader directory.
dbghelp: Always use the WINELOADER variable for the loader name.
ntdll: Disable file system redirection until the initial exe is loaded.
ntdll: Look for a builtin exe corresponding to the loader basename.
makefiles: Install binaries as symlinks to wine.
ntdll: Allow forcing new wow64 mode by setting WINEARCH=wow64.
ntdll: Move setting DYLD_LIBRARY_PATH on macOS to the loader.
makefiles: Create wine as a symlink to tools/wine/wine.
makefiles: Link to the wine loader in the tools directory if it was built.
makefiles: Generate the wow64 symlinks from makedep.
makefiles: Generate more of the re-configure rules from makedep.
make_unicode: Update timezone data source to version 2025a.
makefiles: Don't clean files in other directories.
png: Import upstream release 1.6.45.
lcms2: Import upstream release 2.17.
faudio: Import upstream release 25.02.
rsaenh: Use RtlGenRandom() directly.
rsaenh: Don't use printf.
vkd3d: Import upstream release 1.15.
lcms2: Allow creating a transform without specifying input/output formats.
server: Support an arbitrary number of PE sections.
ntdll: Support an arbitrary number of PE sections.
vkd3d: Update version number.
makefiles: Fix the distclean target to clean everything.
Alexandros Frantzis (1):
winewayland: Don't crash on text input done events without focus.
Anton Baskanov (1):
winedbg: Make crash dialog topmost.
Attila Fidan (4):
winewayland: Enable/disable the zwp_text_input_v3 object.
winewayland: Post IME update for committed text.
winewayland: Implement SetIMECompositionRect.
winewayland: Post IME update for preedit text.
Austin English (1):
mshtml: Add registry association for .log files.
Bernhard Übelacker (3):
wbemprox: Increase buffer size one iteration earlier (ASan).
ntdll/tests: Skip leap secondInformation test with older Windows versions.
msvcrt/tests: Add missing parameter pmode to _open call (ASan).
Biswapriyo Nath (3):
include: Add UI Automation Style ID definitions.
include: Add IWiaDevMgr2 definition in wia_lh.idl.
include: Add missing structures for wiadef.h in wia_lh.idl.
Brendan McGrath (3):
winedmo: Explicitly set 'Data1' value for VP9 GUID.
mf/tests: Add tests using a new WMV decoder MFT.
winegstreamer: Store and use previous WMV stride value.
Brendan Shanks (2):
configure: MacOS is always darwin*.
winecoreaudio: Avoid duplicate Program Change or Channel Aftertouch MIDI messages.
Connor McAdams (2):
quartz/tests: Add a test for resetting stream position after receiving EC_COMPLETE.
quartz/filtergraph: Allow changing stream position after receiving EC_COMPLETE.
Conor McCarthy (16):
mfplat/tests: Test putting work on an undefined queue id.
rtworkq/tests: Test putting work on an undefined queue id.
rtworkq: Support putting work on RTWQ_CALLBACK_QUEUE_UNDEFINED.
rtworkq: Support putting work on any id in RTWQ_CALLBACK_QUEUE_PRIVATE_MASK.
mfplat/tests: Introduce a helper to check the platform lock count.
mfplat/tests: Test mixing of MF platform functions with their Rtwq equivalents.
mfplat/tests: Test platform startup and lock counts.
rtworkq/tests: Test work queue.
rtworkq: Introduce a platform startup count.
rtworkq: Introduce an async result object cache.
mfplat: Free the inner cookie passed to resolver_create_cancel_object().
mfplat/tests: Release callback2 in test_event_queue().
mfplat/tests: Check for async result release after canceling work and shutting down.
rtworkq/tests: Test scheduled items.
rtworkq/tests: Test queue shutdown with pending items.
rtworkq: Do not cancel pending callbacks when closing a thread pool.
Damjan Jovanovic (2):
scrrun: Implement ITextStream::WriteBlankLines().
cmd: Add support for right-to-left handle redirection (2<&1).
Dmitry Timoshkov (17):
windowscodecs/tests: Add some tests for IWICBitmapFlipRotator.
windowscodecs: Implement IWICBitmapFlipRotator(WICBitmapTransformFlipHorizontal) for bitmaps with bpp >= 8.
windowscodecs: Implement IWICBitmapFlipRotator(WICBitmapTransformRotate90) for bitmaps with bpp >= 8.
windowscodecs: Simplify a bit FlipRotator_CopyPixels() implementation.
wldap32: Enable libldap tracing with +wldap32 channel.
wldap32: Don't use win32 constant when calling into libldap.
oleaut32: Fix logic for deciding whether type description follows the name.
oleaut32: 'typekind' is the last field of SLTG_OtherTypeInfo structure.
oleaut32: Implement decoding of SLTG help strings.
oleaut32: Add support for decoding SLTG function help strings.
oleaut32: Add support for decoding SLTG variable help strings.
oleaut32: Make OleLoadPicture load DIBs using WIC decoder.
server: Add support for merging WM_MOUSEWHEEL messages.
oleaut32: Add missing fixup for SLTG typename offset.
oleaut32: Avoid double initialization of TypeInfoCount when reading SLTG typelib.
gdiplus: Add support for more image color formats.
gdiplus/tests: Add some tests for loading TIFF images in various color formats.
Elizabeth Figura (9):
shdocvw: Remove ParseURLFromOutsideSource() implementation.
shdocvw: Remove URLSubRegQueryA() implementation.
wined3d: Propagate a CLEARED location when blitting.
wined3d: Explicitly check for BUFFER/SYSMEM before calling wined3d_texture_download_from_texture().
wined3d: Introduce initial support for Direct3D 10+ 2-plane formats.
wined3d: Forbid creating unaligned planar textures.
wined3d: Forbid unaligned blits for planar textures.
wined3d: Implement creating views of planar resources.
d3d11: Implement D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT.
Eric Pouech (4):
cmd/tests: Add tests about echo mode persistence across batch calls.
cmd: Preserve echo mode across interactive batch invocation.
cmd/tests: Add tests wrt. variable expansion with substring modifition.
cmd: Fix substring substitution in variable expansion.
Esme Povirk (4):
comctl32: Test for an IAccessible interface on SysLink controls.
comctl32: Further testing of SysLink IAccessible.
comctl32: Stub IAccessible interface for SysLink controls.
comctl32: Implement accRole for SysLink controls.
Francis De Brabandere (1):
vbscript: Add Join implementation.
Gabriel Ivăncescu (2):
mshtml: Clear the documents list when detaching inner window.
jscript: Use as_jsdisp where object is known to be a jsdisp.
Gijs Vermeulen (1):
winegstreamer: Implement IWMSyncReader2::GetMaxOutputSampleSize.
Hans Leidekker (1):
sort: Support /+n option.
Jacek Caban (11):
ntdll: Pass WINE_MODREF to import_dll.
ntdll: Pass importer pointer to find_ordinal_export.
ntdll: Pass importer pointer to find_named_export.
ntdll: Pass importer pointer to find_forwarded_export.
ntdll: Pass importer pointer to build_import_name.
ntdll: Use NULL importer in LdrGetProcedureAddress.
ntdll: Remove no longer needed current_modref.
msvcp: Avoid explicitly aligning structs passed by value.
msvcp60: Avoid explicitly aligning structs passed by value.
ntdll: Use signed type for IAT offset in LdrResolveDelayLoadedAPI.
winebuild: Avoid using .idata section for delay-load import libraries.
Jinoh Kang (11):
server: Don't fail SetThreadPriority() on terminated threads.
kernel32/tests: Add a basic FlushProcessWriteBuffers stress test.
kernel32/tests: Add a store buffering litmus test involving FlushProcessWriteBuffers.
include: Fix ReadNoFence64 on i386.
server: Fix incorrect usage of __WINE_ATOMIC_STORE_RELEASE in SHARED_WRITE_BEGIN/SHARED_WRITE_END.
include: Prevent misuse of __WINE_ATOMIC_* helper macros for non-atomic large accesses.
kernel32/tests: Add basic tests for internal flags of modules loaded with DONT_RESOLVE_DLL_REFERENCES.
kernel32/tests: Test for unexpected LDR_PROCESS_ATTACHED flag in import dependency loaded with DONT_RESOLVE_DLL_REFERENCES.
kernel32/tests: Test for unexpected loader notification for import dependency loaded with DONT_RESOLVE_DLL_REFERENCES.
ntdll: Skip DLL initialization and ldr notification entirely if DONT_RESOLVE_DLL_REFERENCES is set.
ntdll: Remove redundant LDR_DONT_RESOLVE_REFS checks before calling process_attach().
Joe Souza (3):
cmd/tests: Add tests for command DIR /O.
cmd: Cleanup DIR /O logic.
cmd: Implement ability to abort lengthy directory operations via Ctrl-C.
Marc-Aurel Zent (5):
server: Also set thread priorities upon process priority change.
kernel32/tests: Setting process priority on a terminated process should succeed.
server: Implement apply_thread_priority on macOS for application priorities.
server: Implement apply_thread_priority on macOS for realtime priorities.
server: Apply Mach thread priorities after process tracing is initialized.
Martin Storsjö (2):
ntdll: Allow running arm/aarch64 in (old) wow64 mode.
server: Include ARMNT as one of the supported architectures on aarch64.
Michele Dionisio (2):
timeout: Add a timeout command.
timeout/tests: Add minimal test suite.
Mohamad Al-Jaf (14):
windows.web/tests: Remove superfluous cast.
windows.web/tests: Add IJsonValue::get_ValueType() tests.
windows.web: Implement IJsonValue::get_ValueType().
windows.web: Partially implement IJsonValueStatics::Parse().
windows.web: Add error handling in IJsonValue::GetArray().
windows.web: Add error handling in IJsonValue::GetObject().
windows.web: Implement IJsonValue::GetString().
windows.web: Implement IJsonValue::GetNumber().
windows.web: Implement IJsonValue::GetBoolean().
windows.web/tests: Add IJsonValueStatics::Parse() tests.
include: Reorder windows.storage.stream classes.
windows.storage: Add stub dll.
windows.storage: Move RandomAccessStreamReference class from wintypes.
windows.storage: Add error handling in IRandomAccessStreamReferenceStatics::CreateFromStream().
Nikolay Sivov (41):
windowscodecs: Implement CreateMetadataWriter().
windowscodecs/metadata: Create nested writer instances when loading IFD data.
windowscodecs/metadata: Add a stub for WICApp1MetadataWriter.
windowscodecs: Filter options in CreateMetadataWriter().
windowscodecs/metadata: Add initial implementation of CreateMetadataWriterFromReader().
windowscodecs/tests: Add an item enumeration test for the App1 reader.
windowscodecs/metadata: Implement SetValue().
maintainers: Add myself to the scrrun.dll section.
wbemprox: Fix a memory leak while filling Win32_PnPEntity fields.
windowscodecs/metadata: Recursively create nested writers in CreateMetadataWriterFromReader().
windowscodecs/tests: Use generic block writer for testing.
windowscodecs/tests: Add some tests for querying nested readers in App1 format.
windowscodecs/tests: Add some tests for the query writer used on App1 data.
windowscodecs/metadata: Handle nested metadata handlers lookup by CLSID.
windowscodecs/tests: Add a top level block enumerator for the test block writer.
windowscodecs/tests: Add some tests for handler objects enumerator.
windowscodecs: Add missing traces to the IWICEnumMetadataItem implementation.
msi: Avoid invalid access when handling format strings.
windowscodecs/tests: Add some query tests with the Unknown reader.
windowscodecs/metadata: Share implementation between query reader and writer objects.
windowscodecs/tests: Add some tests for CreateQueryWriter().
windowscodecs/tests: Add query reader tests for live block reader updates.
windowscodecs/tests: Add some tests for CreateQueryWriterFromReader().
windowscodecs/tests: Add some tests for the query reader container format.
windowscodecs/metadata: Use VT_LPWSTR type instead of BSTRs when parsing queries.
windowscodecs/metadata: Collect query components before assigning values.
windowscodecs/metadata: Add a helper to parse query index syntax.
windowscodecs/metadata: Use separate helpers to parse query items.
windowscodecs/metadata: Handle empty items in queries.
windowscodecs/metadata: Return query writer object from GetMetadataByName() when block writer is used.
windowscodecs/metadata: Base returned query handlers on metadata handlers.
windowscodecs: Implement CreateQueryWriter().
windowscodecs/tests: Add some tests for default metadata item set.
windowscodecs/metadata: Add flags mask to configure builtin handlers.
windowscodecs/metadata: Implement removing items with IWICMetadataWriter.
windowscodecs/tests: Add some tests for RemoveMetadataByName().
windowscodecs/metadata: Implement RemoveMetadataByName().
windowscodecs/tests: Remove WinXP workarounds from png metadata test.
windowscodecs/tests: Move non-specific CreateQueryReaderFromBlockReader() tests to a separate function.
windowscodecs/tests: Add a test for reader instances returned from the decoder.
windowscodecs: Remove TGA decoder.
Paul Gofman (24):
user32/tests: Test system generated WM_MOUSEMOVE with raw input.
server: Ignore WM_MOUSEMOVE with raw input / RIDEV_NOLEGACY.
dwmapi: Sleep in DwmFlush().
ntoskrnl.exe/tests: Open directory object with nonzero access in test_permanent().
httpapi: Don't open files with zero access.
kernel32: Don't open reg keys with zero access mask.
setupapi: Don't open reg keys with zero access mask.
devenum: Don't open reg keys with zero access mask.
quartz: Don't open reg keys with zero access mask.
wbemprox: Don't open reg keys with zero access mask.
shell32: Don't open reg keys with zero access mask.
server: Check for zero access in alloc_handle().
include: Add cfgmgr ID list filter constants.
setupapi: Implement CM_Get_Device_ID_List[_Size]W().
setupapi: Implement CM_Get_Device_ID_List[_Size]A().
setupapi: Make device instance handlers persistent.
setupapi: Implement CM_Locate_DevNode[_Ex]{A|W}().
winex11.drv: Sort Vulkan physical devices in get_gpu_properties_from_vulkan().
win32u: Sort Vulkan physical devices in get_vulkan_gpus().
crypt32/tests: Add test for chain engine cache update.
crypt32: Lock store in MemStore_deleteContext().
crypt32: Do not temporary delete contexts in I_CertUpdateStore().
crypt32: Only sync registry store if registry has changed.
crypt32: Resync world store for default engines in get_chain_engine().
Rémi Bernon (11):
win32u: Introduce a new add_virtual_mode helper.
win32u: Pass host enumerated display modes to get_virtual_modes.
win32u: Keep virtual screen sizes in a SIZE array.
win32u: Introduce a new get_screen_sizes helper.
win32u: Check generated sizes with the maximum display mode.
win32u: Generate fake resolution list from the host modes.
win32u: Generate modes for the host native frequency.
server: Introduce a new find_mouse_message helper.
winetest: Ignore success and color codes in tests output limit.
win32u: Drop now unnecessary WM_WINE_DESKTOP_RESIZED internal message.
winex11: Delay changing window config if win32 side is still minimized.
Sven Baars (2):
win32u: Fix an uninitialized variable warning on GCC 10.
winegstreamer: Fix a compiler warning with GStreamer 1.18 or lower.
Torge Matthies (2):
ntdll: Add sys_membarrier-based implementation of NtFlushProcessWriteBuffers.
ntdll: Add thread_get_register_pointer_values-based implementation of NtFlushProcessWriteBuffers.
Vibhav Pant (10):
winebth.sys: Don't call dbus_pending_call_set_notify with a NULL pending call.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_SET_FLAG.
winebth.sys: Call bluez_watcher_close as part of bluetooth_shutdown.
bluetoothapis: Add stub for BluetoothEnableIncomingConnections.
bluetoothapis/tests: Add tests for BluetoothEnableIncomingConnections.
bluetoothapis: Implement BluetoothEnableIncomingConnections.
bluetoothapis: Add stub for BluetoothEnableDiscovery.
bluetoothapis/tests: Add tests for BluetoothEnableDiscovery.
bluetoothapis: Implement BluetoothEnableDiscovery.
winebth.sys: Free Unix handle to the local radio after updating its properties.
Wei Xie (1):
http.sys: Avoid crashes in complete_irp() if http header value is space.
Zhiyi Zhang (17):
prntvpt: Add a missing return (Coverity).
ntdll: Implement RtlEnumerateGenericTableWithoutSplaying().
ntdll/tests: Add RtlEnumerateGenericTableWithoutSplaying() tests.
ntdll: Implement RtlEnumerateGenericTable().
ntdll/tests: Add RtlEnumerateGenericTable() tests.
ntdll: Implement RtlGetElementGenericTable().
ntdll/tests: Add RtlGetElementGenericTable().
user32/tests: Test TME_LEAVE when the cursor is not in the specified tracking window.
win32u: Post WM_MOUSELEAVE immediately when the cursor is not in the specified tracking window.
include: Add D3DKMT_DRIVERVERSION.
gdi32/tests: Add D3DKMTQueryAdapterInfo() tests.
win32u: Support KMTQAITYPE_CHECKDRIVERUPDATESTATUS for NtGdiDdDDIQueryAdapterInfo().
win32u: Support KMTQAITYPE_DRIVERVERSION for NtGdiDdDDIQueryAdapterInfo().
winex11.drv: Go though WithdrawnState when transitioning from IconicState to NormalState.
d2d1: Add D2D1ColorMatrix effect stub.
d2d1: Add D2D1Flood effect stub.
d3d11/tests: Test D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT feature.
```
The Wine development release 10.1 is now available.
What's new in this release:
- A wide range of changes that were deferred during code freeze.
- Root certificates fixes for Battle.net.
- Print Provider improvements.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.1.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.1 (total 35):
- #27245 Internet Settings security zones not i18n-ed
- #35981 Battlefield: Bad Company 2 (Russian locale) updater has missing glyphs
- #39576 Sound in StarCraft 2 breaks after
- #39733 OpenGL Extensions Viewer 4.x (.NET 4.0 app) fails to start with Wine-Mono
- #41342 Build with winegcc is not reproducible
- #46580 HoMM3 WOG: can't enter russian text speaking with sphynx
- #46702 GNUTLS_CURVE_TO_BITS not found
- #52221 GameMaker 8: Missing sound effects
- #53644 vbscript can not compile classes with lists of private / public / dim declarations
- #54752 RUN Moldex3D Viewer will Crash
- #55155 Telegram can not be run in latest version wine, but ok in wine6.0.4
- #56530 Final Fantasy XI Online: Memory leak when Wine is built with CFLAGS="-g -mno-avx".
- #56559 iologo launcher cannot download setup program
- #56658 When using Kosugi for vertical writing, some punctuation marks are not placed correctly.
- #56703 Crash when installing Rhinoceros 8.6
- #56876 Paint Tool SAIv2 VirtualAlloc invalid address on commit
- #57191 Flickering image on Video-surveilance-Software
- #57338 wine-gecko/wine-mono don't cache their installers if using a username with unicode characters
- #57360 Wrong Combobox dropdown in 7zFM
- #57529 reMarkable application crash on new winehq-devel 10 RC1
- #57563 vbscript: mid() throws when passed VT_EMPTY instead of returning empty string
- #57626 SteuerErklarung 2025 halts: windows 8 is not compatible
- #57650 osu! stable: Insert key to minimize to tray does not hide game window (regression)
- #57664 New problems with SudoCue under Win 10.0 rc5
- #57675 err:virtual:virtual_setup_exception stack overflow 3072 bytes addr 0x7bd5b54c stack 0x81100400
- #57689 Menus misplaced on X11 when using dual monitor with right monitor as primary
- #57690 .NET Framework 4.8 installer hangs
- #57692 No context menu in Reason (DAW)
- #57698 Reason's (DAW) dialog windows stopped registering mouse events and open at screen's right edge
- #57704 Compile Error since 10.0rc5+
- #57710 Cannot open main menu via keyboard in Reason (DAW)
- #57711 The 32-bit wpcap program has a stack leakage issue
- #57766 Win3_BIOS most likely should be Win32_BIOS instead
- #57787 Final Fantasy XI Online crashes with unhandled page fault on launch
- #57794 WinHTTP implementation assumes HTTP response has a status text
### Changes since 10.0:
```
Akihiro Sagawa (2):
gdi32/tests: Add tests for script-independent vertical glyph lookup.
win32u: Use the first vertical alternates table regardless of script.
Alex Henrie (20):
concrt140: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
msvcirt: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
msvcp60: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
msvcp90: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
msvcrt: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
ntdll: Return an error if count is zero in NtRemoveIoCompletionEx.
shell32/tests: Add tests for StrRetToStrN null termination.
shlwapi: Correct return value of StrRetToBuf on an invalid type.
shell32: Use StrRetToBuf instead of reimplementing it.
comdlg32: Use StrRetToBuf instead of reimplementing it.
hhctrl: Fix spelling of "local" in OnTopicChange.
tapi32: Use wide character string literals.
winhlp32: Use wide character string literals.
shlwapi: Use wide character string literals.
cryptui: Use wide character string literals.
hhctrl: Use wide character string literals.
urlmon: Make security zone names and descriptions translatable.
ieframe: Use wide character string literals.
hhctrl: Fix window class name in HH_CreateHelpWindow.
hhctrl: Make "Select Topic" window title translatable.
Alexandre Julliard (39):
shell32: Move some function prototypes to shlwapi.h.
winedump: Dump MUI resources.
wrc: Remove the unused res_count structure.
include: Mark global asm functions as hidden.
kernel32: Implement RegisterWaitForInputIdle().
wineps: Don't store the glyph name or encoding for individual glyphs.
wineps: Don't parse the glyph name or encoding when loading AFM files.
wineps: Remove some unused AFM values.
wineps: Use simple strings for glyph names.
win32u: Implement NtUserDestroyCaret().
win32u: Implement NtUserReleaseCapture().
win32u: Implement NtUserGetThreadState().
win32u: Implement NtUserCreateMenu() and NtUserCreatePopupMenu().
win32u: Implement NtUserEnumClipboardFormats().
win32u: Implement NtUserMessageBeep().
win32u: Implement NtUserPostQuitMessage().
win32u: Implement NtUserRealizePalette().
win32u: Implement NtUserReplyMessage().
win32u: Implement NtUserSetCaretBlinkTime().
win32u: Implement NtUserSetCaretPos().
win32u: Implement NtUserSetProcessDefaultLayout().
win32u: Implement NtUserGetClipCursor().
win32u: Implement NtUserArrangeIconicWindows().
win32u: Implement NtUserDrawMenuBar().
win32u: Implement NtUserGetWindowContextHelpId().
win32u: Implement NtUserSetProgmanWindow() and NtUserSetTaskmanWindow().
win32u: Implement NtUserEnableWindow().
win32u: Implement NtUserSetWindowContextHelpId().
win32u: Implement NtUserShowOwnedPopups().
win32u: Implement NtUserUnhookWindowsHook().
win32u: Implement NtUserValidateRgn().
winedbg: Remove unneeded wrap around checks.
winegcc: Always specify the output file name when there's no spec file.
kernel32/tests: Remove some workarounds for old Windows versions.
kernel32/tests: Add tests for language-specific manifest lookup.
ntdll: Implement language-specific manifest lookup.
server: Do not allow creating mailslots with zero access.
server: Do not allow creating named pipes with zero access.
server: Skip non-accessible threads in NtGetNextThread().
Alexandros Frantzis (1):
winewayland: Round the Wayland refresh rate to calculate the win32 display frequency.
Arkadiusz Hiler (1):
jscript: Fix JSON.stringify for arrays longer than 10.
Bernhard Übelacker (1):
kernel32/tests: Match the value in the debug message the test condition.
Billy Laws (1):
ntdll: Detect kernel support before using ARM64 ID regs.
Brendan McGrath (2):
mfplat/tests: Add audio tests for MFInitMediaTypeFromAMMediaType.
mfplat: Add support for audio with NULL format to MFInitMediaTypeFromAMMediaType.
Brendan Shanks (2):
winemac: [NSWindow setAlphaValue:] must be called from the main thread.
winemac: [NSWindow contentView] must be called from the main thread.
Conor McCarthy (2):
mfsrcsnk: Release object queue objects on destruction.
mfsrcsnk: Release the async request popped sample after sending it.
Damjan Jovanovic (1):
user32: Copy the clipboard format iterator's position when cloning it.
Daniel Lehman (4):
msvcp140/tests: Add more tests for _Mtx_t.
msvcp140: Fix field order in _Mtx_t.
include: Add signbit declarations for c++.
msvcp140: Add padding to _Cnd_t.
Dean M Greer (2):
documentation: Mac OS X became macOS from 10.12.
readme: Update mac info section.
Dmitry Timoshkov (31):
wldap32: Avoid crashes in interact_callback() if defaults is NULL.
wldap32: Add stub for ldap_get_option(LDAP_OPT_GETDSNAME_FLAGS).
wldap32: Add stub for ldap_set_option(LDAP_OPT_GETDSNAME_FLAGS).
wldap32: Add stub for ldap_set_option(LDAP_OPT_PROMPT_CREDENTIALS).
wldap32: Add stub for ldap_set_option(LDAP_OPT_REFERRAL_CALLBACK).
prntvpt: Also initialize dmDefaultSource field.
prntvpt: Forward BindPTProviderThunk to PTOpenProviderEx.
prntvpt: Forward UnbindPTProviderThunk to PTCloseProvider.
prntvpt: Implement ConvertDevModeToPrintTicketThunk2.
prntvpt: Implement GetPrintCapabilitiesThunk2.
prntvpt: Implement ConvertPrintTicketToDevModeThunk2.
prntvpt: Prefer builtin.
prntvpt: Add version resource.
kerberos: Update sizes to match modern implementations.
secur32: Update max token size for Negotiate.
prntvpt: Implement writing PageMediaSize capabilities.
prntvpt: Implement writing PageImageableSize capabilities.
crypt32: Add support for CryptMsgControl(CMSG_CTRL_ADD_CERT) to a being decoded message.
crypt32: Add szOID_APPLICATION_CERT_POLICIES to the list of supported critical extensions.
crypt32: Ignore CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG and CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG in CryptFindOIDInfo().
crypt32: Add support for CryptMsgControl(CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR) to a being decoded message.
crypt32: Add support for CryptMsgGetParam(CMSG_ENCRYPTED_DIGEST) to a being decoded signed message.
crypt32: Add support for CryptMsgControl(CMSG_CTRL_DEL_CERT) to a being decoded message.
crypt32: CertVerifyCertificateChainPolicy() extensions are registered under "EncodingType 0" key.
crypt32: Do not reject key usage data longer than 1 byte.
compstui: Add more string resources.
netapi32: Add stubs for DsGetDcOpenA/W.
wldap32: Use correct host when connecting to Kerberos DC.
wldap32: ldap_init() should resolve NULL hostname to default Kerberos DC.
wldap32/tests: Add some tests for LDAP authentication to a Kerberos DC.
prntvpt: Use Windows 10 version numbers.
Ekaterine Papava (1):
po: Update Georgian translation.
Elizabeth Figura (21):
msi: Fix a spelling error in the name of MigrateFeatureStates.
wined3d: Feed WINED3D_RS_POINTSIZE through a push constant buffer.
wined3d: Implement point size in the HLSL FFP pipeline.
wined3d: Implement vertex blending in the HLSL FFP pipeline.
wined3d: Feed bumpenv constants through a push constant buffer.
wined3d: Implement bumpenv mapping in the HLSL FFP pipeline.
wined3d: Implement colour keying in the HLSL FFP pipeline.
wined3d: Bind the right push constant buffers when FFP is toggled.
wined3d: Use ps_compile_args in shader_spirv_compile_arguments.
wined3d/spirv: Implement flat shading.
wined3d/glsl: Move legacy alpha test to shader_glsl_apply_draw_state().
wined3d: Feed alpha ref through a push constant buffer.
wined3d/spirv: Implement alpha test.
d3d9: Fix IUnknown delegation in IDirect3DDevice9On12.
wined3d: Do not disable point sprite in wined3d_context_gl_apply_blit_state().
wined3d: Do not toggle point sprite.
wined3d: Remove the redundant per_vertex_point_size from vs_compile_args.
wined3d: Remove FOGVERTEXMODE handling from find_ps_compile_args().
d3d11/tests: Remove the workaround for RTVs in test_nv12().
wined3d: Use the correct pitch when downloading Vulkan textures.
wined3d: Factor out a get_map_pitch() helper.
Eric Pouech (3):
include: Add some new definitions for dbghelp.h.
include: Add a couple of definitions to mscvpdb.h.
include: Use flexible array-member in some structure declarations.
Esme Povirk (5):
gdiplus: AddClosedCurve always starts a new subpath.
gdiplus: GdipAddPathPie always starts a new figure.
appwiz.cpl: Account for unicode characters in XDG_CACHE_HOME.
user32/tests: Move a todo into the message sequence.
user32/tests: Account for Wine sometimes duplicating WM_PAINT.
Etaash Mathamsetty (3):
wine.inf: Add UBR key.
winecfg: Add support for UBR key.
twinapi.appcore/tests: Fix broken registry query.
Fabian Maurer (4):
mlang: In GetFontCodePages add another null check (Coverity).
include: Add IConnectionProfile2.
windows.networking.connectivity: Add IConnectionProfile2 stubs.
windows.networking.connectivity: Fake success for IsWwanConnectionProfile and IsWlanConnectionProfile.
Francis De Brabandere (1):
vbscript: Support multiple class declarations on a single line.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.307.
Hans Leidekker (9):
xcopy: Fix handling of quoted filenames.
wpcap: Fix callback signature.
wine.inf: Pass command line arguments to msiexec.
wbemprox: Read Win32_PnPEntity values from the registry.
wbemprox: Implement Win32_PnPEntity.Service.
wbemprox/tests: Fix typo.
wbemprox: Fix allocation size.
ntdll: Stub NtQuerySystemInformation(SystemLeapSecondInformation).
winhttp: Accept server response without status text.
Herman Semenov (1):
msvcrt: Add missing TRACE_ON check.
Jacek Caban (1):
wdscore: Don't export C++ symbols.
Jactry Zeng (7):
include: Don't import .idl when DO_NO_IMPORTS is defined.
wintypes/tests: Add interface tests.
wintypes: Reimplement Windows.Foundation.Metadata.{ApiInformation,PropertyValue} separately.
wintypes: Stub of Windows.Storage.Streams.DataWriter runtimeclass.
wintypes: Return S_OK from data_writer_activation_factory_ActivateInstance().
wintypes: Stub of Windows.Storage.Streams.RandomAccessStreamReference runtimeclass.
wintypes: Stub of IRandomAccessStreamReferenceStatics interface.
Jeff Smith (2):
windowscodecs: Make values returned from CanConvert consistent.
windowscodecs: Simplify png_decoder_get_metadata_blocks using realloc.
Jinoh Kang (3):
ntoskrnl.exe: Fix IRQL mismatch between cancel spin lock acquire and release.
kernel32/tests: Use win_skip() for missing PrefetchVirtualMemory API.
ntdll: Fix syscall_cfa offset in user_mode_abort_thread for ARM64.
Makarenko Oleg (2):
dinput/tests: Add more tests for force feedback.
dinput: Clamp FFB effect report value to the field range.
Marc-Aurel Zent (1):
server: Use setpriority to update thread niceness when safe.
Mohamad Al-Jaf (10):
windows.networking.hostname: Guard against WindowsDuplicateString() failure.
windows.ui: Stub IUISettings3::add_ColorValuesChanged().
windows.ui: Stub IUISettings3::remove_ColorValuesChanged().
windows.ui.xaml: Add stub dll.
windows.ui.xaml: Add IColorHelperStatics stub interface.
windows.ui.xaml/tests: Add IColorHelperStatics::FromArgb() tests.
windows.ui.xaml: Implement IColorHelperStatics::FromArgb().
include: Add d3d9on12.idl file.
d3d9: Implement Direct3DCreate9On12().
d3d9/tests: Add Direct3DCreate9On12() tests.
Nikolay Sivov (43):
oleaut32/tests: Use correct constants for IStream::Seek().
windowscodecs/tests: Use correct constants for IStream::Seek().
windowscodecs/metadata: Use correct constants for IStream::Seek().
windowscodecs/ddsformat: Use correct constants for IStream::Seek().
d2d1: Use correct constants for IStream::Seek().
dmloader: Use correct constants for IStream::Seek().
kernel32/tests: Use correct constants for SetFilePointer().
wintrust: Use correct constants for SetFilePointer().
storage: Use correct constants for SetFilePointer().
krnl386: Use correct constants for SetFilePointer().
shell32: Use correct constants for SetFilePointer().
dmloader: Use correct constants for SetFilePointer().
include: Update with newer Direct2D types.
include: Update with newer DirectWrite types.
propsys/tests: Add some tests for PropVariantChangeType(VT_UI4).
propsys: Implement PropVariantToStringAlloc(VT_UI2).
propsys: Implement PropVariantToStringAlloc(VT_I4).
propsys: Implement PropVariantToStringAlloc(VT_I2).
propsys: Implement PropVariantToStringAlloc(VT_I1).
propsys: Implement PropVariantToStringAlloc(VT_UI1).
propsys: Implement PropVariantToStringAlloc(VT_UI4).
propsys: Implement PropVariantToStringAlloc(VT_I8).
propsys: Implement PropVariantToStringAlloc(VT_UI8).
propsys: Remove FIXME() from PropVariantChangeType().
windowscodecs/metadatahandler: Implement GetPersistOptions().
windowscodecs/metadatahandler: Implement GetStream().
windowscodecs/metadata: Add registration information for the Gps reader.
windowscodecs/metadata: Add registration information for the Exif reader.
windowscodecs/metadata: Add initial implementation of the App1 reader.
po: Update some Russian strings.
windowscodecs: Move component info registry key cleanup to a common failure path.
windowscodecs: Move an hkey handle to the component info base structure.
windowscodecs: Add a stub for IWICMetadataWriterInfo.
windowscodecs/metadata: Add registration information for the "Unknown" writer.
windowscodecs/metadata: Add a stub for WICUnknownMetadataWriter.
windowscodecs/metadata: Add a stub for WICGpsMetadataWriter.
windowscodecs/metadata: Add a stub for WICExifMetadataWriter.
windowscodecs/metadata: Add a stub for WICIfdMetadataWriter.
windowscodecs: Fix a typo in metadata readers registration helper.
windowscodecs: Remove redundant guid-to-string conversion when writing readers registration entries.
winhttp: Check for the end of the text when stripping trailing newlines from headers (ASan).
gdiplus/tests: Extend a GdipGetPathGradientBlend() test with excessive output buffer size.
gdiplus: Use actual blend count for output copies in GdipGetPathGradientBlend() (ASan).
Paul Gofman (37):
crypt32: Factor out CRYPT_RegDeleteFromReg().
crypt32: Factor out CRYPT_SerializeContextToReg().
crypt32: Don't output the whole chains from check_and_store_certs().
crypt32: Do not use temporary store for updating root certificates.
crypt32: Do not delete root certs which were not imported from host in sync_trusted_roots_from_known_locations().
crypt32/tests: Add more tests for VerifyCertChainPolicy().
crypt32: Fix some error codes in verify_ssl_policy().
crypt32: Check CERT_TRUST_REVOCATION_STATUS_UNKNOWN instead of CERT_TRUST_IS_OFFLINE_REVOCATION in verify_ssl_policy().
crypt32: Favour CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG in verify_ssl_policy().
crypt32: Only mind end certificate when checking revocation status in verify_ssl_policy().
crypt32: Favour CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG in verify_ssl_policy().
crypt32: Use correct tag for OCSP basic response extensions.
crypt32: Use correct tag for OCSP single response extensions.
cryptnet: Retry OCSP request with POST if GET failed.
cryptnet: Do not perform OCSP requests with CERT_VERIFY_CACHE_ONLY_BASED_REVOCATION flag.
ntdll: Add NtConvertBetweenAuxiliaryCounterAndPerformanceCounter() function.
kernelbase: Add ConvertAuxiliaryCounterToPerformanceCounter() / ConvertPerformanceCounterToAuxiliaryCounter().
wine.inf: Add Explorer\FileExts registry key.
win32u: Generate mouse events in the server when releasing capture.
server: Don't send WM_MOUSEMOVE for zero movement in queue_mouse_message().
crypt32: Release cert context in CertDeleteCertificateFromStore().
crypt32: Factor out memstore_free_context() function.
crypt32: Don't try to release zero-refcount context in MemStore_addContext().
crypt32: Release existing cert context in add_cert_to_store().
crypt32: Only remove cert from mem store list when deleting it.
crypt32/tests: Add a test for deleting and adding certs during enumeration.
crypt32: Don't assert in Context_Release() on invalid refcount.
win32u: Nullify surface hwnd when detaching Vulkan surface.
win32u: Check for NULL hwnd before calling vulkan_surface_presented() driver callback.
win32u: Don't invalidate existing Vulkan surface when a new one is created for window.
winex11: Attach currently active Vulkan onscreen surface in vulkan_surface_update_offscreen().
crypt32/tests: Avoid use after free in testEmptyStore().
win32u: Implement NtUserGetCurrentInputMessageSource().
winex11: Update window shape before putting surface image.
winex11.drv: Pass visual to is_wxrformat_compatible_with_visual.
winex11.drv: Choose alpha-enabled xrender format for argb drawables.
ntdll: Zero terminate return string for NtQueryInformationProcess( ProcessImageFileName[Win32] ).
Piotr Caban (10):
propsys: Add PropVariantGetStringElem implementation.
ole32: Support all PROPVARIANT vector types in propertystorage_get_elemsize.
ole32: Update read offset in propertystorage_read_scalar helper.
ole32: Pass MemoryAllocator class to PropertyStorage_ReadProperty.
ole32: Support more vector datatypes when reading property storage.
ole32: Add support for reading VT_VECTOR|VT_VARIANT property.
ole32: Add support for reading VT_R4 property.
ole32: Fix IPropertyStorage::ReadMultiple return value when some properties are missing.
ole32: Set property storage clsid on creation.
msvcr120: Remove MSVCR120_ prefix from creal().
Piotr Morgwai Kotarbinski (2):
wined3d: Add Nvidia RTX30xx series desktop models data.
wined3d: Add Nvidia RTX40xx series desktop models data.
Rémi Bernon (5):
winex11: Allow Withdrawn requests to override Iconic <-> Normal transitions.
winex11.drv: Use get_win_data directly in X11DRV_GetDC.
server: Introduce new set_thread_priority helper.
ntdll: Set RLIMIT_NICE to its hard limit.
server: Check wineserver privileges on init with -20 niceness.
Sebastian Scheibner (2):
wineboot: Add dummy entry for SystemBiosDate.
explorerframe: Return S_OK in more ITaskbarList3 functions.
Shaun Ren (6):
sapi: Adding missing interfaces for SpStream.
sapi: Implement ISpStream::Set/GetBaseStream.
sapi: Implement ISpStream::Close.
sapi: Implement ISpStream::GetFormat.
sapi: Implement IStream methods for SpStream.
sapi: Remove some unnecessary traces.
Stefan Dösinger (6):
wined3d: Support WINED3DFMT_B5G5R5A1_UNORM in the Vulkan backend.
wined3d: Use VK_FORMAT_R4G4B4A4_UNORM_PACK16 for WINED3DFMT_B4G4R4A4_UNORM.
gdi32: Windows adds an extra 4 bytes to EMREXTCREATEPEN.
gdi32: Set EMREXTCREATEPEN offBmi and offBits.
gdi32: EMREXTCREATEPEN contains a 32 bit EXTLOGPEN.
gdi32/tests: Add an EMREXTCREATEPEN test.
Stéphane Bacri (4):
msvcr120: Fix _Cbuild signature.
msvcr120: Add cimag() implementation.
msvcr120: Add _FCbuild() implementation.
msvcr120: Add crealf() and cimagf() implementation.
Tim Clem (1):
imm32: Always validate the IME UI window when painting.
Vibhav Pant (6):
bluetoothapis/tests: Add tests for BluetoothGetRadioInfo.
bluetoothapis: Implement BluetoothGetRadioInfo.
bluetoothapis: Add stubs for BluetoothIsConnectable, BluetoothIsDiscoverable.
bluetoothapis/tests: Add tests for BluetoothIsConnectable, BluetoothIsDiscoverable.
bluetoothapis: Implement BluetoothIsConnectable.
bluetoothapis: Implement BluetoothIsDiscoverable.
William Horvath (2):
ntdll/tests: Add tests for NtDelayExecution and Sleep(Ex).
ntdll: Fix the return value of NtDelayExecution.
Yuxuan Shui (2):
dmime: Handle IStream EOF correctly in MIDI parser.
dmime: Connect default collection to MIDI bandtrack.
Zhiyi Zhang (32):
d2d1/tests: Add ID2D1Device2_GetDxgiDevice() tests.
d2d1: Remove an unnecessary cast in d2d_device_context_init().
d2d1: Implement d2d_device_GetDxgiDevice().
include: Add splay link tree helpers.
ntdll: Implement RtlSubtreePredecessor().
ntdll/tests: Add RtlSubtreePredecessor() tests.
ntdll: Implement RtlSubtreeSuccessor().
ntdll/tests: Add RtlSubtreeSuccessor() tests.
ntdll: Implement RtlRealPredecessor().
ntdll/tests: Add RtlRealPredecessor() tests.
ntdll: Implement RtlRealSuccessor().
ntdll/tests: Add RtlRealSuccessor() tests.
win32u: Allocate a separate user buffer when packing a large WM_COPYDATA message for user32.
user32/tests: Add tests for WM_COPYDATA.
ntdll: Implement RtlSplay().
ntdll/tests: Add RtlSplay() tests.
ntdll: Implement RtlDeleteNoSplay().
ntdll/tests: Add RtlDeleteNoSplay() tests.
ntdll: Implement RtlDelete().
ntdll/tests: Add RtlDelete() tests.
light.msstyles: Use light blue as hot tracking color instead of grey.
include: Fix PRTL_GENERIC_ALLOCATE_ROUTINE prototype.
ntdll/tests: Add RtlInitializeGenericTable() tests.
ntdll/tests: Add RtlNumberGenericTableElements() tests.
ntdll: Implement RtlIsGenericTableEmpty().
ntdll/tests: Add RtlIsGenericTableEmpty() tests.
ntdll: Implement RtlInsertElementGenericTable().
ntdll: Implement RtlDeleteElementGenericTable().
ntdll/tests: Add RtlInsertElementGenericTable() tests.
ntdll/tests: Add RtlDeleteElementGenericTable() tests.
ntdll: Implement RtlLookupElementGenericTable().
ntdll/tests: Add RtlLookupElementGenericTable() tests.
Zsolt Vadasz (1):
ntdll: Add a character map name for Shift JIS.
```
The Wine team is proud to announce that the stable release Wine 10.0
is now available.
This release represents a year of development effort and over 6,000
individual changes. It contains a large number of improvements that
are listed below. The main highlights are the new ARM64EC
architecture and the high-DPI scaling support.
The source is available at <https://dl.winehq.org/wine/source/10.0/wine-10.0.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.0/AUTHORS
## What's new in Wine 10.0
### ARM64
- The ARM64EC architecture is fully supported, with feature parity with the
ARM64 support.
- Hybrid ARM64X modules are fully supported. This allows mixing ARM64EC and
plain ARM64 code into a single binary. All of Wine can be built as ARM64X
by passing the `--enable-archs=arm64ec,aarch64` option to configure. This
still requires an experimental LLVM toolchain, but it is expected that the
upcoming LLVM 20 release will be able to build ARM64X Wine out of the box.
- The 64-bit x86 emulation interface is implemented. This takes advantage of
the ARM64EC support to run all of the Wine code as native, with only the
application's x86-64 code requiring emulation.
No emulation library is provided with Wine at this point, but an external
library that exports the emulation interface can be used, by specifying
its name in the `HKLM\Software\Microsoft\Wow64\amd64` registry key. The
[FEX emulator][4] implements this interface when built as ARM64EC.
- It should be noted that ARM64 support requires the system page size to be
4K, since that is what the Windows ABI specifies. Running on kernels with
16K or 64K pages is not supported at this point.
[4]: https://fex-emu.com
### Graphics
- High-DPI support is implemented more accurately, and non-DPI aware windows
are scaled automatically, instead of exposing high-DPI sizes to
applications that don't expect it.
- Compatibility flags are implemented to override high-DPI support, either
per-application or globally in the prefix.
- Vulkan child window rendering is supported with the X11 backend, for
applications that need 3D rendering on child windows. This was supported
with OpenGL already, and the Vulkan support is now on par.
- The Vulkan driver supports up to version 1.4.303 of the Vulkan spec. It
also supports the Vulkan Video extensions.
- Font linking is supported in GdiPlus.
### Desktop integration
- A new opt-in modesetting emulation mechanism is available. It is very
experimental still, but can be used to force display mode changes to be
fully emulated, instead of actually changing the display settings.
The windows are being padded and scaled if necessary to fit in the
physical display, as if the monitor resolution were changed, but no actual
modesetting is requested, improving user experience.
- A new Desktop Control Panel applet `desk.cpl` is provided, to inspect and
modify the display configuration. It can be used as well to change the
virtual desktop resolution, or to control the new emulated display
settings.
- Display settings are restored to the default if a process crashes without
restoring them properly.
- System tray icons can be completely disabled by setting `NoTrayItemsDisplay=1`
in the `HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer`
key.
- Shell launchers can be disabled in desktop mode by setting `NoDesktop=1`
in the `HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer`
key.
### Direct3D
- The GL renderer now requires GLSL 1.20, `EXT_framebuffer_object`, and
`ARB_texture_non_power_of_two`. The legacy ARB shader backend is no longer
available, and the `OffscreenRenderingMode` setting has been removed.
- Shader stencil export is implemented for the GL and Vulkan renderers.
- A HLSL-based fixed function pipeline for Direct3D 9 and earlier is
available, providing support for fixed function emulation for the Vulkan
renderer. It can also be used for the GL renderer, by setting the D3D
setting `ffp_hlsl` to a nonzero value using the registry or the
`WINE_D3D_CONFIG` environment variable.
- The Vulkan renderer uses several dynamic state extensions, if available,
with the goal of reducing stuttering in games.
- An alternative GLSL shader backend using vkd3d-shader is now available,
and can be selected by setting the D3D setting `shader_backend` to
`glsl-vkd3d`. Current vkd3d-shader GLSL support is incomplete relative to
the built-in GLSL shader backend, but is being actively developed.
### Direct3D helper libraries
- Initial support for compiling Direct3D effects is implemented using
vkd3d-shader.
- D3DX 9 supports many more bump-map and palettized formats.
- D3DX 9 supports saving palettized surfaces to DDS files.
- D3DX 9 supports mipmap generation when loading volume texture files.
- D3DX 9 supports reading 48-bit and 64-bit PNG files.
### Wayland driver
- The Wayland graphics driver is enabled by default, but the X11 driver
still takes precedence if both are available. To force using the Wayland
driver in that case, make sure that the `DISPLAY` environment variable is
unset.
- Popup windows should be positioned correctly in most cases.
- OpenGL is supported.
- Key auto-repeat is implemented.
### Multimedia
- A new opt-in FFmpeg-based backend is introduced, as an alternative to the
GStreamer backend. It is intended to improve compatibility with Media
Foundation pipelines. It is still in experimental stage though, and more
work will be needed, especially for D3D-aware playback. It can be enabled
by setting the value `DisableGstByteStreamHandler=1` in the
`HKCU\Software\Wine\MediaFoundation` registry key.
- Media Foundation multimedia pipelines are more accurately implemented, for
the many applications that depend on the individual demuxing and decoding
components to be exposed. Topology resolution with demuxer and decoder
creation and auto-plugging is improved.
- DirectMusic supports loading MIDI files.
### Input / HID devices
- Raw HID devices with multiple top-level collections are correctly parsed,
and exposed as individual devices to Windows application.
- Touchscreen input and events are supported with the X11 backend, and basic
multi-touch support through the `WM_POINTER` messages is
implemented. Mouse window messages such as `WM_LBUTTON*`, `WM_RBUTTON*`,
and `WM_MOUSEMOVE` are also generated from the primary touch events.
- A number of USER32 internal structures are stored in shared memory, to
improve performance and reduce Wine server load by avoiding server
round-trips.
- An initial version of a Bluetooth driver is implemented, with some basic
functionality.
- The Joystick Control Panel applet `joy.cpl` enables toggling some advanced
settings.
- The Dvorak keyboard layout is properly supported.
### Internationalization
- Locale data is generated from the Unicode CLDR database version 46. The
following additional locales are supported: `kaa-UZ`, `lld-IT`, `ltg-LV`,
and `mhn-IT`.
- Unicode character tables are based on version 16.0.0 of the Unicode
Standard.
- The timezone data is based on version 2024a of the IANA timezone database.
### Internet and networking
- The JavaScript engine supports a new object binding interface, used by
MSHTML to expose its objects in a standard-compliant mode. This eliminates
the distinction between JavaScript objects and host objects within the
engine, allowing scripts greater flexibility when interacting with MSHTML
objects.
- Built-in MSHTML functions are proper JavaScript function objects, and
other properties use accessor functions where appropriate.
- MSHTML supports prototype and constructor objects for its built-in
objects.
- Function objects in legacy MSHTML mode support the `call` and `apply`
methods.
- The JavaScript garbage collector operates globally across all script
contexts within a thread, improving its accuracy.
- JavaScript ArrayBuffer and DataView objects are supported.
### RPC / COM
- RPC/COM calls are fully supported on ARM platforms, including features
such as stubless proxies and the typelib marshaler.
- All generated COM proxies use the fully-interpreted marshaling mode on all
platforms.
### C runtime
- C++ exceptions and Run-Time Type Information (RTTI) are supported on ARM
platforms.
- The ANSI functions in the C runtime support the UTF-8 codepage.
### Kernel
- Process elevation is implemented, meaning that processes run as a normal
user by default but can be elevated to administrator access when required.
- Disk labels are retrieved from DBus when possible instead of accessing the
raw device.
- Mailslots are implemented directly in the Wine server instead of using a
socketpair, to allow supporting the full Windows semantics.
- Asynchronous waits for serial port events are reimplemented. The previous
implementation was broken by the PE separation work in Wine 9.0.
- The full processor XState is supported in thread contexts, enabling
support for newer vector extensions like AVX-512.
### macOS
- When building with Xcode >= 15.3 on macOS, the preloader is no longer
needed.
- Syscall emulation for applications doing direct NT syscalls is supported
on macOS Sonoma and later.
### Builtin applications
- The input parser of the Command Prompt tool `cmd` is rewritten, which
fixes a number of long-standing issues, particularly with variable
expansion, command chaining, and FOR loops.
- The Wine Debugger `winedbg` uses the Capstone library to enable
disassembly on all supported CPU types.
- The File Comparison tool `fc` supports comparing files with default
options.
- The `findstr` application supports regular expressions and case
insensitive search.
- The `regsvr32` and `rundll32` applications can register ARM64EC modules.
- The `sort` application is implemented.
- The `where` application supports searching files with default options.
- The `wmic` application supports an interactive mode.
### Miscellaneous
- The ODBC library supports loading Windows ODBC drivers, in addition to
Unix drivers that were already supported through libodbc.so.
- Optimal Asymmetric Encryption Padding (OAEP) is supported for RSA
encryption.
- Network sessions are supported in DirectPlay.
### Development tools
- The IDL compiler generates correct format strings in interpreted stubs
mode (`/Oicf` in midl.exe) on all platforms. Interpreted mode is now the
default, the old mixed-mode stub generation can be selected with `widl
-Os`.
- The IDL compiler can generate typelibs in the old SLTG format with the
`--oldtlb` command-line option.
- The `winegcc` and `winebuild` tools can create hybrid ARM64X modules with
the `-marm64x` option.
- The `winedump` tool supports dumping minidump tables, C++ exception data,
CLR tables, and typelib resources.
### Build infrastructure
- The `makedep` tool generates a standard-format `compile_commands.json`
file that can be used with various IDEs.
- Using `.def` files as import libraries with `winegcc` is no longer
supported, all import libraries need to be in the standard `.a` format. If
necessary, it is possible to convert a `.def` library to `.a` format using
`winebuild --implib -E libfoo.def -o libfoo.a`.
- Static analysis is supported using the Clang Static Analyzer. It can be
enabled by passing the `--enable-sast` option to configure. This is used
to present Code Quality reports with the Gitlab CI.
### Bundled libraries
- The Capstone library version 5.0.3 is bundled and used for disassembly
support in the Wine Debugger, to enable disassembly of ARM64 code. This
replaces the bundled Zydis library, which has been removed.
- Vkd3d is updated to the upstream release [1.14][5].
- Faudio is updated to the upstream release 24.10.
- FluidSynth is updated to the upstream release 2.4.0.
- LDAP is updated to the upstream release 2.5.18.
- LCMS2 is updated to the upstream release 2.16.
- LibJpeg is updated to the upstream release 9f.
- LibMPG123 is updated to the upstream release 1.32.9.
- LibPng is updated to the upstream release 1.6.44.
- LibTiff is updated to the upstream release 4.7.0.
- LibXml2 is updated to the upstream release 2.12.8.
- LibXslt is updated to the upstream release 1.1.42.
- Zlib is updated to the upstream release 1.3.1.
[5]: https://gitlab.winehq.org/wine/vkd3d/-/releases/vkd3d-1.14
### External dependencies
- The FFmpeg libraries are used to implement the new Media Foundation
backend.
- A PE cross-compiler is required for 32-bit ARM builds, pure ELF builds are
no longer supported (this was already the case for 64-bit ARM).
- Libunwind is no longer used on ARM platforms since they are built as
PE. It's only used on x86-64.
The Wine development release 10.0-rc6 is now available. This is
expected to be the last release candidate before the final 10.0.
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/10.0/wine-10.0-rc6.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.0-rc6/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.0-rc6 (total 18):
- #47036 C&C Red Alert 2 Yuri's Revenge missing graphical elements
- #48501 U.S. Naval Observatory MICA2 software has annoying error message upon closing
- #50398 Microsoft Office XP 2002 installer shows "Error 25504. Failed to set Feature xyz to the install state of Feature xyz for mode 2." message boxes since Wine 2.12
- #53567 The Medium crashes when starting new game
- #53891 user32:msg - test_swp_paint_regions() fails on Windows 7
- #55263 Boulder Remake doesn't recognise arrow keys (other keys work)
- #56452 Wingdings font seems not to be found; regression test done
- #57019 wineboot crashes in create_bios_processor_values() on 2013 Mac Pro
- #57076 Harmony Assistant 9.9.8d (64 bit) reports missing stoccata.ttf font on startup
- #57077 Micrografx Window Draw 4.0a crashes when backspacing while editing freeform text object
- #57179 File uploads in Hotline Client 1.2.3 hang after about 200 KB
- #57312 Rebuild 3: Broken texture filtering
- #57579 Deformed symbols in LTSpice
- #57610 No windows are shown when using a dual monitor setup
- #57632 fallout 3 radio broke with gstreamer 1.24.10 (9.22 silent, 10rc4 stalls)
- #57652 Some windows have cut bottom and right sides
- #57657 Null pointer dereference in traces
- #57661 Port Royale 2: black screen during intro videos
### Changes since 10.0-rc5:
```
Alexandre Julliard (3):
ieframe/tests: Fix more property change errors for the new test.winehq.org server.
wshom.ocx/tests: Mark a failing tests as todo.
winebth.sys: Don't print an error when Bluetooth is not available.
Bernhard Übelacker (2):
gdiplus/tests: Fix use-after-free of a graphics object (ASan).
kernel32/tests: Avoid stack buffer overflow in get_com_dir_size (ASan).
Elizabeth Figura (2):
msi/tests: Test msidbFeatureAttributesDisallowAdvertise.
msi: Set features to absent if advertising is disallowed.
Esme Povirk (1):
gdiplus/tests: Trace locked bitmap data on failure.
Rémi Bernon (5):
gdi32: Avoid crashing when tracing NULL xform.
configure: Use per-architecture cross flags if they are provided.
winex11: Adjust requested visible rect relative to the previous position.
winex11: Always blit offscreen over any other onscreen clients.
mf/topology_loader: Avoid modifying downstream media type when attempting to connect.
Santino Mazza (1):
gdiplus: Check for MapFont result in generate_font_link_info.
Zhiyi Zhang (1):
winex11.drv: Fix display name in X11DRV_UpdateDisplayDevices().
```
The Wine development release 10.0-rc5 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/10.0/wine-10.0-rc5.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.0-rc5/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.0-rc5 (total 31):
- #38975 Alpha Protocol launcher: menu options hidden behind grey boxes
- #48737 Microsoft Golf 2.0 demo crashes on startup
- #52542 NVIDIA GeForceNow Installer fails due to rundll32 problems
- #53352 Redefinition of typedef ‘D2D1_PROPERTY_BINDING’ breaks compilation with gcc 4.3.4
- #54717 dbghelp:dbghelp - SymRefreshModuleList() sometimes returns STATUS_INFO_LENGTH_MISMATCH on Windows
- #56205 The Egyptian Prophecy: The Fate of Ramses: text displayed without transparency
- #56474 Crowns and Pawns: Graphic bugs
- #56523 The Dark Pictures Anthology: Man of Medan hangs/crashes after company logo
- #56605 V-Rally 4 crashes right before starting a race
- #56627 Direct3D applications run out of memory on Windows XP
- #56770 Geneforge 4: stuttering in character and mouse movement
- #56886 Wincatalog can't scan folders
- #57207 Fallout 3: Regression spams console with errors
- #57274 Regression causing Obduction to hang and exit
- #57306 Multiple programs crash due to memory corruption since 5924ab4c515 (Nikon NX studio, Profit, Falcosoft's Soundfont Midi Player, IBExpert)
- #57333 Civilization IV fails to start (XML load Error)
- #57409 Interactivity The Interactive Experience from itch.io deadlocks (regression)
- #57476 Methods arguments attributes are missing from dwrite.idl
- #57522 Voltage sources have the wrong shapes in Micro-Cap 12.2.0.5 on Wine 9.21 and later
- #57549 Fighter Factory 3: Window Graphics don't display correctly after prolonged use.
- #57550 Geneforge 4 complains about resolution and crashes when run in virtual desktop
- #57551 10-rc2 regression: MS Office 2007/2010: some dialogs are only ~1/4 visible
- #57558 joy.cpl xinput joysticks circles are cropped by 1px on the bottom
- #57566 Silent crash for application attempting to use RSA
- #57582 Eschalon Book I: launcher menu flickering
- #57583 Truncated popup
- #57584 8-bit color mode is broken in Wine 9.11 and later
- #57599 HyperBall Shareware: black screen (regression)
- #57601 Touchscreen input broken for x11drv/mouse.c
- #57636 Black screen in menu until button click in Age of Empires
- #57649 call .bat doesn't propagate errorlevel
### Changes since 10.0-rc4:
```
Alexandre Julliard (7):
shell32: Look for the file name without extension also for the path search case.
dnsapi/tests: Update DNS names for the new test.winehq.org server.
wininet/tests: Update certificate for the new test.winehq.org server.
secur32/tests: Update expected results for the new test.winehq.org server.
winhttp/tests: Allow some more notifications for the new test.winehq.org server.
ieframe/tests: Allow more property changes with the new test.winehq.org server.
win32u: Fix stack corruption in NtUserScrollDC.
Anton Baskanov (2):
ddraw/tests: Test that releasing a primary surface invalidates the window.
ddraw: Invalidate the window when the primary surface is released.
Bernhard Übelacker (2):
d3dx9_36/tests: Fix test data buffer underflow (ASan).
gdi32: Explicitly check for negative text length in GetTextExtentExPointW().
Billy Laws (1):
ntdll: Emulate mrs xN, CurrentEL instructions.
Brendan McGrath (1):
mfmediaengine: Fix maths in scaling check.
Brendan Shanks (2):
wineboot: Correctly handle SMBIOS tables older than v3.0.
ntdll: On macOS, only use actual SMBIOS tables if they are v2.5 or higher.
Connor McAdams (1):
quartz/dsoundrender: Restart the render thread when clearing EOS in dsound_render_sink_end_flush().
Conor McCarthy (1):
mf: Do not clean up a session op if it was submitted to a work queue.
Dmitry Timoshkov (4):
rsaenh/tests: Add some tests for RC4 salt.
rsaenh/tests: Add a test for RC4 session key.
rsaenh/tests: Make RC4 tests more distinct.
rsaenh: CPGenKey() shouldn't generate RC4 key salt if not requested.
Elizabeth Figura (13):
Revert "win32u: Forward to Rectangle() if the ellipse width or height is zero.".
Revert "win32u: Do not convert back to integer before finding intersections.".
Revert "win32u: Correctly handle transforms which flip in get_arc_points().".
Revert "win32u: Normalize inverted rectangles in dibdrv_RoundRect().".
Revert "win32u: Always select the point that's closer to the ellipse.".
Revert "win32u: Allocate the whole max_points for the top_points array.".
Revert "win32u: Implement drawing transformed round rectangles.".
Revert "win32u: Implement drawing transformed arcs.".
gdi32: Trace more functions.
gdi32/tests: Add some arc tests.
ddraw/tests: Test preservation of the X channel when clearing.
wined3d: Separate a cpu_blitter_clear_texture() helper.
ddraw: Clear sysmem textures on the CPU.
Eric Pouech (4):
cmd/tests: Add more tests.
cmd: Skip trailing white spaces in FOR's option.
cmd: Fix some CALL errorlevel propagation.
cmd: Don't return syntax error code on empty lines.
Esme Povirk (1):
gdiplus: Use font linking only for missing glyphs.
Francis De Brabandere (3):
vbscript/tests: Refactor Mid() error tests.
vbscript: Fix Mid() empty and null handling.
vbscript: Remove trailing semicolon in parser.
Gabriel Ivăncescu (1):
winex11: Respect swp_flags when syncing window position.
Jactry Zeng (1):
po: Update Simplified Chinese translation.
Lauri Kenttä (2):
documentation: Update Linux and Mac OS X versions.
po: Update Finnish translation.
Nikolay Sivov (1):
include: Fix method arguments annotations in dwrite.idl.
Paul Gofman (5):
ddraw/tests: Test state application on multiple devices.
ddraw: Factor out d3d_device_apply_state().
ddraw: Correctly apply state when multiple devices are used.
winex11: Flush display when presenting offcreen drawable from wglFlush / wglFinish.
winex11: Call glFinish() when presenting offscreen drawable from wglFlush.
Rémi Bernon (5):
winex11: Check window region instead of forcing offscreen on parent.
winebus: Ignore unsupported hidraw touchscreen devices.
winex11: Map mouse/touch event coordinates even without a hwnd.
win32u: Initialize dibdrv info from the surface color bitmap.
winex11: Always fill the window surface color info.
Santino Mazza (1):
mmdevapi/tests: Fix audio clock adjustment tests failing in testbot.
William Horvath (1):
winex11: Use the win32 client rect in needs_client_window_clipping.
```
The Wine development release 10.0-rc4 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/10.0/wine-10.0-rc4.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.0-rc4/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.0-rc4 (total 13):
- #37372 Unexpected order of results in wildcard expansion
- #48877 Melodyne crashes when using the Pitch tool
- #51656 Gaea Installer crashes in riched when pressing enter
- #52447 64-bit .NET framework 2.0 installer hangs while generating/installing native images of 'System.Windows.Forms' assembly into GAC
- #53405 Into The Breach freezes when enabling fullscreen
- #54342 ws2_32:sock - test_WSARecv() sometimes fails with "got apc_count 1." on Windows
- #56531 Final Fantasy XI Online: Some textures are transparent, malformed, or misplaced.
- #56533 Final Fantasy XI Online: Incorrect/corrupt textures shown on models.
- #56885 WinCatalog has a crash at startup
- #57248 Rhinoceros 8.11 installer crashes on start
- #57568 Arcanum (and many other titles) crashes on start
- #57577 Minimised applications are restored with -4 vertical pixels.
- #57587 10.0-rc1 regression (dsoundrender): no audio or hangs in some videos
### Changes since 10.0-rc3:
```
Alexandre Julliard (3):
Update copyright info for 2025.
ntdll: Set the processor architecture variable from the current arch.
xml: Disable the non-determinist schema check.
André Zwing (6):
bluetoothapis/tests: Don't test functions directly when reporting GetLastError().
kernel32/tests: Don't test functions directly when reporting GetLastError().
iphlpapi/tests: Don't test functions directly when reporting GetLastError().
msvcr120/tests: Don't test function directly when reporting GetLastError().
msvcp140/tests: Don't test function directly when reporting GetLastError().
msvcp120/tests: Don't test function directly when reporting GetLastError().
Bernhard Übelacker (7):
mfplat/tests: Fix copy-paste release calls.
dwrite: Avoid stack-buffer-overflow in arabic_setup_masks.
comctl32/tests: Fix test array size (ASan).
comctl32/tests: Use sufficient user data buffer in the Tab tests (ASan).
comctl32/tests: Mark a test as broken on Windows.
dwrite: Fix off-by-one clustermap indexing (ASan).
uiautomationcore: Fix a double-free of advisers array (ASan).
Elizabeth Figura (1):
qasf/dmowrapper: Acquire new output samples for each ProcessOutput() call.
Eric Pouech (1):
kernelbase: Don't free pathname if query failed.
Etaash Mathamsetty (1):
nsiproxy: Set rcv/xmit speed to 1000000 on linux.
Floris Renaud (1):
po: Update Dutch translation.
Jinoh Kang (1):
user32/tests: Force window to be visible in subtest_swp_paint_regions.
Piotr Caban (2):
msvcr120/tests: Skip _fsopen tests if file can't be created.
msvcp120/tests: Skip _Fiopen tests if file can't be created.
Rémi Bernon (6):
winex11: Improve GetWindowStateUpdates traces.
win32u: Check window state updates again after applying new state.
win32u: Don't overwrite dummy vulkan window.
win32u: Always update the surface regions in apply_window_pos.
server: Remove now unnecessary needs_update member.
winex11: Don't re-create the GL drawable if pixel format didn't change.
Zhiyi Zhang (2):
d2d1/tests: Remove a duplicate test.
dxgi: Support more feature levels in debug_feature_level().
```
The Wine development release 10.0-rc3 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at <https://dl.winehq.org/wine/source/10.0/wine-10.0-rc3.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.0-rc3/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.0-rc3 (total 15):
- #11674 Dual-core unsupported in WoW and SC2
- #49473 Chaos Legion videos are played upside down
- #52738 No keyboard input in "STREET CHAVES - O LUTADOR DA VILA"
- #56319 Parallel Port Tester won't start (fails to locate driver "System32\Drivers\inpoutx64.sys", but changing to absolute path works)
- #56348 Bricks: moving a brick causes it to rapidly alternate positions
- #56471 starting of native program with "start /unix ..." is broken
- #56632 Explorer cannot run any files in Windows ME compatibility mode (or below)
- #56714 Startopia is stuck on a black screen on launch
- #57227 IL-2 1946 crash at startup
- #57286 Dark Age of Camelot - camelot.exe required igd10umd32.dll but the .dll file is not found.
- #57319 Painting in a proprietary application is broken with vulkan renderer
- #57515 desktop mode did not show taskbar anymore
- #57523 PokerTracker 4: cannot launch anymore
- #57525 Systray icons cannot be interacted with
- #57541 CMake doesn't find toolchain
### Changes since 10.0-rc2:
```
Akihiro Sagawa (1):
po: Update Japanese translation.
Alanas Tebuev (1):
comctl32/tests: Initialize hwnd to NULL before calling rebuild_toolbar().
Alexandre Julliard (6):
ntdll: Align heap virtual allocations to a multiple of the page size.
shell32: Don't call AW functions internally.
shell32: Return the file itself without extension if it exists.
propsys/tests: Fix a test that fails on some Windows versions.
win32u/tests: Mark the foreground thread test as flaky.
advapi32/tests: Use the correct key handle in the notify thread.
Alistair Leslie-Hughes (1):
msxml3: Correct looping of Document Element node map.
Bernhard Übelacker (4):
server: Avoid crash when handle table is allocated but not yet filled.
crypt32: Avoid stack-use-after-scope in CSignedEncodeMsg_GetParam (ASan).
d3dx9_36/tests: Fix logging of expected bytes in check_vertex_components. (ASan).
xmllite/tests: Avoid buffer overflow by using LONG_PTR (ASan).
Elizabeth Figura (2):
wined3d: Add nop state entries for states now invalidated on the client side.
Revert "wined3d: Use bindless textures for GLSL shaders if possible.".
Eric Pouech (3):
cmd/tests: Add more tests about variable expansion.
cmd: Fix regression in variable search in expansion.
winedump: Fix variable overwrite when dumping exception.
Esme Povirk (1):
gdiplus: GdipPathAddRectangle should close the path.
Gerald Pfeifer (1):
capstone: Avoid GCC being treated as old VisualStudio.
Jacek Caban (1):
mshtml: Ignore Gecko events on detached nodes.
Louis Lenders (1):
kernelbase: Don't try to print the path in the FIXME in GetTempPath2.
Nikolay Sivov (9):
windowscodecs/tests: Added some tests for Exif and Gps IFDs embedded in App1 blob.
windowscodecs/tests: Add some tests for CreateMetadataWriterFromReader().
windowscodecs/tests: Add some tests for CreateMetadataWriter().
windowscodecs/tests: Add some tests for metadata stream objects handling.
windowscodecs/tests: Add loading tests for the writers.
windowscodecs/tests: Check persist options after Load().
windowscodecs: Fix a typo in interface name.
include: Add methods arguments annotations for DirectWrite types.
dwrite/tests: Allocate test inline objects dynamically.
Owen Rudge (2):
odbc32: Avoid crashing if str is null in debugstr_sqlstr.
odbc32: Add null pointer checks to update_result_lengths helpers.
Paul Gofman (2):
winex11: Use NtUserReleaseDC() with hdc.
server: Cleanup all the global hooks owned by terminating thread.
Rémi Bernon (5):
winex11: Sync gl drawable outside of the win_data mutex.
winex11: Use DCX_USESTYLE when checking DC clipping regions.
winex11: Move GL/VK offscreen if the clipping region is NULLREGION.
dinput: Copy the device format if the user format is a subset of it.
dinput: Check that the device format data fits in the user format data.
```
The Wine development release 10.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/10.0/wine-10.0-rc2.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.0-rc2/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.0-rc2 (total 21):
- #28861 Final Fantasy XI hangs after character selection
- #47640 No Man's Sky (Beyond) does not start anymore: Unable to initialize Vulkan (vkEnumerateInstanceExtensionProperties failed)
- #51998 Unable to start CloneCD
- #53453 Command & Conquer 3: Tiberium Wars - fails to start (splash screen not even shown)
- #54437 ntoskrnl.exe:ntoskrnl breaks test_rawinput() [(RIM|WM)_INPUT] in user32:input for non-English locales on Windows 7
- #55583 d3d8:device - test_wndproc() often is missing a WM_WINDOWPOSCHANGING in Wine
- #56056 Exiting IrfanView full screen mode creates a redundant task bar "Untitled window" item which is not clickable
- #56325 Prefix path string in wineboot dialog is cut off
- #56940 vs_community.exe halts:"The application cannot find one of its required files, possibly because it was unable to create it in the folder."
- #57216 Mouse wheel input in IL-2 1946 is not applied consistently to UI elements and throttle
- #57285 Foxit Reader - maximized view don't work properly
- #57384 The shareware installer for Daytona (16-bit) hangs at the end of installing.
- #57418 PlayOnline Viewer throws an application error at launch.
- #57442 Several applications: abnormal input delay with Wine
- #57481 Prey (2016) X11 fullscreen fails in 9.22
- #57503 World in conflict has a frozen screen - updating only when alt-tabbing out and in
- #57504 Possible regression with Unity3D games: Framedrops when moving cursor.
- #57506 Wine doesn't show any window
- #57524 Commit c9592bae7f475c1b208de0a72ed29e94e3017094 breaks VKB Gladiator HIDRAW support
- #57527 Drop-down list appears behind the main window
- #57530 Regression: Tiny extra form displays in Delphi programs
### Changes since 10.0-rc1:
```
Alexandre Julliard (7):
user32: Fixup forwarded functions on 32-bit.
ntoskrnl: Support relative driver paths.
ntoskrnl: Fix off-by-one error in buffer size.
wineboot: Always wrap the wait dialog text.
wineboot: Resize the wait dialog to accommodate the text size.
wineboot: Scale the wait dialog icon with the dialog size.
winetest: Filter out color escapes for junit output.
Eric Pouech (2):
dbghelp: Fix error handling in PDB/FPO unwinder.
dbghelp: Lower vector allocation for local variables.
Esme Povirk (1):
mscoree: Use correct variable for codebase path.
Gabriel Ivăncescu (1):
mshtml: Remove unused MutationObserver DISPID and related hook.
Gerald Pfeifer (1):
webservices: Rename a struct member from bool to boolean.
Jacek Caban (1):
configure: Define _load_config_used symbol in the cross-compiler test program.
Louis Lenders (1):
shell32: Remove trailing spaces in SHELL_execute.
Marcus Meissner (1):
ucrtbase/tests: Use correct size to GetEnvironmentVariableW.
Nikolay Sivov (8):
windowscodecs/tests: Use test context in a few metadata tests.
windowscodecs/tests: Add some tests for GetContainerFormats().
windowscodecs/tests: Use a helper instead of a macro.
windowscodecs/tests: Remove endianess compile time checks from the tests.
windowscodecs/tests: Move IFD data tests to a helper.
windowscodecs/tests: Run data test on the Exif reader.
windowscodecs/tests: Add some tests for the Gps reader.
windowscodecs/tests: Add some tests for the App1 reader.
Piotr Caban (1):
msvcrt: Don't leak find handle or error in _findfirst().
Rémi Bernon (17):
win32u: Skip updating the cache on driver load if we're already updating it.
win32u: Release the Win16 mutex when yielding in peek_message.
win32u: Copy the shape from the old surface when surface is recreated.
server: Force surface region update when window region is modified.
win32u: Extend display_lock CS around winstation check.
server: Add a winstation monitor update serial counter.
win32u: Use the winstation monitor update serial to detect updates.
winex11: Request window config when it needs to be raised.
winebus: Wait until the device is started before processing reports.
dmloader: Remove redundant flag.
winex11: Fixup window config size back to 0x0 if we've requested 1x1.
winex11: Always check if the GL drawable offscreen state needs to be changed.
winex11: Skip offscreening if the children don't require clipping.
dinput: Queue the relative wheel motion as event data.
explorer: Avoid hiding the taskbar if it's enabled.
server: Allow merging WM_MOUSEMOVE across internal messages.
winex11: Fix inconsistent coordinates when reparenting host window.
Vibhav Pant (3):
winebth.sys: Fix new bluetooth events being incorrect set due to variable shadowing.
winebth.sys: Set the Information field in the IRP's STATUS_BLOCK after handling IOCTL_BTH_GET_LOCAL_INFO.
winebth.sys: Use the correct byte-ordering for setting the radio's address property.
William Horvath (2):
include: Use inline assembly on Clang MSVC mode in YieldProcessor().
win32u: Check for driver events more often.
Zhiyi Zhang (1):
win32u: Use width and height to check if the display mode is vertical.
```
The Wine development release 10.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 10.0. It
marks the beginning of the yearly code freeze period. Please give this
release a good testing and report any issue that you find, to help us
make the final 10.0 as good as possible.
What's new in this release:
- Bundled vkd3d upgraded to version 1.14.
- Mono engine updated to version 9.4.0.
- Initial version of a Bluetooth driver.
- UTF-8 support in the C runtime functions.
- Support for split debug info using build ids.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.0/wine-10.0-rc1.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.0-rc1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.0-rc1 (total 17):
- #43172 IDirectPlay4::EnumConnections needs to support wide string in DPNAME structure
- #56109 Broken Radiobutton navigation (Up/Down, Accelerators) in several InnoSetup installers
- #56709 PackTouchHitTestingProximityEvaluation not located in USER32.dll when attempting to run Clip Studio Paint 3.0
- #56838 FL Studio 21 gui problem
- #57064 Bloodrayne 2 (legacy and Terminal Cut): graphical issue (foggy screen)
- #57308 Cannot load split debug symbols under /usr/lib/debug
- #57401 Dragon Unpacker crashes on both wine devel and staging
- #57411 Heroes of the Storm: screen sporadically flickers black
- #57431 Links 2003 Crashes
- #57437 PStart isn't showing a menu in the tray bar
- #57453 Regression: TWM: Cursor position offset in *some* programs.
- #57457 Mathcad 15 crashes when enter trace tab
- #57463 winebus always crashing with unknown since 8b41c2cfddba1f9973246f61e39d4a4d92912da5
- #57472 Systray support is broken in Wine 9.22
- #57474 Windows disappear irreversibly when are not shown on a virtual desktop
- #57477 After commit of 484c61111ef32d75dcf5cf1656b4469b4de3ec37 game could not launch with dxvk
- #57493 Mathcad 15 crashes on startup due to unhandled domdoc MaxElementDepth property
### Changes since 9.22:
```
Aida Jonikienė (6):
dsound: Handle NaN values in the 3D code.
dsound: Add an angle check for SetOrientation().
dsound/tests: Add NaN tests for floating-point 3D functions.
dsound: Add non-NaN value tests for SetOrientation().
winevulkan: Mirror function handling in vk_is_available_instance_function32().
winevulkan: Use WINE_UNIX_LIB instead of WINE_VK_HOST.
Alexandre Julliard (20):
ntdll: Initial version of NtContinueEx().
ntdll: Always return the handle from NtCreateIoCompletion().
server: Do not allow to open an existing mailslot in NtCreateMailslotFile.
server: Fix a token reference leak.
ntdll/tests: Remove some workarounds for old Windows versions.
ntdll/tests: Add tests for opening objects with zero access.
vkd3d: Import upstream release 1.14.
server: Use the correct handle allocation pattern for all object types.
win32u: Add some access rights when creating a desktop object.
server: Make CurrentControlSet a symlink in new prefixes.
ntdll: Make a debug channel dynamically settable only if there's no specified class.
taskmgr: Only list dynamically settable debug channels.
server: Only store a Unix name for regular files.
widl: Avoid unused variable warning.
configure: Correctly check the --enable-build-id option.
winegcc: Remove support for .def files as import libraries.
winebuild: Remove support for .def files as import libraries.
wrc: Use the correct error function for syntax errors.
server: Print signal names in traces.
ntdll: Move update_hybrid_metadata() to the ARM64EC backend.
Alfred Agrell (2):
dsound/tests: Add nonlooping SetNotificationPositions test.
dsound: Fix SetNotificationPositions at end of nonlooping buffer.
Alistair Leslie-Hughes (3):
include: Add _WIN32_WINNT_ version defines.
include: Add DB_VARNUMERIC struct.
include: Add SQL_C_TCHAR define.
Andrew Nguyen (1):
msxml3: Accept the domdoc MaxElementDepth property.
Anton Baskanov (2):
dplayx/tests: Test client side of GetMessageQueue() separately.
dplayx: Support DPMESSAGEQUEUE_RECEIVE in GetMessageQueue().
Billy Laws (5):
msi: Dynamically determine supported package architectures.
ntdll: Test more ARM64 brk instruction exception behaviour.
ntdll: Fix reported exception code for some brk immediates.
ntdll: Add arm64ec_get_module_metadata helper.
ntdll: Force redirect all ARM64EC indirect calls until the JIT is ready.
Brendan McGrath (2):
mfmediaengine: Implement the Simple Video Renderer.
mfmediaengine: Fallback to sample copy if scaling is required.
Brendan Shanks (3):
include: Use %fs/%gs prefixes instead of a separate .byte 0x64/.byte 0x65.
ntdll: Use %fs/%gs prefixes instead of a separate .byte 0x64/.byte 0x65.
ntdll: Use sched_getcpu instead of the getcpu syscall.
Conor McCarthy (12):
winegstreamer: Handle null transform in video IMediaObject::Flush().
winegstreamer: Handle null transform in video IMFTransform::ProcessMessage() DRAIN.
winegstreamer: Handle null transform in video IMFTransform::ProcessMessage() FLUSH.
winegstreamer: Handle null transform in WMA IMediaObject::Flush().
winegstreamer: Return the result code from media_source_Pause().
mf/tests: Add tests for shutting down a media source used in a session.
mf: Handle media source EndGetEvent() failure due to shutdown.
mf: Handle media source BeginGetEvent() failure due to shutdown.
mf: Handle media source event subscription failure due to source shutdown.
mf: Handle media source Start() failure due to source shutdown.
mf: Introduce IMFMediaShutdownNotify for notification of media source shutdown.
winegstreamer: Send media source shutdown notification via IMFMediaShutdownNotify.
Daniel Lehman (5):
msvcr120/tests: Add tests for _fsopen.
msvcp120/tests: Add tests for _Fiopen.
ucrtbase/tests: Add tests for _fsopen.
msvcp140/tests: Add tests for _Fiopen.
msvcp140: Call into fopen from _Fiopen.
Dmitry Timoshkov (1):
ntdll: Add NtFlushBuffersFileEx() semi-stub.
Dāvis Mosāns (1):
ntdll/tests: Unify APC test functions.
Elizabeth Figura (14):
wined3d: Use wined3d_texture_download_from_texture() even if the dst texture map binding is not valid.
wined3d: Beginnings of an HLSL FFP pixel shader implementation.
wined3d: Implement pretransformed varyings in the HLSL FFP pipeline.
wined3d: Take the depth buffer into account for HLSL pretransformed draws.
wined3d: Implement lighting in the HLSL FFP pipeline.
wined3d: Implement vertex fog in the HLSL FFP pipeline.
quartz/dsoundrender: Always treat samples as continuous if they are late or out of order.
quartz/dsoundrender: Remove the unused "tStop" argument to send_sample_data().
quartz/dsoundrender: Play non-discontinuous samples consecutively.
quartz/tests: Test whether the DirectSound renderer provides a position.
quartz/dsoundrender: Do not provide time to the passthrough.
quartz/dsoundrender: Do not ignore preroll samples.
quartz/dsoundrender: Queue samples and render them on a separate thread.
quartz/dsoundrender: Use send_sample_data() to fill the buffer with silence at EOS.
Eric Pouech (11):
kernel32: Add tests for checking the exit code of default ctrl-c handlers.
kernelbase: Fix exit code for default ctrl-c handler.
ntdll/tests: Fix format warning with clang.
configure: Properly test clang for dwarf support.
winegcc: Remap build-id linker option for clang.
configure: Use -Wl,--build-id unconditionally if requested.
configure: Don't add -Wl,--build-id linker option to CFLAGS.
dbghelp: Extend search for buildid in system directories.
dbghelp: Search debug info with buildid for RSDS debug entry w/o filenames.
server: Ensure in pending delete on close that path to unlink are unique.
winedbg: Add support for dynamic debug channel.
Esme Povirk (1):
mscoree: Update Wine Mono to 9.4.0.
Evan Tang (2):
kernelbase: Properly return 0 from EnumSystemFirmwareTable on error.
kernelbase: Add test for EnumSystemFirmwareTables on missing provider.
Fabian Maurer (8):
dplayx: Add a few more locks (Coverity).
comctl32/tests: Add tests for radio button WM_SETFOCUS.
comctl32: Send parent BN_CLICKED notification when a radio button get focused.
user32/tests: Add tests for radio button WM_SETFOCUS.
user32: Send parent BN_CLICKED notification when a radio button get focused.
oleaut32: Make OleCreateFontIndirect return error if font name is missing.
oleaut32: Remove unneeded null checks.
d3dx9: Remove superfluous null check (Coverity).
Gabriel Ivăncescu (38):
mshtml: Move htmlcomment.c contents into htmltextnode.c.
mshtml: Add an internal IWineHTMLCharacterData interface and forward text node methods to it.
mshtml: Expose the props from the IWineHTMLCharacterData interface for CharacterDataPrototype.
mshtml: Don't expose toString from text nodes in IE9+ mode.
mshtml: Expose IHTMLCommentElement2 interface for comment elements.
mshtml: Don't expose 'atomic' prop from comment nodes in IE9+ modes.
mshtml: Don't expose element props from comment nodes in IE9+ modes.
mshtml: Implement get_data for legacy DOCTYPE comment elements.
mshtml: Expose ie9_char as char for KeyboardEvent.
mshtml: Make PageTransitionEvents only available in IE11 mode.
mshtml: Make ProgressEvent constructor only available in IE10+ modes.
mshtml: Expose respective props from Element prototype.
mshtml: Don't expose fireEvent from elements in IE11 mode.
mshtml: Don't expose onmspointerhover from elements in IE11 mode.
mshtml: Move toString from HTMLElement to HTMLAnchorElement or HTMLAreaElement in IE9+ modes.
mshtml: Move hasAttributes from HTMLElement to HTMLDOMNode in IE9+ modes.
mshtml: Move normalize from HTMLElement to HTMLDOMNode in IE9+ modes.
mshtml: Don't expose onpage from elements in IE9+ modes.
mshtml: Don't expose expression methods from elements in IE9+ modes.
mshtml: Don't expose some props from elements in IE10+ modes.
mshtml: Don't expose some props from elements in IE11 mode.
mshtml: Move HTMLTableDataCellElement prototype props to the HTMLTableCellElement prototype.
mshtml: Add IHTMLDOMNode2 in every mode in node's init_dispex_info.
mshtml: Get rid of HTMLELEMENT_TIDS.
mshtml: Move HTMLDocument prototype props to the Document prototype.
mshtml: Use DocumentPrototype as the document's prototype for modes prior to IE11.
mshtml: Expose the right props from document fragments.
mshtml: Don't expose some props from document prototype depending on mode.
mshtml/tests: Add more tests for the style aliased prop names.
mshtml: Expose respective props from MSCSSPropertiesPrototype.
mshtml: Prefer builtins for style aliases that have the same name.
mshtml: Move 'filter' prop to MSCSSPropertiesPrototype in IE9 mode.
mshtml: Don't expose 'behavior' prop from styles in IE11 mode.
mshtml: Don't expose the clip* props from style declaration or properties in IE9+ modes.
mshtml: Don't expose the *Expression methods from styles in IE9+ modes.
mshtml: Don't expose toString from styles in IE9+ modes.
mshtml: Expose respective props from StyleSheetPrototype.
mshtml: Get rid of unused HTMLElement_toString_dispids.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.303.
Gerald Pfeifer (3):
win32u: Don't use bool as member of a union type.
msi: Use mybool instead of bool as variable name.
winhlp32: Drop unused member of struct lexret.
Giovanni Mascellani (2):
user32/tests: Check that message-only windows ignore WS_EX_TOPMOST.
win32u/window: Ignore changing WS_EX_TOPMOST for message-only windows.
Hans Leidekker (2):
msi: Assume PLATFORM_INTEL if the template property is missing.
bcrypt: Trace returned handles.
Haoyang Chen (1):
gdiplus: Use the FormatID of the source image when cloning.
Henri Verbeet (3):
d3dcompiler/tests: Clean up tests fixed by vkd3d merges.
d3d10_1/tests: Clean up tests fixed by vkd3d merges.
d3dx11/tests: Clean up tests fixed by vkd3d merges.
Jacek Caban (18):
msvcrt/tests: Silence -Wformat-security Clang warning in test_snprintf.
include: Apply LONG_PTR format hack only to Wine build.
include: Use LONG_PTR format hack on Clang in MSVC mode.
include: Use format attribute on Clang in MSVC mode.
d3d11/tests: Always use a format string in winetest_push_context calls.
ddraw/tests: Always use a format string in winetest_push_context calls.
imagehlp: Cast AddressOfData to size_t in debug traces.
mmdevapi/tests: Use %u format for unsigned int arguments.
include: Enable format attributes for debug traces in Clang MSVC mode.
gdiplus: Cast enums to unsigned type when validating its value.
jscript: Avoid unused variable warning.
msi: Avoid unused variable warning.
msxml: Avoid unused variable warning.
vbscript: Avoid unused variable warning.
wbemprox: Avoid unused variable warning.
include: Use inline assembly on Clang MSVC mode in exception helpers.
jscript: Move property allocation to update_external_prop.
jscript: Add support for deleting host properties.
Louis Lenders (1):
msvcp140: Add a version resource.
Marc-Aurel Zent (8):
ntdll: Implement NtGetCurrentProcessorNumber for macOS on x86_64.
server: Do not suspend mach task in read_process_memory.
server: Use mach_vm_read_overwrite in read_process_memory.
server: Do not suspend mach task in get_selector_entry.
server: Use mach_vm_read_overwrite in get_selector_entry.
server: Do not suspend mach task in write_process_memory.
server: Do not page-align address in write_process_memory.
server: Work around macOS W^X limitations in write_process_memory.
Matteo Bruni (5):
d3dcompiler/tests: Clean up further tests fixed by vkd3d merges.
d3dx9_43: Generate an import library.
d3dx9/tests: Add d3dx9_43 tests.
d3dx9/tests: Test the 'double' HLSL data type.
d3dcompiler/tests: Test the 'double' HLSL data type.
Mohamad Al-Jaf (5):
windows.networking.connectivity: Add stub dll.
windows.networking.connectivity: Add INetworkInformationStatics stub interface.
windows.networking.connectivity: Implement INetworkInformationStatics::GetInternetConnectionProfile().
windows.networking.connectivity/tests: Add some INetworkInformationStatics::GetInternetConnectionProfile() tests.
windows.networking.connectivity: Implement IConnectionProfile::GetNetworkConnectivityLevel().
Nikolay Sivov (6):
d2d1/effect: Improve handling of blob properties.
windowscodecs/tests: Use string literals in the metadata tests.
windowscodecs/tests: Add some tests for CreateMetadataReader().
windowscodecs/tests: Add a basic test for CreateComponentEnumerator().
windowscodecs/metadata: Add a helper to iterate over components.
windowscodecs: Implement CreateMetadataReader().
Orin Varley (3):
msxml3/tests: Add indentation test.
comctl32/tests: Add tests for a small number of items but big size to the combobox dropdown size tests.
comctl32: Make CBS_NOINTEGRALHEIGHT only set minimum combobox height.
Paul Gofman (1):
explorer: Prevent apps from showing Wine specific shell tray window with no icons.
Piotr Caban (43):
include: Add ___lc_codepage_func() declaration.
msvcp60: Improve wcsrtombs implementation.
msvcp60/tests: Add wcsrtombs tests.
msvcrt: Call _wmkdir in _mkdir function.
msvcrt: Call _wrmdir in _rmdir function.
msvcrt: Call _wchdir in _chdir function.
msvcrt: Call _wgetcwd in _getcwd function.
msvcrt: Call _wgetdcwd in _getdcwd function.
msvcrt: Call _wfullpath in _fullpath function.
ole32: Fix unsupported vector elements detection in PropertyStorage_ReadProperty.
ole32/tests: Add FMTID_UserDefinedProperties property storage tests.
ole32: Read property storage section from correct location.
ole32/tests: Add more FMTID_UserDefinedProperties property storage tests.
msvcrt: Prepare _fsopen to handle UTF-8 strings.
msvcrt: Call _wunlink in _unlink function.
msvcrt: Call _waccess in _access function.
msvcrt: Call _wchmod in _chmod function.
msvcrt: Call _unlink in remove function.
msvcrt: Call _wunlink in _wremove function.
msvcrt: Prepare _mktemp to handle UTF-8 strings.
msvcrt: Prepare _mktemp_s to handle UTF-8 strings.
msvcrt: Call _wstat64 in _stat64 function.
msvcrt: Call _wrename in rename function.
msvcrt: Call _wtempnam in _tempnam function.
msvcrt: Don't return success on GetFullPathName error in _wsearchenv_s.
msvcrt: Prepare _searchenv_s() for utf-8 encoded filename.
include: Cleanup corecrt_io.h file and use it in io.h.
msvcrt: Call _wfindfirst32 in _findfirst32 function.
msvcrt: Call _wfindnext32 in _findnext32 function.
msvcrt: Call _wfindfirst64 in _findfirst64 function.
msvcrt: Call _wfindnext64 in _findnext64 function.
msvcrt: Call _wfindfirst64i32 in _findfirst64i32 function.
msvcrt: Call _wfindnext64i32 in _findnext64i32 function.
msvcrt: Add putenv() utf-8 tests.
msvcrt: Return error on NULL path parameter in _wsopen_dispatch.
msvcrt: Prepare _sopen_dispatch to handle utf-8 encoded path.
msvcrt: Prepare freopen to handle utf-8 encoded path.
msvcrt: Prepare _loaddll to handle utf-8 encoded path.
msvcrt: Prepare _spawnl to handle utf-8 encoded arguments.
msvcrt: Prepare _execle to handle utf-8 encoded arguments.
msvcrt: Prepare remaining process creation functions to handle utf-8 encoded arguments.
ucrtbase: Enable utf8 support.
ucrtbase: Always use CP_ACP when converting environment block.
Roman Pišl (1):
kernel32: Use a proper import for HeapFree.
Rémi Bernon (45):
winebus: Ignore reports with unexpected IDs.
winex11: Read _NET_SUPPORTED atom list on process attach.
winex11: Only request the supported _NET_WM_STATE atoms.
winevulkan: Add missing wine_vkGetPhysicalDeviceSurfaceFormatsKHR manual wrapper.
win32u: Use PFN_* typedefs for vulkan function pointers.
winevulkan: Get rid of the instance/device funcs structs.
winevulkan: Generate ALL_VK_(DEVICE|INSTANCE)_FUNCS in wine/vulkan.h.
winevulkan: Move vulkan_client_object header to wine/vulkan_driver.h.
winevulkan: Name wine_instance parameters and variables more consistently.
winevulkan: Hoist physical device array and client instance handle.
winevulkan: Introduce a new vulkan_instance base structure.
winevulkan: Introduce a new vulkan_physical_device base structure.
winevulkan: Name wine_device parameters and variables more consistently.
winevulkan: Introduce a new vulkan_device base structure.
winevulkan: Restore some wine_*_from_handle helpers.
winevulkan: Introduce a new vulkan_queue base structure.
winevulkan: Introduce a new vulkan_surface base structure.
winevulkan: Introduce a new vulkan_swapchain base structure.
winevulkan: Use a vulkan_object header for other wrappers.
winevulkan: Use the result to decide if creation failed.
winevulkan: Introduce a new vulkan_object_init helper.
winevulkan: Fix incorrect client queue pointers.
winevulkan: Avoid changing client command buffer pointer.
winevulkan: Get rid of unnecessary *to_handle helpers.
winevulkan: Use the vulkan object as the wrapper tree node.
winevulkan: Keep the host function pointers in devices and instances.
win32u: Move surface and swapchain wrappers from winevulkan.
winex11: Don't update Win32 window position for offscreen windows.
winex11: Do not use desired_state when computing state updates.
winex11: Set a non-transparent window background pixel color.
win32u: Let fullscreen windows cover entire monitors, keeping aspect ratio.
winex11: Use bilinear filtering in xrender_blit.
quartz/dsoundrender: Rename "This" to "filter".
quartz/dsoundrender: Add missing static qualifier to IDispatch methods.
quartz/dsoundrender: Make brace placement consistent.
quartz/dsoundrender: Use a consistent style for method names.
quartz/dsoundrender: Make trace messages more consistent.
win32u: Add a force parameter to lock_display_devices.
win32u: Implement update_display_cache with lock_display_devices.
win32u: Remove recursive lock_display_devices calls.
win32u: Hold the display_lock when checking the cache update time.
mfmediaengine: Implement D3D-aware video frame sink.
windows.networking.connectivity: Use %I64d instead of %llu.
winex11: Move the _NET_SUPPORTED information to the thread data.
winex11: Listen to root window _NET_SUPPORTED property changes.
Santino Mazza (2):
mmdevapi/tests: Test for IAudioClockAdjustment.
mmdevapi: Do not modify buffer size after sample rate change.
Sven Baars (1):
win32u: Allow unsetting the user driver.
Tim Clem (3):
explorer: Apply a default admin token when running for the desktop.
Revert "win32u: Create explorer with the thread effective access token.".
kernelbase: Improve logging of information classes in GetTokenInformation.
Tingzhong Luo (3):
dwrite/tests: Add a test for DrawGlyphRun() bounds.
dwrite/gdiinterop: Always return valid bounds from DrawGlyphRun on success.
dwrite/gdiinterop: Apply dpi scaling to the whole target transform.
Torge Matthies (2):
advapi32/tests: Add test for CurrentControlSet link.
loader: Add Default, Failed, and LastKnownGood values to HKLM\System\Select.
Vibhav Pant (15):
winebth.sys: Add base winebth.sys driver.
winebth.sys: Add a basic unixlib stub using DBus.
winebth.sys: Create radio PDOs from the list of org.bluez.Adapter1 objects on BlueZ.
winebth.sys: Derive a unique hardware ID for radio PDOs from their corresponding BlueZ object path.
winebth.sys: Register and enable BTHPORT_DEVICE and BLUETOOTH_RADIO interfaces for radio PDOs.
bluetoothapis/tests: Fix potential test failure from memcmp'ing uninitialized bytes.
bluetoothapis/tests: Add tests for BluetoothFindFirstRadio.
bluetoothapis/tests: Add tests for BluetoothFindNextRadio.
bluetoothapis/tests: Add tests for BluetoothFindRadioClose.
bluetoothapis: Implement BluetoothFindFirstRadio, BluetoothFindNextRadio, BluetoothFindRadioClose.
winebth.sys: Set radio PDO properties from the device's corresponding org.bluez.Adapter1 object properties.
winebth.sys: Create new radio PDOs on receiving InterfacesAdded for objects that implement org.bluez.Adapter1.
winebth.sys: Remove the corresponding radio PDO on receiving InterfacesRemoved for a org.bluez.Adapter1 object.
winebth.sys: Update radio PDO properties on receiving PropertiesChanged for an org.bluez.Adapter1 object.
winebth.sys: Implement IOCTL_BTH_GET_LOCAL_INFO.
Vijay Kiran Kamuju (2):
user32: Add PackTouchHitTestingProximityEvaluation stub.
user32: Add EvaluateProximityToRect stub.
Vladislav Timonin (1):
comctl32/edit: Scroll caret on Ctrl+A.
Zhiyi Zhang (2):
appwiz.cpl: Fix wine_get_version() function pointer check.
uxtheme: Check DrawThemeEdge() content rectangle pointer.
Ziqing Hui (5):
qasf: Return S_FALSE for flushing in dmo_wrapper_sink_Receive.
qasf/tests: Test dmo_wrapper_sink_Receive if downstream fail to receive.
qasf: Return failure in dmo_wrapper_sink_Receive if process_output fails.
qasf/tests: Add more tests for dmo_wrapper_sink_Receive.
qasf: Correctly return failure in process_output.
```
The Wine development release 9.22 is now available.
What's new in this release:
- Support for display mode virtualization.
- Locale data updated to Unicode CLDR 46.
- More support for network sessions in DirectPlay.
- Wayland driver enabled in default configuration.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.22.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.22/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.22 (total 19):
- #42606 wine doesn't *fully* respect locale settings in some corner cases
- #52105 Cygwin setup hangs (handle to \Device\NamedPipe\ used as the RootDirectory for NtCreateNamedPipeFile)
- #53019 MusicBee: inconsistent CJK/non-Latin support with Tahoma, no support on any other font.
- #53321 snakeqr: Unhandled page fault on write access in A_SHAFinal (needs NtdllDefWindowProc_A)
- #56466 Dark souls remastered crashing with winewayland when trying to open "pc settings" in game
- #56790 wine binds dedicatedServer.exe to "lo" adapter
- #56833 Installer of LabOne 24.04 stops with error " ... setup wizard ended prematurely ..."
- #57072 Window is flashing when painting transluent effects
- #57277 Wine 9.19 fails to compile
- #57290 String Substitution not working
- #57325 MS Office 2007 and MS Office 2013 setup fails
- #57334 FL Studio - huge graphical glitch when moving windows inside the app
- #57341 Heidisql 7.0 crashes
- #57370 The Steam systray icon does not respond to mouse clicks.
- #57382 World Of Warcraft no longer start
- #57388 Major perf loss with blocking ReadFile() & OVERLAPPED
- #57391 FSCTL_DISMOUNT_VOLUME does not work on drives with spaces in path
- #57407 Windows Movie Maker hangs in Win7 mode (regression)
- #57423 Active window no longer receives keyboard input after losing and regaining focus (only in virtual desktop)
### Changes since 9.21:
```
Agustin Principe (1):
d2d1: Accept DXGI_FORMAT_R8G8B8A8_UNORM format for WIC targets.
Alexandre Julliard (63):
user32: Add an ANSI version of the desktop window proc.
user32: Add an ANSI version of the icon title window proc.
user32: Add an ANSI version of the menu window proc.
user32: All builtin window procs are now dual A/W.
ntdll/tests: Use the function pointer for NtWow64QueryInformationProcess64.
server: Fix a thread reference leak.
ntdll: Add support for the builtin window procs table.
user32: Use the ntdll definitions for builtin windows procs.
user32: Use the ntdll function table for builtin window procs.
user32: Make the builtin window procs table layout compatible with Windows.
ntdll/tests: Add tests for the builtin window procs table.
user32/tests: Add tests for ntdll builtin window procs.
user32/tests: Remove some obsolete winproc tests.
kernel32/tests: Add some tests for EnumSystemFirmwareTables().
ntdll: Implement BIOS table enumeration.
kernelbase: Implement EnumSystemFirmwareTables().
tools: Download all Unicode data files before generating anything.
nls: Update locale data to CLDR version 46.
mpg123: Import upstream release 1.32.9.
fluidsynth: Import upstream release 2.4.0.
rundll32: Don't bother cleaning up at process exit.
rundll32: Use crt allocation functions.
rundll32: Rewrite command line parsing.
rundll32: Restart itself if the dll is for a different architecture.
ntdll: Always return 0 length on failure in SystemFirmwareTableInformation.
ntdll/tests: Fix a test failure on 64-bit Windows.
server: Print a warning if page size isn't 4k.
server: Move the generated part of request.h to a separate header.
server: Move the generated part of trace.c to a separate header.
server: Simplify updating the protocol version.
server: Use an explicit union instead of a typedef for APC calls.
server: Use an explicit union instead of a typedef for APC results.
server: Use an explicit struct instead of a typedef for user APCs.
server: Use an explicit struct instead of a typedef for async I/O data.
server: Use an explicit union instead of a typedef for message data.
server: Use an explicit union instead of a typedef for hardware input.
server: Use an explicit union instead of a typedef for debug event data.
server: Use an explicit union instead of a typedef for IRP params.
server: Use an explicit union instead of a typedef for select operations.
win32u: Implement NtUserBuildPropList().
win32u: Implement NtUserBuildNameList().
user32: Move PostQuitMessage() implementation to win32u.
user32: Move support for posting a DDE message to win32u.
user32: Don't use server data types in clipboard.c.
win32u: Implement NtUserQueryWindow().
server: Use an explicit struct instead of a typedef for generic access mappings.
server: Use an explicit struct instead of a typedef for process startup info.
server: Use an explicit struct instead of a typedef for PE image info.
server: Use an explicit struct instead of a typedef for window property data.
server: Use an explicit struct instead of a typedef for cursor positions.
win32u: Implement the remaining arguments of NtUserBuildHwndList().
user32: Reimplement the enum window functions using NtUserBuildHwndList().
user32: Reimplement GetDlgItem() using NtUserBuildHwndList().
user32: Reimplement WIN_ListChildren() using NtUserBuildHwndList().
user32: Move GetLastActivePopup() implementation to win32u.
user32: Move GetLastInputInfo() implementation to win32u.
server: Add a new request to find sibling windows by class name.
win32u: Reimplement list_window_children() using NtUserBuildHwndList().
server: Use an explicit union instead of a typedef for TCP connections.
server: Use an explicit union instead of a typedef for UDP endpoints.
server: Use an explicit struct instead of a typedef for object locators.
server: Use an explicit struct instead of a typedef for register contexts.
server: Use an explicit struct instead of a typedef for rectangles.
Alistair Leslie-Hughes (1):
user32: Implement GetDpiAwarenessContextForProcess.
Anton Baskanov (27):
dplayx/tests: Add missing pragma pack directives.
dplayx/tests: Check that groups from SUPERENUMPLAYERSREPLY are added to the session.
dplayx: Add group to the parent group in DP_CreateGroup().
dplayx: Set group data in DP_CreateGroup().
dplayx: Return HRESULT from DP_CreateGroup().
dplayx: Inform the SP about group creation in DP_CreateGroup().
dplayx: Add groups from SUPERENUMPLAYERSREPLY to the session.
dplayx: Respect enumeration flags in EnumGroups().
dplayx: Always set the data size in GetGroupData().
dplayx: Factor out a function for adding player to a group.
dplayx: Add group players from SUPERENUMPLAYERSREPLY to the group.
dplayx/tests: Test client side of AddPlayerToGroup() separately.
dplayx: Queue DPSYS_ADDPLAYERTOGROUP in DP_AddPlayerToGroup().
dplayx: Send ADDPLAYERTOGROUP in AddPlayerToGroup().
dplayx/tests: Test that group data is updated from GROUPDATACHANGED.
dplayx: Enter the critical section when accessing the group list.
dplayx: Handle GROUPDATACHANGED, update the group data and queue DPSYS_SETPLAYERORGROUPDATA.
dplayx: Factor out a function for reading service providers.
dplayx: Convert connection name to UNICODE when enumerating through UNICODE interface.
dplayx/tests: Test UNICODE version of EnumSessions().
dplayx: Convert session name and password to UNICODE when enumerating through UNICODE interface.
dplayx: Forward IDirectPlay3A to IDirectPlay4A.
dplayx: Cache connections.
dplayx: Read connection name from descriptionW and descriptionA when available.
dplayx: Use DP_GetRegValueW() to read SP GUID.
dplayx: Reimplement DirectPlayEnumerateAW() using DP_GetConnections().
dplayx: Reimplement DP_LoadSP() using DP_GetConnections().
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (4):
msvcrt: Do not create a separate heap in newer msvcrt versions.
kernel32/tests: Remove todo_wine from now succeeding heap test.
include: Add ucrt _sprintf_l declaration.
wineps.drv: Use locale aware variants _sprintf_l and _sscanf_l (ASan).
Billy Laws (1):
msi: Also set x64 properties for arm64 hosts.
Biswapriyo Nath (1):
include: Add UI Automation Annotation Type ID definitions.
Brendan McGrath (2):
mf: Retry PROCESSINPUTNOTIFY if TRANSFORM_TYPE_NOT_SET is returned.
mf: Send MEError when IMFStreamSink_ProcessSample fails.
Brendan Shanks (1):
Add .gitattributes file to mark generated files.
Charlotte Pabst (2):
jscript: Handle star and opt operators while matching global regex properly.
jscript/tests: Add tests for star and opt operators in global regex.
Connor McAdams (6):
d3dx9/tests: Include ddraw.h in surface.c for DDS header flag definitions.
d3dx9: Don't attempt to save palettized surfaces in D3DXSaveSurfaceToFileInMemory().
d3dx9/tests: Add more tests for saving surfaces as DDS files.
d3dx9: Improve save_dds_surface_to_memory().
d3dx9: Set the DDSCAPS_ALPHA flag when saving DDS files with a pixel format containing an alpha channel.
d3dx9: Add support for saving paletted surfaces to DDS files.
Daniel Lehman (2):
kernel32/tests: Add some tests for Thai and Mongolian codes.
nls: Set alpha bit on some Thai and Mongolian codes.
Elias Norberg (4):
wintrust: Implement CryptCATAdminAcquireContext2().
wintrust/tests: Add CryptCATAdminAcquireContext2() tests.
wintrust: Implement CryptCATAdminCalcHashFromFileHandle2().
wintrust/tests: Add CryptCATAdminCalcHashFromFileHandle2() tests.
Elizabeth Figura (17):
winevulkan: Use extend() instead of passing two separate roots to functions.
winevulkan: Use the correct logger method.
wined3d: Do not clamp fog in the VS.
wined3d: Calculate the texture matrix solely from the vertex declaration.
wined3d: Rewrite the comment in compute_texture_matrix().
wined3d: Clear caps to zero in shader caps query functions.
wined3d: Initialize max_blend_stages in the SPIRV fragment pipe.
wined3d: Move shader_trace().
wined3d: Move shader parsing to shader_set_function().
wined3d: Create stub FFP pixel shaders.
wined3d: Create stub FFP vertex shaders.
wined3d: Account for HLSL FFP shaders in find_ps_compile_args().
wined3d: Allow using the HLSL FFP replacement with GL.
wined3d: Use the FFP HLSL pipeline for pretransformed draws as well.
wined3d: Beginnings of an HLSL FFP vertex shader implementation.
include: Add dxvahd.idl.
dxva2: Stub DXVAHD_CreateDevice().
Eric Pouech (17):
kernel32/tests: Don't hardcode page size in buffer size.
advapi32/tests: Fix typo in manifest constant.
advapi32: Test some other cases of process access rights mapping.
server: Amend process rights mapping.
cmd/tests: Add tests about substring substitution in variable expansion.
cmd: Fix substring substitution in variable expansion.
cmd: Implement 'touch' equivalent in COPY builtin.
cmd/tests: Add test about IF EXIST.
cmd: Modifiers in tilde variable expansion are case insensitive.
cmd: Fix 'IF EXIST DIRECTORY' test condition evaluation.
dbghelp: Don't try to load PDB for a RSDS debug directory in .buildid section.
dbghelp: Only WARN on stripped PE images.
dbghelp/tests: Improve SymSrvGetFileIndexInfo tests.
dbghelp: Fill-in data in SymSrvGetFileIndexIndo if BAD_EXE_FORMAT.
dbghelp/tests: Add retry wrapper around SymRefreshModuleList().
dbghelp/tests: Add tests for SymRefreshModuleList().
dbghelp: Implement SymRefreshModuleList().
Etaash Mathamsetty (1):
explorer: Enable the Wayland driver.
Fabian Maurer (9):
net/tests: Add test for stopping non existing service.
net: Correct error code for stopping non existing service.
msi/tests: Add more tests for MsiSummaryInfoPersist.
msi: Make MsiGetSummaryInformationW open database as direct instead of transacted.
ieframe: Add IERefreshElevationPolicy stub.
comctl32/listbox: Close a few leaked window handles.
comctl32/combo: Add tests for keypresses showing search functionality.
comctl32/listbox: Add tests for keypresses showing search functionality.
msxml3: Undo removal of xmlThrDefTreeIndentString.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (18):
mshtml: Reset builtin function props to their default values when deleted.
mshtml: Throw invalid action for IE8 window prop deletion.
jscript: Add basic semi-stub implementation of GetMemberProperties.
mshtml: Use BSTR to store global prop's name.
mshtml: Override window's element prop directly rather than using GLOBAL_DISPEXVAR.
mshtml: Check if window global prop still exists before returning its id.
mshtml: Forward deletion for GLOBAL_SCRIPTVAR to the script's object.
jscript: Delete external props before redefining them.
jscript: Make most builtin global objects configurable.
mshtml: Use actual referenced prop flags for window script props.
mshtml: Don't use cycle collection for nsChannel.
mshtml: Enumerate all own builtin props from host object's NextProperty.
mshtml/tests: Add initial tests for prototype chain props.
mshtml: Expose ownerDocument from NodePrototype.
mshtml: Don't expose removeNode from NodePrototype.
mshtml: Don't expose replaceNode from NodePrototype.
mshtml: Don't expose swapNode from NodePrototype.
mshtml: Set the name of the non-function constructors to the same as the object.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.302.
Gerald Pfeifer (3):
dpwsockx: Don't use true as a variable name.
msi: Don't use bool as a variable name.
jscript: Don't use bool as a variable name.
Hans Leidekker (3):
wininet: Accept UTC as the equivalent of GMT.
wininet: Use InternetTimeToSystemTimeW() to convert header values.
iphlpapi: Sort adapters by route metric in GetAdaptersAddresses().
Haoyang Chen (5):
winhttp/tests: Add some tests for WinHttpRequestOption_SslErrorIgnoreFlags in IWinHttpRequest_{put,get}_Option.
winhttp: Add support WinHttpRequestOption_SslErrorIgnoreFlags in IWinHttpRequest_put_Option.
winhttp: Add support WinHttpRequestOption_SslErrorIgnoreFlags in IWinHttpRequest_get_Option.
winex11: Fix URL encoding for non-ASCII characters.
wined3d: Fix a memory leak.
Jacek Caban (6):
configure: Use -ffunction-sections for PE targets.
winegcc: Pass -fms-hotpatch to the linker.
configure: Use -fms-hotpatch when available.
configure: Preserve original CFLAGS when adding LLVM flags.
ntdll: Use proper format string for ULONG type.
windowscodecs/tests: Always use a format string in winetest_push_context calls.
Jinoh Kang (2):
server: Don't crash when opening null path with a console handle as RootDirectory.
server: Don't crash when opening null path with a console server as RootDirectory.
John Chadwick (2):
wintab32: Align WTPACKET for 32/64-bit archs.
winex11: Remove stub tablet_get_packet wow64 thunk.
Marc-Aurel Zent (5):
winemac.drv: Allow symbol vkeys to match on Mac virtual key codes.
winemac.drv: Add Mac virtual key code information to the German layout.
winemac.drv: Add additional French symbol vkeys mappings.
include: Add Japanese IME virtual key codes to kbd.h.
winex11: Include kbd.h instead of ime.h.
Matteo Bruni (1):
wined3d: Allow reusing current GL context without a current RT.
Michael Müller (2):
ntdll: Implement HashLinks field in LDR module data.
ntdll: Use HashLinks when searching for a dll using the basename.
Mohamad Al-Jaf (3):
icmui: Add stub dll.
icmui: Add SetupColorMatchingW() stub.
icmui/tests: Add some SetupColorMatchingW() tests.
Nikolay Sivov (4):
dwrite/layout: Skip to the next typography range when current one has no features.
comctl32/listview: Initialize hot cursor handle.
comctl32/listview: Send LVN_HOTTRACK in response to mouse moves.
d2d1/tests: Add some tests for WIC target formats.
Paul Gofman (4):
kernel32/tests: Factor out is_old_loader_struct().
kernel32/tests: Add tests for module hash links.
server: Don't update cursor pos in set_window_pos() if window wasn't moved.
opengl: Avoid infinite recursion in bezier_approximate() in case of degraded curve.
Piotr Caban (2):
services: Sort services start order by start type.
wine.inf: Set MountMgr service start option to SERVICE_BOOT_START.
Pétur Runólfsson (1):
wtsapi32: Handle WTSSessionInfo class in WTSQuerySessionInformationW().
Rémi Bernon (63):
d3d9/tests: Avoid creating visible windows concurrently.
d3d9/tests: Use static class for the dummy window.
d3d8/tests: Avoid creating visible windows concurrently.
d3d8/tests: Use static class for the dummy window.
wined3d: Cast format_id when comparing it to the last format index.
winewayland: Fix surface scaling with HiDPI compositor.
win32u: Offset the new display modes relative to the primary source.
server: Use the monitor infos to map points from raw to virt.
win32u: Compute monitors raw DPI from the physical / current mode ratio.
win32u: Introduce a new registry setting to emulate modesetting.
desk.cpl: Expose the modesetting emulation registry setting.
winex11: Avoid requesting unnecessary _NET_WM_STATE changes.
winex11: Avoid requesting unnecessary window config changes.
winex11: Avoid updating _NET_WM_STATE on iconic windows.
winex11: Simplify the control flow in WM_STATE handlers.
winex11: Simplify the control flow in ConfigureNotify handlers.
winex11: Reset embedded window position to 0x0 before docking it.
winex11: Reset the window relative position when it gets reparented.
winex11: Introduce a new host_window_send_configure_events helper.
winex11: Retrieve the HWND for the host window's child window.
winex11: Avoid overriding previously received ConfigureNotify events.
winex11: Generate ConfigureNotify events for the children tree.
winex11: Always generate ConfigureNotify events for embedded windows.
winex11: Ignore focus changes during WM_STATE transitions.
winex11: Use the new window state tracker to get _NET_WM_STATE value.
winex11: Use the new window state tracker to get WM_STATE value.
winex11: Introduce a new window_update_client_state helper.
winex11: Introduce a new window_update_client_config helper.
winebus: Always return success from PID effect control.
winebus: Enable all PID effect types for wheel devices.
winebus: Build HID report descriptors on device creation.
winebus: Lookup device HID usage and usage page on the PE side.
winebus: Count HID buttons and pass it to is_hidraw_enabled.
winebus: Enable hidraw by default for various HOTAS controllers.
dinput: Assume that clipping the cursor uses the requested rectangle.
dinput: Only call SetCursorPos if ClipCursor fails.
winex11: Listen to PropertyNotify events on the virtual desktop window.
winex11: Don't expect WM_STATE events on override-redirect windows.
winex11: Wait for pending _NET_WM_STATE before updating the client state.
winex11: Wait for pending ConfigureNotify before updating the client state.
winex11: Update the window client config on window state changes.
winex11: Request window state updates asynchronously.
d3d9/tests: Flush events after minimizing and restoring focus window.
evr: Use D3DCREATE_MULTITHREADED device creation flag.
winex11: Use the state tracker to decide if changes can be made directly.
winex11: Update other window state properties within window_set_wm_state.
winex11: Call window_set_wm_state when unmapping embedded windows.
winex11: Get rid of the now unnecessary iconic field.
winex11: Get rid of the now unnecessary mapped field.
kernel32/tests: Check for the _SW_INVALID bit presence only.
gitlab: Wait for the fvwm process to start.
win32u: Check if parent is the desktop window in get_win_monitor_dpi.
win32u: Map cursor pos to raw DPI before calling drivers SysCommand.
secur32/tests: Update the tests to expect HTTP/2 headers.
urlmon/tests: Expect "Upgrade, Keep-Alive" connection string.
wininet: Parse multi-token Connection strings for Keep-Alive.
winex11: Introduce a new get_window_state_updates helper.
winex11: Generate GravityNotify events instead of ConfigureNotify.
winex11: Avoid sending WM_WINDOWPOSCHANGING when applying window manager config.
winex11: Delay window config request when restoring from fullscreen/maximized.
user32/tests: Workaround a FVWM maximized window state bug.
winex11: Update the Win32 window state outside of event handlers.
winex11: Remove now unnecessary WindowPosChanged re-entry guards.
Vibhav Pant (5):
setupapi: Add stub for SetupDiGetDevicePropertyKeys.
setupapi/tests: Add tests for SetupDiGetDevicePropertyKeys.
setupapi: Implement SetupDiGetDevicePropertyKeys.
threadpoolwinrt: Fix potential NULL dereference in QueryInterface for IAsyncAction.
threadpoolwinrt: Associate work items with the appropriate callback environment.
Vitor Ramos (2):
include: Add cpp header guard to the pathcch.h.
include: Use enum for PATHCCH_ options.
Yuxuan Shui (1):
dinput: Keep the module around while input thread is running.
Zhiyi Zhang (14):
urlmon: Support Uri_HOST_IDN.
urlmon: Support Uri_DISPLAY_NO_FRAGMENT.
urlmon: Support Uri_PUNYCODE_IDN_HOST.
urlmon: Support Uri_DISPLAY_IDN_HOST.
urlmon/tests: Test flags for getting properties.
ntdll/tests: Add NtSetIoCompletionEx() tests.
ntdll: Implement NtSetIoCompletionEx().
wintypes: Implement RoParseTypeName().
wintypes/tests: Add RoParseTypeName() tests.
win32u: Print the correct index when source_enum_display_settings() fails.
ntdll/tests: Remove a workaround for older systems.
ntdll/tests: Add more NtSetInformationFile() tests.
server: Set overlapped fd to signaled after setting completion information.
kernel32: Add GetCurrentPackageInfo() stub.
Ziqing Hui (6):
propsys: Add PropVariantToBSTR stub.
propsys/tests: Test PropVariantToBSTR.
propsys/tests: Test truncating for PropVariantToString.
propsys: Implement PropVariantToBSTR.
propsys: Use debugstr_variant for the trace in VariantToPropVariant.
propsys: Support converting to BSTR for PropVariantToVariant.
```
The Wine development release 9.21 is now available.
What's new in this release:
- More support for network sessions in DirectPlay.
- Header fixes for C++ compilation.
- I/O completion fixes.
- More formats supported in D3DX9.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.21.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.21/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.21 (total 16):
- #27933 Implement sort.exe command
- #47776 Multiple games crash on unimplemented function D3DXOptimizeVertices (Timeshift, Call of Duty 2 modding tools, Rise of Nations: Rise of Legends 2010)
- #48235 Multiple applications need 'ntdll.NtWow64QueryInformationProcess64' (IP Camera Viewer 4.x)
- #48796 Saints Row 2 needs GUID_WICPixelFormat48bppRGB
- #52078 MusicBee: exception when attempting to drag tabs ( (QueryInterface for the interface with IID '{83E07D0D-0C5F-4163-BF1A-60B274051E40}' gives Exception E_NOINTERFACE))
- #54295 Touhou Puppet Dance Performance: Shard of Dreams Can't Locate Base Game Data After Installation
- #54623 MediRoutes crashes on unimplemented function websocket.dll.WebSocketCreateClientHandle
- #56219 Paint Shop Pro 9.01, printing function doesn't work
- #57164 Can't start RtlpWaitForCriticalSection
- #57183 9.17-devel: Drag and Drop no longer works on Ubuntu 24.04 Noble
- #57275 Black screen when using full-screen mode from version 9.18
- #57292 unimplemented function apphelp.dll.SdbSetPermLayerKeys
- #57296 WineHQ-devel-9.19: Renders Distorted Radio Buttons on WinXP Solitaire
- #57314 Metal Gear Solid V gametrainer needs wmi Win32_Process executablepath property
- #57355 Window-resize won't refresh controls on mainform
- #57392 AnyRail msi crashes
### Changes since 9.20:
```
Alex Henrie (2):
ntdll: Implement NtWow64QueryInformationProcess64.
include: Annotate PFN_CMSG_ALLOC with __WINE_ALLOC_SIZE.
Alexandre Julliard (22):
winetest: Remove strmake() len argument for consistency with other modules.
winetest: Get default tag and URL from Gitlab CI variables.
capstone: Allow callers to specify their memory allocators.
capstone: Comment out error printfs.
opengl32: Cache downloaded files in make_opengl.
opencl: Cache downloaded files in make_opencl.
winevulkan: Cache downloaded files in make_vulkan.
include: Use __attribute__ in preference to __declspec.
wow64: Fix handle conversion in NtWow64QueryInformationProcess64.
wow64: Move NtWow64QueryInformationProcess64 to process.c.
user32: Add some new entry points and ordinals.
gdi32: Add some new entry points and ordinals.
win32u: Add some new stub entry points.
ntdll/tests: Skip the syscall relocation test if the file on disk is not updated.
kernel32/tests: Search the current directory for newly-created dlls.
netstat: Use wide character string literals.
notepad: Use wide character string literals.
oleview: Use wide character string literals.
services: Use wide character string literals.
taskmgr: Use wide character string literals.
winefile: Use wide character string literals.
wordpad: Use wide character string literals.
Alexey Prokhin (1):
kernelbase: Set the proper error code in GetQueuedCompletionStatus{Ex} when the handle is closed.
Alistair Leslie-Hughes (11):
include: Add rstscr.idl.
include: Add rstxsc.idl.
include: Add rstfnd.idl.
include: Add rstidn.idl.
include: Add DBGUID_DBSQL define.
include: Add DB_S_ROWLIMITEXCEEDED define.
include: Dbs.idl: Added DBVECTOR/DB_VARNUMERIC types.
include: Move ISAXXMLFilter interface to after base ISAXXMLReader.
dplayx: Use a single reference count for IDirectPlay interfaces.
dplayx: Remove numIfaces variable in IDirectPlayLobby.
dplayx: Use default DllCanUnloadNow implementation.
Anton Baskanov (31):
dplayx: Inline logic from CreatePlayer() functions into DP_IF_CreatePlayer().
dplayx: Allow storing group SP data.
dpwsockx: Get player address from SP header and use it in SendEx().
dpwsockx: Add partial SendToGroupEx() implementation.
dplayx: Send CREATEPLAYER instead of ADDFORWARDREQUEST in CreatePlayer().
dplayx: Queue DPSYS_CREATEPLAYERORGROUP on player creation.
dplayx: Remove received message from the queue.
dplayx: Set message sender and receiver IDs in Receive().
dplayx: Make a deep copy of the message.
dplayx: Set message data size in Receive().
dplayx: Set flags correctly in CreatePlayer().
dplayx: Always set the data size in GetPlayerData().
dplayx/tests: Test that player from CREATEPLAYER is added to the session.
dplay: Handle CREATEPLAYER and add player to the session.
dplayx/tests: Use the correct system player ID in sendSuperEnumPlayersReply().
dplayx/tests: Test client side of Send() separately.
dplayx: Queue the message for local players in SendEx().
dplayx: Remove the separate branch for DPID_ALLPLAYERS in SendEx().
dplayx: Send the message in SendEx().
dplayx/tests: Test client side of Receive() separately.
dplayx: Handle game messages.
dplayx: Check the buffer size in Receive().
dplayx: Return DPERR_BUFFERTOOSMALL from Receive() if data is NULL.
dplayx: Handle DPRECEIVE_TOPLAYER and DPRECEIVE_FROMPLAYER in Receive().
dplayx: Enter the critical section in DP_IF_Receive().
dplayx/tests: Test non-guaranteed Send().
dpwsockx: Support non-guaranteed delivery.
dplayx/tests: Test receiving UDP messages.
dpwsockx: Receive UDP messages.
dplayx/tests: Test that PINGREPLY is sent in reply to PING.
dplayx: Handle PING and send PINGREPLY.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (2):
gdiplus: Add GdipGetEffectParameterSize stub and fix GdipDeleteEffect.
gdiplus/tests: Add GdipGetEffectParameterSize test.
Biswapriyo Nath (2):
include: Add new property keys in propkey.h.
include: Add windows.applicationmodel.datatransfer.idl.
Brendan Shanks (2):
ntdll/tests: Add test for direct syscalls on x86_64.
ntdll: Add SIGSYS handler to support syscall emulation on macOS Sonoma and later.
Christian Costa (1):
d3dx9: Add semi-stub for D3DXOptimizeVertices().
Connor McAdams (10):
d3dx9: Introduce d3dx_pixel_format_id enumeration.
d3dx9: Use the d3dx_pixel_format_id enumeration inside of the d3dx_image structure.
d3dx9: Use the d3dx_pixel_format_id enumeration inside of the DDS pixel format lookup structure.
d3dx9: Use the d3dx_pixel_format_id enumeration inside of the WIC pixel format lookup structure.
d3dx9/tests: Add more tests for handling JPG/PNG files.
d3dx9: Report 24bpp RGB as 32bpp XRGB for JPG and PNG files.
d3dx9: Add support for decoding 64bpp RGBA PNG files.
d3dx9: Add support for decoding 48bpp RGB PNG files.
d3dx9: Add support for loading surfaces from 48bpp RGB PNG files.
d3dx9: Add support for loading volumes from 48bpp RGB PNG files.
Elizabeth Figura (7):
win32u: Normalize inverted rectangles in dibdrv_RoundRect().
win32u: Correctly handle transforms which flip in get_arc_points().
win32u: Do not convert back to integer before finding intersections.
win32u: Forward to Rectangle() if the ellipse width or height is zero.
wmilib.sys: Add stub DLL.
ntoskrnl: Stub PoRequestPowerIrp().
ntdll: Do not queue completion for a synchronous file.
Eric Pouech (2):
midiseq: Reduce race window when closing sequencer.
kernelbase: Add undocumented EXTENDED_FLAGS to process attribute list.
Fabian Maurer (13):
comdlg32/tests: Fix compilation for gcc 4.7.
mf/tests: Fix compilation for gcc 4.7.
wbemprox/tests: Add test for Win32_Process querying "ExecutablePath" propery.
wbemprox: Add property "ExecutablePath" to Win32_Process.
userenv/tests: Add another test for GetProfilesDirectoryA.
ntdll/tests: Add more tests for RtlExpandEnvironmentStrings/_U.
kernel32/tests: Add tests for ExpandEnvironmentStringsW.
kernel32/tests: Add more tests for ExpandEnvironmentStringsA.
kernel32/tests: Add ExpandEnvironmentStringsA tests for japanese.
ntdll: Rework RtlExpandEnvironmentStrings/_U to account for corner cases.
kernel32: Rework ExpandEnvironmentStringsW error handling.
kernel32: Rework ExpandEnvironmentStringsA to return ansi size and fix corner cases.
userenv: Fix GetProfilesDirectoryA return value.
Hans Leidekker (2):
fc: Support /c option.
wintypes/tests: Add tests for RoResolveNamespace().
Jacek Caban (2):
winecrt0: Use version 2 of CHPE metadata.
winegcc: Skip --no-default-config in find_libgcc.
Jactry Zeng (11):
msvcrt/tests: Test tolower() with DBCS.
msvcrt: Improve DBCS support for _tolower_l().
msvcrt/tests: Test _tolower_l() with DBCS.
msvcrt: Correct the result of non-ASCII characters for _strnicmp_l().
msvcrt/tests: Test _stricmp() with multiple bytes characters.
include: Add _strnicmp_l() declaration.
msvcrt/tests: Add tests of _strnicmp_l().
msvcrt/tests: Test toupper() with DBCS.
msvcrt: Improve DBCS support for _toupper_l().
msvcrt/tests: Add tests for locale information.
msvcrt: Try to generate CTYPE data according to the given codepage.
Jinoh Kang (2):
server: Allow creating named pipes using \Device\NamedPipe\ as RootDirectory.
server: Implement more FSCTLs on \Device\NamedPipe and \Device\NamedPipe\.
Matteo Bruni (2):
d3dx9/tests: Disable test sometimes crashing on Windows.
winegstreamer: Split large WMA samples.
Maxim Karasev (1):
klist: Migrate to KerbQueryTicketCacheExMessage.
Michael Lelli (1):
ntdll: Use __wine_unix_spawnvp() to invoke unmount command.
Paul Gofman (7):
ntdll: Introduce a separate per-thread object for internal completion waits.
ntdll: Assign completion to thread when wait for completion is satisfied.
ntdll: Handle user APCs explicitly in NtRemoveIoCompletionEx().
server: Signal completion port waits on handle close.
ntdll/tests: Add tests for completion port signaling.
server: Sync cursor position on window position change.
mountmgr.sys: Stub StorageDeviceSeekPenaltyProperty query.
Piotr Caban (1):
kernelbase: Support backslashes when parsing relative URL in UrlCombine.
Rémi Bernon (59):
win32u: Do not adjust old valid rect when moving child window bits.
winex11: Introduce a new struct host_window for host-only windows.
winex11: Create host windows recursively up to root_window.
winex11: Keep track of the host window children of interest.
winex11: Keep track of the host windows relative rects.
winex11: Keep track of the host windows children window rects.
winex11: Use the new host windows to register foreign window events.
winex11: Generate relative ConfigureNotify on parent ConfigureNotify events.
winex11: Get rid of the now unnecessary foreign windows.
windows.gaming.input: Invoke event handlers outside of the critical section.
windows.devices.enumeration: Invoke event handlers outside of the critical section.
windows.media.speech: Invoke event handlers outside of the critical section.
winex11: Avoid processing RRNotify events in xrandr14_get_id.
winemac: Merge DND structures and rename constants / functions.
winemac: Introduce a new QUERY_DRAG_DROP_ENTER query.
winemac: Use the new win32u drag'n'drop interface.
winex11: Set configure_serial when resizing on display mode change.
winex11: Rename read_net_wm_state to get_window_net_wm_state.
winex11: Move ConfigureNotify checks after computing visible rect.
winex11: Move embedded check in update_net_wm_states / sync_window_style.
winex11: Register PropertyChangeMask for unmanaged windows.
win32u: Clear display device before refreshing the registry cache.
win32u: Allocate device manager context gpu dynamically.
win32u: Keep the source registry key on the source struct.
win32u: Allocate device manager context source dynamically.
win32u: Allocate device manager context monitors dynamically.
winex11: Track WM_STATE window property requests and updates.
winex11: Track _XEMBED_INFO window property changes.
winex11: Introduce a new window_set_wm_state helper.
winex11: Introduce a new window_set_net_wm_state helper.
winex11: Track _NET_WM_STATE window property requests and updates.
winex11: Introduce a new window_set_config helper.
winex11: Track window config requests and updates.
win32u: Introduce a NTGDI_RGN_MONITOR_DPI flag for NtGdiGetRandomRgn.
winex11: Compute absolute rect using the window data window rects.
winex11: Use the toplevel window drawable to create DCs.
winex11: Remove now unused child_window_from_point helper.
win32u: Compute the owner window hint on behalf of the drivers.
include: Add __pctype_func declaration.
include: Add some localized ctype.h function declarations.
include: Add some struct timespec definitions.
include: Add some ___mb_cur_max_func declarations.
include: Add some __sys_nerr declaration.
include: Fix _strtod_l/strtold/_strtold_l declarations.
include: Remove non-existing _atold definition.
include: Add math.h _(l|f)dtest function declarations.
include: Add wcscat_s C++ wrapper definitions.
include: Add abs C++ wrapper definitions.
include: Add atan2l inline definition.
include: Add max_align_t definition.
include: Add CaptureStackBackTrace macro definition.
include: Add SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE flag.
include: Fix IMAGE_IMPORT_BY_NAME declaration.
win32u: Implement get_win_monitor_dpi.
win32u: Use MDT_RAW_DPI monitor DPI type in the drivers.
win32u: Move some monitor info getter code around.
win32u: Inform wineserver about the winstation monitors.
server: Use the monitor infos to compute the virtual screen rect.
winex11: Skip faking ConfigureNotify if state/config change is expected.
Sebastian Krzyszkowiak (1):
mciseq: Don't seek to the end of the root chunk in RMID files.
Semenov Herman (Семенов Герман) (1):
ole32: Fixed copy paste error with OFFSET_PS_MTIMEHIGH in UpdateRawDirEntry.
Vijay Kiran Kamuju (11):
gdiplus: Add GdipCreateEffect implementation.
gdiplus: Partial implementation of GdipGetEffectParameterSize.
apphelp: Add stub SdbSetPermLayerKeys().
apphelp: Add stub SdbGetPermLayerKeys().
apphelp: Add stub SetPermLayerState().
include: Add missing defines and enums for IDragSourceHelper2.
websocket: Add stub for WebCreateClientHandle.
websocket: Add stub for WebSocketAbortHandle.
websocket: Add stub for WebSocketDeleteHandle.
taskschd: Implement IDailyTrigger_put_EndBoundary.
taskschd: Implement IDailyTrigger_get_EndBoundary.
Zhiyi Zhang (30):
include: Add Windows.Foundation.PropertyValue runtime class.
wintypes: Use DEFINE_IINSPECTABLE.
wintypes: Add IPropertyValueStatics stub.
wintypes: Support IPropertyValue primitive objects.
wintypes: Support IPropertyValue primitive array objects.
wintypes: Implement IReference<boolean>.
wintypes: Implement IReference<HSTRING>.
wintypes: Implement IReference<DOUBLE>.
wintypes: Add IPropertyValueStatics tests.
include: Add windows.applicationmodel.datatransfer.dragdrop.idl.
include: Add windows.applicationmodel.datatransfer.dragdrop.core.idl.
include: Add dragdropinterop.idl.
dataexchange: Add initial dll.
dataexchange: Add ICoreDragDropManagerStatics stub.
dataexchange: Add IDragDropManagerInterop stub.
dataexchange: Implement dragdrop_manager_interop_GetForWindow().
dataexchange/tests: Add ICoreDragDropManagerStatics tests.
dataexchange/tests: Add ICoreDragDropManager tests.
dataexchange: Make core_dragdrop_manager_add_TargetRequested() return S_OK.
iertutil: Add IUriRuntimeClassFactory stub.
iertutil: Implement uri_factory_CreateUri().
iertutil: Implement uri_RawUri().
iertutil: Add uri_AbsoluteUri() semi-stub.
iertutil/tests: Add IUriRuntimeClassFactory tests.
iertutil/tests: Add IUriRuntimeClass tests.
user32: Add EnableMouseInPointerForThread() stub.
user32: Add RegisterTouchPadCapable() stub.
include: Add IAgileReference and INoMarshal.
combase: Implement RoGetAgileReference().
combase/tests: Add RoGetAgileReference() tests.
```
The Wine development release 9.20 is now available.
What's new in this release:
- Bundled Capstone library for disassembly in WineDbg.
- More formats supported in D3DX9.
- Static analysis and JUnit test reports in Gitlab CI.
- More support for network sessions in DirectPlay.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.20.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.20/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.20 (total 15):
- #39848 Victoria 2 (Steam) fails to start with Wine-Mono
- #50850 Just Cause crashes when starting new game (D3DXCreateTexture unsupported format, fallback format crashes)
- #56372 musl based exp2() gives very inaccurate results on i686
- #56645 unimplemented function httpapi.dll.HttpSendResponseEntityBody
- #56973 Building wine with mingw/gcc 14.1.1 fails with error '-Wimplicit-function-declaration'
- #57233 Multiple games show black screen/window on startup (BeamNG.drive, Wargaming.net games)
- #57245 Can't recognize executables/scripts with a dot in the name...
- #57250 Rhinoceros installers crash with bad_alloc
- #57269 wine-9.19 build with ffmpeg fails in winedmo in Ubuntu 20.04
- #57271 `winetricks -q art2kmin` shows several popups -- Unable to load dll
- #57293 Helicon Focus 8.2.0 regression: open images hangs the application
- #57294 Wine 9.13+ freezes in some applications using WMA Lossless audio
- #57300 KnightOfKnights crashes once entering the game
- #57302 In Notepad++ find window gets glitched after losing and regaining focus
- #57311 Nikon NX Studio Overlay windows incorrectly shown.
### Changes since 9.19:
```
Aida Jonikienė (1):
winex11: Properly handle minimized windows in update_net_wm_fullscreen_monitors().
Alex Henrie (2):
winebus: Allow any free device index to be reused immediately.
explorer: Support the NoDesktop registry setting.
Alexandre Julliard (21):
gitlab: Add support for static analysis using Clang.
gitlab: Add a daily sast build.
gitlab: Add a daily mac build.
faudio: Import upstream release 24.10.
mpg123: Import upstream release 1.32.7.
png: Import upstream release 1.6.44.
tiff: Import upstream release 4.7.0.
ldap: Import upstream release 2.5.18.
fluidsynth: Import upstream release 2.3.6.
xslt: Import upstream release 1.1.42.
libs: Import the Capstone library version 5.0.3.
winedbg: Switch to the Capstone disassembler.
libs: Remove the no longer used Zydis library.
widl: Use plain inline instead of defining a macro.
include: Remove custom stdcall/cdecl definition for ARM platforms.
include: Assume that nameless unions/structs are supported.
include: Stop using WINAPIV in msvcrt headers.
xml2: Import upstream release 2.12.8.
makefiles: Use llvm-strip in MSVC mode.
tools: Update the install-sh script.
wow64: Add missing ThreadIdealProcessorEx class.
Alistair Leslie-Hughes (1):
dplayx/tests: Correct Enum tests.
Anton Baskanov (27):
dplayx: Use DP_CreatePlayer() in DP_SecureOpen().
dplayx: Free the old session desc in DP_SecureOpen().
dplayx: Free resources on error paths in DP_SecureOpen().
dplayx: Send password in player creation forward request.
dplayx: Check REQUESTPLAYERREPLY size before access.
dplayx: Free message header on error path in DP_MSG_SendRequestPlayerId().
dplayx: Use the documented reply layout in DP_MSG_SendRequestPlayerId().
dplayx: Check reply result in DP_MSG_SendRequestPlayerId().
dplayx/tests: Test receiving REQUESTPLAYERREPLY with error result.
dplayx: Handle ADDFORWARDREPLY and return error.
dplayx/tests: Test receiving ADDFORWARDREPLY.
dplayx/tests: Wait for Open() to finish when forward request is not expected.
dplayx/tests: Correctly report lines in check_Open().
dplayx/tests: Send correct port in requests in check_Open().
dplayx: Don't crash on unknown command ids.
dplayx/tests: Test that ADDFORWARDACK is sent in reply to ADDFORWARD.
dplayx: Keep track of the connection status in bConnectionOpen.
dplayx: Enter the critical section when accessing the session desc.
dplayx: Enter the critical section when accessing the player list.
dplayx: Remove const from message body and header parameters of DP_HandleMessage().
dplayx: Handle ADDFORWARD, add player to the session and send ADDFORWARDACK.
dplayx: Prevent multiplication overflow in DP_MSG_ReadSuperPackedPlayer().
dplayx/tests: Use DPENUMPLAYERS_LOCAL and DPENUMPLAYERS_REMOTE to check player flags in checkPlayerList().
dplayx: Respect enumeration flags in EnumPlayers().
dplayx: Return DPERR_INVALIDPARAM from CreatePlayer() if session is not open.
dplayx/tests: Test client side of CreatePlayer() separately.
dplayx: Remove the unused lpMsgHdr parameter from DP_IF_CreatePlayer().
Bernhard Übelacker (1):
msvcrt: Initialize locale data in new threads.
Biswapriyo Nath (7):
include: Add windows.data.xml.dom.idl.
include: Add windows.security.authorization.appcapabilityaccess.idl.
include: Fix base class of ICompositorInterop interface.
include: Add windows.ui.notifications.idl.
include: Add IUISettings4 definition in windows.ui.viewmanagement.idl.
include: Add IUISettings5 definition in windows.ui.viewmanagement.idl.
include: Add IUISettings6 definition in windows.ui.viewmanagement.idl.
Charlotte Pabst (5):
riched20/tests: Test that ScrollWindowEx and GetClientRect are only called when control is in-place active.
riched20: Exit from editor_ensure_visible when control is not in-place active.
riched20: Only call ME_SendRequestResize when control is in-place active.
comdlg32: Fix buffer overflow when current_filter is longer than MAX_PATH.
comdlg32/tests: Add tests for itemdlg filters longer than MAX_PATH.
Connor McAdams (28):
d3dx9: Add pixel_format_desc type checking helper functions.
d3dx9: Rework pixel_format_desc structure format type value.
d3dx9: Always align and mask channel bits in format_to_d3dx_color().
d3dx9: Get rid of la_{to,from}_rgba format callbacks.
d3dx9: Get rid of index_to_rgba callback.
d3dx9: Add support for D3DFMT_X8L8V8U8.
d3dx9: Add support for D3DFMT_A2W10V10U10.
d3dx9: Add support for D3DFMT_A8P8.
d3dx9: Add support for D3DFMT_V16U16.
d3dx9: Add support for D3DFMT_Q16W16V16U16.
d3dx9/tests: Add tests for DDS files containing indexed pixel formats.
d3dx9: Include color palette size when validating the size of DDS files with indexed pixel formats.
d3dx9: Add support for retrieving pixels from DDS files with indexed pixel formats.
d3dx9: Add support for D3DFMT_A8P8 DDS files.
d3dx9/tests: Add more DDS pixel format tests.
d3dx9/tests: Add file size validation tests for DDS files containing packed pixel formats.
d3dx9: Validate the size of DDS files containing packed pixel formats.
d3dx9: Rework conversion to/from D3DFORMAT from/to DDS pixel format.
d3dx9: Add support for more DDS pixel formats.
d3dx9: Do not use WIC to detect image file format.
d3dx9/tests: Add TGA header image info tests.
d3dx9: Use d3dx9 to get image information for targa files.
d3dx9/tests: Remove now unused arguments from check_tga_image_info().
d3dx9/tests: Add more tests for loading targa files.
d3dx9: Add support for loading basic targa images without WIC.
d3dx9: Add support for decoding targa files with different pixel orders in d3dx9.
d3dx9: Add support for decoding targa files with run length encoding in d3dx9.
d3dx9: Add support for decoding targa files with a color map in d3dx9.
Daniel Lehman (4):
msvcp90/tests: Add tests for string length.
msvcp90/tests: Add some tests for num_put on ints.
msvcp90: Exclude sign from count in num_put.
msvcp90/tests: Add tests for int in num_put.
Dmitry Timoshkov (1):
gdiplus: Add support for EmfPlusRecordTypeSetRenderingOrigin record playback.
Elizabeth Figura (6):
wined3d: Move rasterizer state invalidation to wined3d_stateblock_set_render_state().
ddraw: Do not apply the entire stateblock when clearing.
d3d8: Do not apply the stateblock when clearing.
d3d9: Do not apply the stateblock when clearing.
win32u: Allocate the whole max_points for the top_points array.
win32u: Always select the point that's closer to the ellipse.
Eric Pouech (3):
dbghelp: Protect against buffer overflow in traces.
dbghelp: Add a couple of TRACE().
dbghelp: Fix a couple a typos.
Esme Povirk (1):
comctl32: Implement WM_GETOBJECT for buttons.
Gabriel Ivăncescu (7):
jscript: Allow ES5 keywords as identifiers in variable declarations.
jscript: Allow ES5 keywords as identifiers in catch statements.
jscript: Allow ES5 keywords as identifiers in function expressions.
jscript: Allow ES5 keywords as identifiers in function parameter lists.
jscript: Allow ES5 keywords as identifiers in labelled statements.
jscript: Allow ES5 keywords as identifiers in expressions.
mshtml: Make sure disp_invoke is called before locking the document mode.
Hans Leidekker (4):
msiexec: Remove quotes from all filenames.
findstr: Fix codepage passed to WideCharToMultiByte().
ntdll: Add a stub implementation of NtQueryInformationThread(ThreadIdealProcessorEx).
sort: New program.
Haoyang Chen (1):
mlang: Check handle validity in IMLangFontLink_GetFontCodePages.
Martin Storsjö (1):
musl: Fix limiting the float precision in intermediates.
Paul Gofman (15):
wininet: Validate pointers in InternetReadFile().
user32/tests: Add tests for QueryDisplayConfig( QDC_VIRTUAL_MODE_AWARE ).
win32u: Support QDC_VIRTUAL_MODE_AWARE in NtUserGetDisplayConfigBufferSizes().
win32u: Support QDC_VIRTUAL_MODE_AWARE in NtUserQueryDisplayConfig().
ntdll/tests: Add more tests for printf format.
ntdll: Fix passing char argument to pf_handle_string_format().
ntdll: Output unrecognized format symbol in pf_vsnprintf().
ntdll: Make 'l' modifier also affect char wideness.
ntdll: Make 'h' take precedence over 'l' in pf_vsnprintf().
shlwapi: Use printf implementation from ntdll.
windowscodecs: Implement 48bppRGB -> 64bppRGBA conversion.
ddraw/tests: Fix texture interface IID in test_multiple_devices() for ddraw1.
ddraw: Use global handle table in d3d_device2_SwapTextureHandles().
ddraw: Validate handles in d3d_device2_SwapTextureHandles().
ddraw: Update state if d3d_device2_SwapTextureHandles() results in texture change.
Piotr Caban (2):
advapi32: Don't trace password in CreateProcessWithLogonW stub.
conhost: Start input thread for GetNumberOfConsoleInputEvents.
Rémi Bernon (49):
win32u: Use an internal message for XIM IME notifications.
win32u: Add winevulkan/driver entry points to sync surfaces with the host.
winemac: Stop mapping toplevel window rects to parent window.
winemac: Use NtUserSetWindowPos when DPI awareness is unnecessary.
winex11: Use NtUserSetWindowPos when DPI awareness is unnecessary.
winex11: Use XTranslateCoordinates to compute relative coordinates.
win32u: Introduce a new NtUserSetRawWindowPos call for the drivers.
win32u: Pass a rect to SetIMECompositionWindowPos.
win32u: Pass absolute rect to SetIMECompositionRect.
winemac: Use SetIMECompositionRect to keep track of IME position.
win32u: Notify the drivers of destroyed windows on thread detach.
winedmo: Check and guard libavcodec/bsf.h inclusion.
winex11: Move the XDND IDataObject implementation around.
winex11: Cleanup XDND IDataObject methods and variables.
winex11: Use the IDataObject interface to check for CF_HDROP format.
winex11: Cleanup variable names in X11DRV_XDND_SendDropFiles.
winex11: Use IDataObject to get CF_HDROP format for WM_DROPFILES.
winex11: Allocate the XDND data object dynamically.
winex11: Pass window_rects structs parameters to move_window_bits.
win32u: Copy the entire window rect when the whole window is moved.
win32u: Adjust the valid rects to handle visible rect changes.
winex11: Only enter the CS to get a reference on the data object.
winex11: Assume that PostMessageW WM_DROPFILES succeeds.
winex11: Get rid of X11DRV_XDND_SendDropFiles helper.
winex11: Clear the XDND data object on drop event.
winex11: Use a custom IEnumFORMATETC interface implementation.
winex11: Get rid of X11DRV_XDND_HasHDROP helper.
win32u: Use parent-relative coordinates for old window rectangles.
win32u: Avoid crashing when creating a new layered window surface.
winetest: Add printf attributes to strmake.
winetest: Add printf attributes to xprintf.
winetest: Always use a temporary file for test output.
winetest: Pass output file handle to xprintf.
winetest: Introduce some test report helpers.
winetest: Implement JUnit report output mode.
gitlab: Use winetest JUnit output mode.
winex11: Keep the target window on the data object.
winex11: Keep the target window point on the data object.
winex11: Keep the target effect on the data object.
winex11: Keep the IDropTarget pointer instead of HWND/accepted.
winex11: Keep the IDropTarget pointer on the data object.
winegstreamer: Use wmaversion = 4 for MFAudioFormat_WMAudio_Lossless.
win32u: Introduce a new NtUserDragDropCall message call.
winex11: Compute DND drop point earlier when dropping files/urls.
winex11: Query the DndSelection property value earlier.
winex11: Lookup for files/urls DND target window in user32.
win32u: Move the PE side DND callbacks to user32.
win32u: Map points from window monitor DPI to thread DPI.
user32/tests: Flush events after test_SetForegroundWindow.
Santino Mazza (2):
gdiplus: Assign box height when bounding box height is larger.
mmdevapi: Fix buffer overflow in pulse_set_sample_rate.
Vibhav Pant (1):
bluetoothapis/tests: Redefine SDP type descriptor constants to compile with older GCC versions.
Zhiyi Zhang (4):
gitlab: Update generated files for static analysis.
ntdll/tests: Add reserve object tests.
ntdll: Implement NtAllocateReserveObject().
ntdll/tests: Add NtAllocateReserveObject() tests.
Ziqing Hui (4):
propsys/tests: Add tests for PropVariantToVariant.
propsys/tests: Test converting clsid to string.
propsys: Support converting clsid to string for PropVariant.
propsys: Initially implement PropVariantToVariant.
```
The Wine development release 9.19 is now available.
What's new in this release:
- Character tables updates to Unicode 16.0.0.
- Better window positioning in the Wayland driver.
- More support for network sessions in DirectPlay.
- Support for plug&play device change notifications.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.19.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.19/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.19 (total 11):
- #41268 Songr 1 installation fails
- #52208 Malus crashes on unimplemented function WS2_32.dll.WSCGetApplicationCategory
- #56875 WordSmith 9.0 shows error message on start
- #56975 Death to Spies: black screen during video playback
- #57079 Quicken WillMaker Plus 2007 requires unimplemented msvcp70.dll.?getline@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@1@AAV21@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
- #57139 SET changes errorlevel in .bat files
- #57147 exit /B doesn't break for loop
- #57205 FL Studio - ALL RECENT VERSIONS - After Wine 9.17 I cannot drag and drop audio files from file manager into the app, and then file manager crashes
- #57215 cnc-ddraw OpenGL renderer is broken again in 9.18
- #57240 Wine 9.18 - Regression - FL Studio (and probably other apps) don't export correct file formats anymore
- #57242 Quicken WillMaker Plus 2007 requires unimplemented msvcp70.dll.??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDH@Z
### Changes since 9.18:
```
Aida Jonikienė (1):
server: Move last_active variable initialization (Valgrind).
Alexandre Julliard (14):
include: Use __readfsdword intrinsic on MSVC.
include: Remove some obsolete MSVC version checks.
widl: Output statements contained inside modules.
gitlab: Add 'build' tag on Linux build jobs.
tools: Upgrade the config.guess/config.sub scripts.
server: Match formatting of the English manpage.
programs: Formatting tweaks in the man pages.
tools: Formatting tweaks in the man pages.
loader: Formatting tweaks in the man pages.
kernel32/tests: Use a different invalid character since u1806 is now valid.
gitlab: Remove make -j options.
documentation: Update URLs to point to the Gitlab Wiki.
appwiz.cpl: Update URLs to point to the Gitlab Wiki.
winedbg: Update URLs to point to the Gitlab Wiki.
Andrew Nguyen (2):
wininet: Add additional tests for handling of user agent configuration in requests.
wininet: Only include non-empty session user agent string in request headers.
Anton Baskanov (36):
dplayx/tests: Test client-side of Open() separately.
dplayx: Check session desc size first in DP_SecureOpen().
dplayx: Return DPERR_NOSESSIONS from DP_SecureOpen() when there are no sessions.
dpwsockx: Store name server address in Open().
dpwsockx: Start listening for incoming TCP connections in Open().
dplayx: Unlink and clean up the reply struct on error paths in DP_MSG_ExpectReply().
dplayx: Return and check HRESULT from DP_MSG_ExpectReply().
dplayx: Allow specifying multiple reply command ids in DP_MSG_ExpectReply().
dplayx: Expect SUPERENUMPLAYERSREPLY in DP_MSG_ForwardPlayerCreation().
dpwsockx: Return DP_OK from CreatePlayer().
dpwsockx: Add a partial SendEx() implementation.
dplayx: Use SendEx() instead of Send().
dplayx: Initialize the unknown field in DP_MSG_ForwardPlayerCreation().
dpwsockx: Set player data in CreatePlayer().
dplayx: Use the documented message layout in DP_MSG_ForwardPlayerCreation().
dplayx: Merge DP_CalcSessionDescSize() into DP_CopySessionDesc().
dplayx: Add a session duplication helper function and use it in DP_SetSessionDesc() and NS_AddRemoteComputerAsNameServer().
dplayx: Return SP message header from NS_WalkSessions() and get rid of NS_GetNSAddr().
dplayx: Set session desc when joining a session.
dplayx/tests: Test Open() with two enumerated sessions.
dplayx: Find the matching session instead of using the first one.
dplayx/tests: Test that players from SUPERENUMPLAYERSREPLY are added to the session.
dplayx: Don't enumerate system players.
dplayx: Add player to the system group in DP_CreatePlayer().
dplayx: Set player data in DP_CreatePlayer().
dplayx: Return HRESULT from DP_CreatePlayer().
dplayx: Inform the SP about player creation in DP_CreatePlayer().
dplayx: Set SP data in DP_CreatePlayer().
dplayx: Return message header from DP_MSG_ExpectReply().
dplayx: Parse SUPERENUMPLAYERSREPLY and add players to the session.
dplayx/tests: Also check the names returned by GetPlayerName() in checkPlayerListCallback().
dplayx: Don't check dwSize in DP_CopyDPNAMEStruct().
dplayx: Add a name copying helper function and use it in DP_IF_GetGroupName() and DP_IF_GetPlayerName().
dplayx: Store the names contiguously.
dplayx: Store the names as both Unicode and ANSI.
dplayx: Pass ANSI name when enumerating through ANSI interface.
Bernhard Kölbl (1):
mscoree: Register mono log handler callback.
Bernhard Übelacker (2):
ntdll: Add warning if dlopen of unixlib failed.
mmdevapi: Add error if no driver could be initialized.
Billy Laws (3):
ntdll: Match the new ARM64 KiUserExceptionDispatcher stack layout.
regsvr32: Explicitly specify the target machine when relaunching.
msi: Disable WOW64 redirection for all 64-bit package archs.
Biswapriyo Nath (9):
include: Add new value in DWRITE_GLYPH_IMAGE_FORMATS in dcommon.idl.
include: Add UI Automation Text Attribute ID definitions.
include: Add UI Automation Landmark Type ID definitions.
include: Add IDWriteFontFace7 definition in dwrite_3.idl.
include: Add ISystemMediaTransportControls2 definition in windows.media.idl.
include: Add DataWriter runtimeclass in windows.storage.streams.idl.
include: Add IRandomAccessStreamReferenceStatics in windows.storage.streams.idl.
include: Add IRandomAccessStreamReference in windows.storage.streams.idl.
include: Add IOutputStream in windows.storage.streams.idl.
Charlotte Pabst (2):
comdlg32: Update current itemdlg filter in SetFileTypeIndex.
comdlg32/tests: Add test for SetFileTypeIndex updating current filter.
Connor McAdams (7):
d3dx9/tests: Add more d3d format conversion tests.
d3dx9/tests: Add format conversion tests for premultiplied alpha DXTn formats.
d3dx9: Clamp source components to unorm range.
d3dx9: Store pixel value range alongside pixel values when reading pixels.
d3dx9: Add support for D3DFMT_Q8W8V8U8.
d3dx9: Add support for D3DFMT_V8U8.
d3dx9: Use format_from_d3dx_color() instead of fill_texture().
Dmitry Timoshkov (1):
msi: Also set "MsiTrueAdminUser" property.
Elizabeth Figura (11):
d3d11: Stub ID3D11VideoDecoder.
d3d11: Stub ID3D11VideoDecoderOutputView.
d3d11: Stub ID3D11VideoContext.
wined3d: Invalidate the FFP VS when diffuse presence changes.
wined3d: Move geometry_shader_init_stream_output().
wined3d: Call geometry_shader_init_stream_output() from shader_set_function().
wined3d: Remove the redundant "device" parameter to shader_set_function().
wined3d: Merge the rest of vertex_shader_init() into shader_set_function().
wined3d: Merge the rest of pixel_shader_init() into shader_set_function().
win32u: Implement drawing transformed arcs.
win32u: Implement drawing transformed round rectangles.
Eric Pouech (17):
cmd: Rewrite part of WCMD_expand_envvar.
cmd: Fix consecutive ! in variable expansion.
cmd: Add tests for 'EXIT /B' inside FOR loops.
cmd: EXIT /B shall break FOR loops.
cmd/tests: Add tests for running .BAT files.
cmd: Don't always set errorlevel for some builtin commands.
cmd: Extend tests for FOR loop variables.
cmd: Extend the range of usable variables in FOR loops.
cmd: Better detection of %~ as modifier.
cmd: Rewrite parsing of tokens= options in FOR /F loop.
kernel32: Correctly advertize unicode environment for AeDebug startup.
cmd/tests: Add test about external commands with dots.
cmd: Fix searching external commands with dots in their basename.
cmd/tests: Add more tests for SET command.
cmd: Use CRT memory function for environment.
cmd: Free environment strings.
cmd: Fix 'SET =' invocation.
Esme Povirk (2):
comctl32: Implement MSAA events for buttons.
comctl32/tests: Test MSAA events for buttons.
Gabriel Ivăncescu (5):
mshtml: Don't make hidden props enumerable.
mshtml: Move lookup_dispid and get_dispid calls out of get_builtin_id.
mshtml: Fix builtin style translation in removeAttribute for IE9+ modes.
mshtml: Move the hook invocations inside of the builtin_prop* helpers.
mshtml: Add support for host object accessor props.
Georg Lehmann (2):
winevulkan: Avoid empty struct extension conversions.
winevulkan: Update to VK spec version 1.3.296.
Hans Leidekker (11):
winedump: Dump CLR metadata.
fc: Add support for comparing files with default options.
fc/tests: Add tests.
findstr: Support case insensitive search.
findstr: Support search with regular expressions.
crypt32/tests: Fix a test failure.
ntdll: Return success for NtSetInformationProcess(ProcessPowerThrottlingState).
findstr: Preserve line endings.
cmd: Call ReadConsoleW() with standard input handles only.
imagehlp: Add a test to show that ImageGetDigestStream() supports 64-bit images.
wine.inf: Add a couple of NTFS registry values.
Jinoh Kang (1):
win32u: Don't release surface before passing it to create_offscreen_window_surface().
Louis Lenders (1):
kernelbase: Add stub for FindFirstFileNameW.
Matteo Bruni (3):
d3dx9/tests: Handle uncommon test results in test_D3DXCheckTextureRequirements().
d3dx9/tests: Handle lack of support for D3DFMT_A1R5G5B5 in test_D3DXFillCubeTexture().
d3dx9: Clean up color key handling in convert_argb_pixels() and point_filter_argb_pixels().
Nikolay Sivov (1):
unicode: Update to Unicode 16.0.0.
Owen Rudge (2):
odbc32: Wrap dlerror in debugstr_a to avoid potential buffer overflow.
odbc32: Return SQL_NO_DATA from SQLGetDiagRec if no active connection.
Paul Gofman (18):
ntdll: Implement RtlRbInsertNodeEx().
ntdll: Implement RtlRbRemoveNode().
ntdll/tests: Add tests for RTL RB tree.
ntdll: Fill LDR_DATA_TABLE_ENTRY.BaseAddressIndexNode.
ntdll: Use base address tree in get_modref().
ntdll: Use base address tree in LdrFindEntryForAddress().
ntdll/tests: Add more tests for process instrumentation callback.
ntdll: Call instrumentation callback from wine_syscall_dispatcher on x64.
ntdll: Call instrumentation callback for KiUserExceptionDispatcher on x64.
ntdll: Call instrumentation callback for LdrInitializeThunk on x64.
ntdll: Call instrumentation callback for KiUserModeCallback on x64.
ntdll: Support old parameter layout for NtSetInformationProcess( ProcessInstrumentationCallback ).
wow64: Fix length check in wow64_NtSetInformationProcess().
uxtheme: Better detect the presence of default transparent colour in prepare_alpha().
win32u: Call set_active_window() helper directly from handle_internal_message().
win32u: Correctly fill new foreground window TID in WM_ACTIVATEAPP.
kernel32/tests: Add test for finding loaded module when the module file is renamed.
ntdll: Skip dll file search when getting module handle from short name.
Piotr Caban (2):
msvcp70: Export std::getline function.
msvcp70: Add basic_ofstream constructor implementation.
Rémi Bernon (69):
mfplat/tests: Add tests for VIDEOINFOHEADER(2) user data conversion.
mfplat: Fill user data when converting VIDEOINFOHEADER formats.
winedmo: Avoid printing errors on expected statuses.
winedmo: Set the buffer size to zero on read failure.
mfsrcsnk: Send EOS event only when there is no more samples queued.
mfsrcsnk: Fill the stream mapping for unknown stream types too.
winex11: Avoid recreating the offscreen GL window if not necessary.
win32u: Notify drivers of the child surfaces state when their ancestor moves.
winewayland: Use window DPI for the OpenGL client surface size.
winewayland: Call ensure_window_surface_contents with the toplevel window.
winewayland: Keep the toplevel hwnd on the wayland_client_surface.
winewayland: Update the client separately from the window surface updates.
winewayland: Split wayland_win_data_update_wayland_surface helper.
winewayland: Pass the client surface rect to wayland_surface_reconfigure_client.
winewayland: Attach client client surfaces to their toplevel surface.
winewayland: Let the render threads commit changes to client surfaces.
winegstreamer: Pass H264 codec data as streamheader.
mfsrcsnk: Serialize stream sample requests with the state callbacks.
winedmo: Hoist the demuxer input format.
winedmo: Simplify demuxer creation error handling.
winedmo: Allocate a dedicated demuxer structure.
winedmo: Move the last packet to the demuxer struct.
winedmo: Create bitstream filters for demuxer streams.
winedmo: Pass demuxer packets through the bitstream filters.
winedmo: Convert H264 streams to Annex B format.
winex11: Use NtUserGetDpiForWindow when only checking for empty rect.
win32u: Keep per display source monitor DPI values.
win32u: Introduce a new NtUserGetWinMonitorDpi call for drivers.
win32u: Only reuse scaling target surface if it matches the monitor rect.
win32u: Update the window state when display settings changes.
user32: Stub DisplayConfigSetDeviceInfo.
user32/tests: Add more tests for GetDpiForMonitorInternal.
user32/tests: Add more tests with display source DPI scaling.
user32/tests: Add tests with windows and monitor DPI scaling.
winewayland: Move surface title change to wayland_surface_make_toplevel.
winewayland: Call wayland_surface_clear_role in wayland_surface_destroy.
winewayland: Introduce a new wayland_surface role enumeration.
winewayland: Introduce a new wayland_surface_reconfigure_xdg helper.
winewayland: Introduce a new update_wayland_surface_state_toplevel helper.
winewayland: Use subsurfaces for unmanaged windows.
user32/tests: Load more DPI-related functions dynamically.
user32/tests: Move the monitor DPI tests below others.
user32/tests: Use more commonly available resolutions.
mfplat/tests: Test source resolver bytestream interactions.
mfplat: Seek byte stream to the start for URL hint detection.
win32u: Make sure to load drivers when updating the display cache.
win32u: Always write the source current mode to the registry.
win32u: Keep the source depth separately from the current mode.
win32u: Remove now unnecessary GetDisplayDepth driver entry.
win32u: Cache display source current display settings.
win32u: Remove unnecessary GetCurrentDisplaySettings call.
win32u: Add virtual modes when drivers report a single display mode.
win32u: Keep track of the display source physical display mode.
win32u: Use the current display mode as monitor rect.
winemac: Remove unnecessary MoveWindowBits implementation.
win32u: Pass rects in window DPI to MoveWindowBits.
win32u: Pass a MONITOR_DPI_TYPE param to monitor_get_dpi.
win32u: Pass a MONITOR_DPI_TYPE param to monitor_get_rect.
win32u: Pass a MONITOR_DPI_TYPE param to NtUserGetVirtualScreenRect.
win32u: Pass a MONITOR_DPI_TYPE param to get_monitor_from_rect.
win32u: Use the parent window monitor DPI for child windows.
win32u: Pass a MONITOR_DPI_TYPE param to NtUserGetWinMonitorDpi.
dinput/tests: Add tests for IoReportTargetDeviceChange(Asynchronous).
sechost: Pass individual parameters to I_ScRegisterDeviceNotification.
sechost: Filter the device notifications before copying them.
sechost: Keep device notification temporary copies in a list.
sechost: Get rid of the device_notification_details internal struct.
plugplay: Pass a device path to plugplay notifications.
win32u: Read AppCompatFlags DPI awareness overrides from the registry.
Sergei Chernyadyev (5):
shell32: Move icon related fields in notify_data into separate struct.
shell32: Introduce a new get_bitmap_info helper.
shell32: Cleanup some local variable names.
shell32: Introduce a new fill_icon_info helper.
shell32: Add support for balloon icon copying.
Tim Clem (6):
nsiproxy: Only set the connection count from tcp_conns_enumerate_all when appropriate.
nsiproxy: Only set the endpoint count from udp_endpoint_enumerate_all when appropriate.
advapi32: Use CreateProcessAsUser to implement CreateProcessWithToken.
user32/tests: Test that shell windows are per-desktop and should be set on the default desktop.
server: Make shell, taskman, and progman windows per-desktop.
explorer: Set the shell window when creating the Default desktop.
Vibhav Pant (17):
bluetoothapis: Add stub for BluetoothSdpGetElementData.
bluetoothapis/tests: Add tests for BluetoothSdpGetElementData.
bluetoothapis: Implement BluetoothSdpGetElementData.
bluetoothapis: Add stub for BluetoothSdpGetContainerElementData.
bluetoothapis/tests: Add tests for BluetoothSdpGetContainerElementData.
bluetoothapis: Implement BluetoothSdpGetContainerElementData.
bluetoothapis: Add stub for BluetoothSdpEnumAttributes.
bluetoothapis/tests: Add tests for BluetoothSdpEnumAttributes.
bluetoothapis: Implement BluetoothSdpEnumAttributes.
bluetoothapis: Add stub for BluetoothSdpGetAttributeValue.
bluetoothapis/tests: Add tests for BluetoothSdpGetAttributeValue.
bluetoothapis: Implement BluetoothSdpGetAttributeValue.
ntoskrnl: Add stub for IoReportTargetDeviceChange.
plugplay: Only broadcast WM_DEVICECHANGE for DBT_DEVTYP_DEVICEINTERFACE.
sechost: Add support for DBT_DEVTYP_HANDLE notifications.
user32: Add support for DBT_DEVTYP_HANDLE notifications.
ntoskrnl: Implement IoReportTargetDeviceChange.
Vijay Kiran Kamuju (3):
ws2_32: Add stub WSCGetApplicationCategory().
windows.ui: Add stubs for UIViewSettings class.
windows.ui: Add stub IInputPaneStatics implementation.
Yuxuan Shui (1):
d3d11: Stub ID3D11VideoDevice1.
Zhiyi Zhang (9):
user32/tests: Test that DragDetect() uses client coordinates instead of screen coordinates.
ntdll/tests: Add RtlConvertDeviceFamilyInfoToString() tests.
ntdll: Implement RtlConvertDeviceFamilyInfoToString().
include: Add Windows.ApplicationModel.DesignMode runtime class.
include: Add more Windows.Foundation.IReference<> interfaces.
include: Add windows.ui.xaml.interop.idl.
include: Add windows.ui.xaml.idl.
include: Add Windows.Globalization.ApplicationLanguages runtime class.
windows.ui: Register Windows.UI.Core.CoreWindow.
```
The Wine development release 9.18 is now available.
What's new in this release:
- New Media Foundation backend using FFMpeg.
- Initial support for network sessions in DirectPlay.
- New Desktop Control Panel applet.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.18.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.18/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.18 (total 18):
- #10648 gRPC library fails to send RPC packets correctly (nonblocking send() should not perform partial writes)
- #53727 TreeView doesn't check the return value of TREEVIEW_SendExpanding
- #55347 widl generated winrt headers fails to compile with C++ code
- #56596 Keyboard keypress generates NumLock keypress for all keys
- #56873 WordSmith 9.0 doesn't show text in installer
- #57136 Steinberg Download Assistant crashes (part 2)
- #57141 Repaper Studio crashes on unimplemented function USER32.dll.CreateSyntheticPointerDevice
- #57155 Gigapixel ai crashes on startup in win7 mode
- #57158 HID devices not detected after removal until Wine processes restart
- #57160 16-bit color no longer works when using Xephyr
- #57163 msiexec sometimes fails with unquoted filenames
- #57173 Wine-dev 9.17 does not allow drag-and-drop of files into LTspice
- #57181 PathGradientBrushTest:Clone fails with InvalidParameter
- #57189 Caesar 3, Neighbours from Hell 1-2: screen cropped
- #57190 Configure ends with: Do '' to compile Wine.
- #57195 wineconsole is broken Wine 9.17 after moving its window (Far File Manager is broken as well, as a result)
- #57199 Window surface leaks with DPI unaware apps
- #57200 Warlords III: Darklords Rising shows distorted image
### Changes since 9.17:
```
Aida Jonikienė (1):
winewayland: Make the pointer protocols optional.
Alexandre Julliard (47):
combase: Avoid modifying input object attributes in create_key (Clang).
ole32: Avoid modifying input object attributes in create_key (Clang).
odbc32: Avoid buffer overflow on empty connection string (Clang).
ntdll: Remove some dead initializations (Clang).
configure: Re-generate with autoconf 2.72.
configure: Disable misguided autoconf error on wow64 builds without large time_t.
configure: Use the compiler instead of the preprocessor to check CPU defines.
configure: Remove some no longer used defines.
server: Add a helper to append data to a buffer.
server: Remove some dead initializations (Clang).
server: Avoid a redundant list check (Clang).
server: Avoid memcpy with null pointer (Clang).
server: Make masks unsigned (Clang).
mf/tests: Remove todo_wine from a test that succeeds now.
ntoskrnl/tests: Mark some failing tests as todo_wine.
comctl32/tests: Skip hotkey test if window is not foreground.
comctl32/tests: Wait a bit more for the tooltip to appear.
d3dx9: Use sizeof on the correct type in malloc (Clang).
dsound: Use sizeof on the correct type in malloc (Clang).
gdiplus: Use sizeof on the correct type in malloc (Clang).
hidclass.sys: Use sizeof on the correct type in malloc (Clang).
msi: Use sizeof on the correct type in malloc (Clang).
msvcrt: Use sizeof on the correct type in malloc (Clang).
wintrust: Use sizeof on the correct type in malloc (Clang).
win32u: Use the correct type in malloc (Clang).
mscoree: Use the correct size in malloc (Clang).
winex11: Use the correct type in malloc (Clang).
winecfg: Use the correct type in malloc (Clang).
comctl32/tests: Skip tests if tooltip isn't displayed.
comctl32/tests: Make some messages optional in propsheet display sequence.
urlmon/tests: Skip test if ftp connection fails.
ntdll: Avoid closing an invalid handle (Clang).
regedit: Fix potential buffer overflow (Clang).
oleaut32: Fix potential double free (Clang).
msvcrt: Mark _CxxThrowException noreturn (Clang).
configure: Update make command in final message.
configure: Add /usr/share/pkgconfig to the pkg-config path.
comctl32/tests: Add more optional propsheet messages.
nsi/tests: Properly cancel all change notifications.
comctl32/tests: Fix an optional propsheet message id.
cmd/tests: Comment out test that shows a popup on Windows.
po: Update files for previous commit.
sc/tests: Remove todo from a test that succeeds now.
ntdll/tests: Remove an unreliable test.
configure: Remove some obsolete checks.
configure: Remove some no longer needed program checks.
configure: Remove some no longer needed header checks.
Alexey Lushnikov (1):
gdi32: Actually return the device context and bitmap from get_bitmap_info().
Alistair Leslie-Hughes (3):
dplayx: Merged IDirectPlayLobby/2A in to IDirectPlayLobby3A.
dplayx: Use a single reference count for IDirectPlayLobby interfaces.
dplayx: Merged IDirectPlayLobby/2 in to IDirectPlayLobby3.
Anton Baskanov (26):
dpwsockx: Remove endianness conversion macros.
dpwsockx: Remove unused DPWS_DATA fields.
dplayx: Don't crash if sdesc is NULL in EnumSessions().
dplayx/tests: Use CRT allocation functions.
dplayx/tests: Test client-side of EnumSessions() separately.
dplayx: Check dwSize of DPSESSIONDESC2 in EnumSessions().
dpwsockx: Call WSACleanup() in ShutdownEx().
dpwsockx: Start listening for incoming TCP connections in EnumSessions().
dpwsockx: Broadcast enumeration request in EnumSessions().
dplayx/tests: Report lines correctly in session enumeration callback.
dplayx/tests: Retry enumeration manually instead of returning TRUE from the callback.
dpwsockx: Add a background thread.
dpwsockx: Accept incoming TCP connections.
dpwsockx: Receive TCP messages.
dplayx: Add a separate session list for walking.
dplayx: Put the sync enumeration code before the async one.
dplayx: Move enumeration reset and prune out of DP_InvokeEnumSessionCallbacks().
dplayx: Enter critical section when accessing the session cache.
dplayx: Restart session enumeration when the callback returns TRUE.
dplayx: Respect timeout set by session enumeration callback.
dplayx: Add a string copying helper function and use it in DP_CalcSessionDescSize() and DP_CopySessionDesc().
dplayx: Reduce nesting of the async enumeration code.
dplayx: Send password in session enumeration request.
dplayx/tests: Correctly compute session enumeration reply size.
dplayx: Check the message size before access.
dplayx: Check ENUMSESSIONSREPLY size before access.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Biswapriyo Nath (3):
include: Add Calendar runtimeclass in windows.globalization.idl.
include: Add DXVA_PicParams_HEVC_RangeExt declaration in dxva.h.
include: Add new GUIDs in dxva.h.
Brendan Shanks (8):
winemac: Marshal user-mode callback pointers in macdrv_init wow64 thunk.
Revert "configure: Don't define HAVE_CLOCK_GETTIME on macOS.".
ntdll: Always use mach_continuous_time() on macOS.
sfnt2fon: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
widl: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
winebuild: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
wmc: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
wrc: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
Charlotte Pabst (2):
comdlg32: Allow entering a filter in the itemdlg file name field.
comdlg32/tests: Add tests for itemdlg file name field filters.
Danyil Blyschak (1):
mlang: Use EnumFontFamiliesEx() in map_font().
Dmitry Timoshkov (4):
msiexec: Avoid crash if PackageName is NULL.
advapi32/tests: Add some tests for SERVICE_CONFIG_DELAYED_AUTO_START_INFO.
services: Add support for ChangeServiceConfig2(SERVICE_CONFIG_DELAYED_AUTO_START_INFO).
services: Add support for QueryServiceConfig2(SERVICE_CONFIG_DELAYED_AUTO_START_INFO).
Elizabeth Figura (14):
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when light state changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when the light type changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when the vertex declaration changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when WINED3D_TSS_TEXCOORD_INDEX changes.
wined3d: Add an append_structure() helper for get_physical_device_info().
wined3d: Don't use structures from unsupported extensions in get_physical_device_info().
wined3d: Do not require EXT_vertex_attribute_divisor.
winevulkan: Separate a parse_array_len() helper.
winevulkan: Handle multidimensional static arrays.
wined3d: Use W as a fog source with shaders and a non-orthogonal matrix.
wined3d: Use output specular W as a fog source if the shader does not output oFog.
wined3d: Invalidate STATE_SHADER when WINED3D_TS_PROJECTION changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when fog states change.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when WINED3D_RS_VERTEXBLEND changes.
Eric Pouech (10):
cmd/tests: Add some more tests.
cmd: Expand command before searching for builtin commands.
cmd: Introduce internal command to change drive.
cmd: Introduce helper to search for external program.
cmd: Introduce helper for running a builtin command.
cmd: Integrate builtin command search in search_program() helper.
cmd: Speed-up external command look up.
cmd: Get rid of circular ref for internal/external commands.
winedbg: Give user feedback when attaching to a second process.
dbghelp: Fix discrimination of local variable / parameter in PDB files.
Esme Povirk (3):
msiexec: Fix allocation to include NULL terminator.
user32: Implement listbox MSAA events on click.
gdiplus: Fix assignment of result in GdipCloneBrush.
Francisco Casas (3):
quartz: Emit FIXME when the rendering surface is smaller than the source in VMR7.
quartz: Properly copy data to render surfaces of planar formats in VMR7.
quartz: Align src_pitch for planar formats.
Gabriel Ivăncescu (13):
mshtml: Don't cast to int to bound the timer.
mshtml: Remember if timer was blocked.
mshtml: Don't process tasks recursively.
mshtml: Don't process tasks recursively from script runners.
mshtml: Don't process tasks recursively from Gecko events.
mshtml: Use designated initializers for function_dispex.
mshtml: Move formatting of the builtin func disp string to a helper.
mshtml: Implement retrieving the builtin method props for the legacy function objects.
jscript: Use proper dispatch flags to retrieve the enumerator.
jscript: Use deferred fill-in if available to fill the exception info.
mshtml/tests: Add more host object related tests for IE9+ modes.
mshtml: Return MSHTML_E_INVALID_PROPERTY when trying to construct a legacy function object.
jscript: Return JS_E_OBJECT_NOT_COLLECTION when object has no DISPID_NEWENUM.
Gijs Vermeulen (1):
user32: Add CreateSyntheticPointerDevice stub.
Hans Leidekker (1):
odbc32: Only call process_detach() if the unixlib was successfully loaded.
Jacek Caban (7):
include: Define __imp_aux symbols in __ASM_DEFINE_IMPORT macro on ARM64EC.
widl: Use alias qualified names in winrt mode in write_type_left.
tools: Use GetModuleFileNameA in get_bindir on Windows targets.
tools: Use /proc/self/exe in get_bindir on Cygwin targets.
include: Use __has_declspec_attribute in corecrt.h.
include: Remove DECLSPEC_ALIGN define from sys/stat.h.
include: Use __has_declspec_attribute in basetsd.h.
Louis Lenders (1):
uxtheme: Add stub for FlushMenuThemes.
Michael Ehrenreich (2):
kernelbase: Fix EnumSystemLocalesA/W filtering of default/alternate sort orders.
kernel32/tests: Add basic tests for EnumSystemLocalesA/W.
Nikolay Sivov (1):
d2d1/tests: Add a few tests for ComputeArea().
Owen Rudge (2):
sc: Return error value rather than 1 on failure.
ntdll: Ensure Unix path strings are wrapped with debugstr_a in traces.
Paul Gofman (6):
ntdll: Do not call LDR notifications during process shutdown.
ws2_32/Tests: Add tests for send buffering.
ntdll: Avoid short writes on nonblocking sockets.
ntdll: Locally duplicated socket fd for background send.
ntdll: Don't cancel background socket sends.
server: Correct STATUS_NOT_FOUND return from (cancel_async).
Rémi Bernon (112):
winex11: Resize offscreen client surfaces after they are presented.
winex11: Create OpenGL client windows in window DPI units.
winex11: Detach offscreen OpenGL windows after creation.
winex11: Introduce a new present_gl_drawable helper.
winex11: Implement offscreen window presents with NtGdiStretchBlt.
winex11: Drop now unnecessary X11DRV_FLUSH_GL_DRAWABLE ExtEscape.
winex11: Use offscreen rendering to scale DPI-unaware GL windows.
winedmo: Introduce a new internal DLL.
winedmo: Link and initialize FFmpeg on load.
winedmo: Export a new winedmo_demuxer_check function.
mfsrcsnk: Stub byte stream handlers if demuxing is supported.
winewayland: Move wayland_surface_get_client to window.c.
winewayland: Introduce a new wayland_client_surface_attach helper.
winewayland: Pass hwnd to and return client rect from wayland_surface_get_client.
winewayland: Move client surface to wayland_win_data struct.
winewayland: Detach client surfaces when they are not visible.
mfsrcsnk: Stub the source IMFByteStreamHandler interface.
mfsrcsnk: Stub the media source IMFMediaSource interface.
mfsrcsnk: Implement IMFMediaSource_Shutdown for the media sources.
mfsrcsnk: Implement IMFMediaSource_GetCharacteristics for the media sources.
mfsrcsnk: Stub the media source IMFGetService interface.
mfsrcsnk: Stub the media source IMFRateSupport interface.
mfsrcsnk: Stub the media source IMFRateControl interface.
winex11: Use the correct dnd_drop_event user dispatch callback.
win32u: Leave window surface alpha bits to -1 when unset.
hidclass: Combine waits for pending IRP and I/O thread shutdown.
mfsrcsnk: Get the IMFByteStream url from MF_BYTESTREAM_ORIGIN_NAME.
mfsrcsnk: Seek and get the media source IMFByteStream length.
winedmo: Export new winedmo_demuxer_(create|destroy) functions.
mfsrcsnk: Create a winedmo_demuxer object on the media sources.
winedmo: Implement FFmpeg seek and read with user callbacks.
winedmo: Allocate a client-side stream context with the demuxers.
winedmo: Use the stream context to track stream position.
winedmo: Use the stream context as a buffer for larger reads.
winedmo: Introduce a winedmo_stream callback interface for I/O.
winedmo: Return detected MIME type from winedmo_demuxer_create.
winedmo: Improve MIME type detection with the stream url.
winedmo: Detect and return stream count from winedmo_demuxer_create.
winedmo: Compute and return total duration from winedmo_demuxer_create.
winedmo: Export a new winedmo_demuxer_stream_type function.
mfsrcsnk: Initialize a stream map, sorted for specific mime types.
winevulkan: Use client rect in window DPI instead of monitor DPI.
win32u: Pass vulkan driver private data to vulkan_surface_presented.
winex11: Use a dedicated structure for vulkan surface private data.
winex11: Update the vulkan surface size when it is presented.
winex11: Update the GL client window size when it is presented.
winex11: Only update the client window position in sync_client_position.
winex11: Move offscreen client window helpers to init.c.
winex11: Implement vulkan DPI scaling and child window rendering.
winedmo: Pass stream size by value to winedmo_demuxer_create.
winedmo: Implement video media type conversion.
winedmo: Implement audio media type conversion.
mfsrcsnk: Stub IMFMediaStream objects for the media source.
mfsrcsnk: Create stream descriptors for the media source streams.
winedmo: Implement more compressed audio/video formats conversion.
conhost: Advertise system DPI awareness.
win32u: Lock the window when removing a vulkan surface from its list.
winex11: Move update_gl_drawable_size helper around.
winex11: Resize GL drawable when necessary, if wglSwapBuffer isn't called.
include: Introduce a new __has_declspec_attribute macro.
include: Use winnt.h DECLSPEC_UUID definition in rpcndr.h.
include: Use winnt.h DECLSPEC_NOVTABLE definition in rpcndr.h.
include: Add DECLSPEC_UUID/DECLSPEC_NOVTABLE to MIDL_INTERFACE.
include: Remove __need_wint_t/__need_wchar_t definitions.
include: Don't import atexit from CRTs.
include: Define __cpuid(ex) as intrinsics when possible.
win32u: Avoid leaking window surface references with DPI scaling.
winedmo: Fix winedmo_demuxer_create prototype in spec file.
winedmo: Export a new winedmo_demuxer_stream_name function.
mfsrcsnk: Fill the stream descriptors MF_SD_STREAM_NAME attribute.
winedmo: Export a new winedmo_demuxer_stream_lang function.
mfsrcsnk: Fill the stream descriptors MF_SD_LANGUAGE attribute.
mfsrcsnk: Select one stream of each time, exclude others.
win32u: Use map_dpi_rect in map_dpi_create_struct.
win32u: Use map_dpi_rect in map_dpi_winpos.
win32u: Split monitor_from_rect logic to a separate helper.
win32u: Split get_monitor_info into separate helpers.
win32u: Use get_monitor_from_handle in get_monitor_dpi.
win32u: Introduce a new monitor_dpi_from_rect helper.
win32u: Introduce a new monitor_info_from_rect helper.
win32u: Introduce a new monitor_info_from_window helper.
joy.cpl: Refresh devices list when they are plugged in or out.
joy.cpl: Cleanup the main panel control IDs and text.
joy.cpl: Reduce the height of some main panel controls.
joy.cpl: Add advanced settings controls in the main panel.
win32u: Fix inverted return condition in get_cursor_pos.
winex11: Also resize or re-create the GL drawable with XComposite child windows.
mfsrcsnk: Implement asynchronous media source start operation.
mfsrcsnk: Implement asynchronous media source stop operation.
mfsrcsnk: Implement asynchronous media source pause operation.
winedmo: Export a new winedmo_demuxer_seek function.
winedmo: Export a new winedmo_demuxer_read function.
winedmo: Read sample flags, timestamps and duration.
mfsrcsnk: Read samples from the media source demuxer.
include: Define NULL as 0LL in C++ on 64bit archs.
win32u: Use get_virtual_screen_rect directly within the module.
win32u: Use is_window_rect_fullscreen directly in clip_fullscreen_window.
win32u: Use get_window_rect directly in clip_fullscreen_window.
win32u: Pass whether a window is fullscreen to drivers WindowPosChanged.
winewayland: Use the new fullscreen flag instead of NtUserIsWindowRectFullScreen.
winex11: Use the new fullscreen flag instead of NtUserIsWindowRectFullScreen.
win32u: Remove now unused NtUserIsWindowRectFullScreen call.
desk.cpl: Introduce new control panel applet.
desk.cpl: Enumerate the desktop display devices.
desk.cpl: Display the virtual desktop and monitors rects.
desk.cpl: Implement monitor highlight and selection.
desk.cpl: Enumerate and display available resolutions.
desk.cpl: Add a reset button to discard display settings changes.
desk.cpl: Update the monitor rects when changing resolutions.
desk.cpl: Keep the monitor rectangles snapped together.
desk.cpl: Implement monitor rectangle positioning.
desk.cpl: Add a button to apply display settings changes.
Stefan Dösinger (1):
netapi32: Add a stub NetFreeAadJoinInformation function.
```
The Wine development release 9.17 is now available.
What's new in this release:
- Window surface scaling on High DPI displays.
- Bundled vkd3d upgraded to version 1.13.
- Mono engine updated to version 9.3.0
- Improved CPU detection on ARM64.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.17.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.17/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.17 (total 29):
- #11770 mapi32.dll.so does not support attachments for sending mail
- #18154 cmd.exe: failure to handle file extension association
- #18846 Anti-Grain Geometry gdiplus Demo does not render correctly
- #26813 Multiple programs ( python-3.1.3.amd64.msi, scoop) need support for administrative install (msiexec.exe /a )
- #42601 Foxit Reader 8.2 crashes after running for an extended period of time (>30 minutes)
- #43472 Several apps (R-Link 2 Toolbox, Mavimplant 1.0, Kundenkartei 5) crash on startup (Wine's 'packager.dll' is preferred over native, causing failure to load app provided library with same name)
- #48404 Can't close free game notifications from Epic Games Store
- #49244 GdipDeleteFontFamily is declared, but does nothing
- #50365 Starcraft Remastered black screen on launch or window only mode
- #52687 OpenKiosk installer not working
- #53154 Crash of EpicOnlineServicesUserHelper.exe" --setup
- #54212 Nexus ECU Tuning Software for HALTECH ECU
- #55322 SBCL 2.3.4: unattended msiexec in administrator mode fails
- #55343 Game Constantine doesn't respond to key inputs.
- #55410 msi:package fails on w8adm
- #55804 DICOM Viewer (eFilm Workstation 2.x/3.x) aborts because libxml2 doesn't like "ISO8859-1" (builtin msxml6).
- #55936 Sven Bømwøllen series: Several games crash after loading screen
- #55964 wine-mono: Dlls include reference to filenames different to the files in wine-mono-8.1.0-dbgsym.tar.xz
- #56102 Comdlg32/Color - Out of bound value is used
- #56103 PropertySheet - CTRL+TAB and CTRL+SHIFT+TAB not processed
- #56352 comctl32: Handle progress bar state messages
- #57096 Hogia Hemekonomi does not start
- #57102 Textbox-border is missing if textbox is on topmost layer of e. g. a TabControl.
- #57103 "opengl32.dll" failed to initialize with WOW64 on Wayland
- #57117 BsgLauncher cannot launch due to unhandled exception in System.Security.Cryptography (.NET48)
- #57119 WPF app (VOCALOID) fails to initialize Markup
- #57127 Dutch button labels are cut off in Wine Internet Explorer
- #57140 ADOM fails to launch
- #57145 Quicktime 3.02 (16-bit) setup hangs
### Changes since 9.16:
```
Aida Jonikienė (4):
explorer: Make the driver error message more neutral.
msvcrt: Print less FIXMEs for ThreadScheduler_ScheduleTask*().
msvcrt: Remove FIXME for _StructuredTaskCollection_dtor().
msvcrt: Only print FIXME once for Context_Yield().
Alex Henrie (5):
explorer: Make the "Wine Desktop" window title translatable.
explorer: Don't display "Default" in the virtual desktop window title.
ieframe: Widen toolbar buttons to accommodate Dutch translation.
explorer: Return void from show_icon and hide_icon.
explorer: Support the NoTrayItemsDisplay registry setting.
Alexandre Julliard (3):
vkd3d: Import upstream release 1.13.
ntdll: Use custom x64 thunks for syscall exports.
ntdll: Add custom x64 thunk for KiUserExceptionDispatcher.
Alexandros Frantzis (1):
winewayland: Rename surface buffer size to content size.
Alistair Leslie-Hughes (9):
odbccp32: Return false on empty string in SQLValidDSNW.
odbccp32: Check for valid DSN before delete in SQLRemoveDSNFromIniW.
odbccp32: Correctly handle config_mode in SQLWrite/RemoveDSNFromIniW.
odbc32: Pass through field id SQL_MAX_COLUMNS_IN_TABLE in SQLColAttribute/W.
odbc32: Correcly convert columns ID in SQLColAttribute/W for ODBC v2.0.
odbccp32: Only append slash if required in write_registry_values.
include: Move ColorChannelLUT outside of if __cplusplus.
include: Add basic constructors for Rect/RectF.
include: Add class SizeF.
Andrew Eikum (1):
mmdevapi: Add stub IAudioClockAdjustment implementation.
Andrew Nguyen (2):
msi/tests: Add additional test cases for validating package template summary info strings.
msi: Allow package template summary info strings without semicolon separator.
Arkadiusz Hiler (2):
mmdevapi/tests: Add more IAudioClock tests.
winepulse.drv: Implement set_sample_rate.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
msxml3: Allow encoding name "ISO8859-1".
Billy Laws (2):
ntdll: Populate the SMBIOS with ARM64 ID register values.
wineboot: Populate ARM64 ID register registry keys using SMBIOS info.
Biswapriyo Nath (3):
include: Add http3 flag in winhttp.h.
include: Add input assembler related constants in d3d11.idl.
include: Add ISelectionProvider2 definition in uiautomationcore.idl.
Brendan McGrath (2):
windows.gaming.input: Zero 'value' in GetCurrentReading until first state change.
winegstreamer: Allow application to drain queue.
Brendan Shanks (2):
winemac.drv: Call CGWindowListCreateImageFromArray through a dlsym-obtained pointer.
secur32: Ensure unixlib function tables and enum stay in sync.
Dmitry Timoshkov (2):
dssenh: Add support for enumerating algorithms.
dssenh: Add support for CPGetProvParam(PP_NAME).
Dylan Donnell (1):
winegstreamer: Support IYUV alias for I420.
Elizabeth Figura (12):
cmd/tests: Save and restore the drive when performing drive change tests.
cmd: Do not try to handle ERROR_FILE_NOT_FOUND from CreateProcessW().
cmd: Separate a run_full_path() helper.
cmd: Run files with ShellExecute() if CreateProcess() fails.
wined3d: Invalidate STATE_SHADER instead of STATE_POINT_ENABLE.
wined3d: Invalidate the PS from wined3d_device_apply_stateblock() when texture states change.
wined3d: Invalidate the PS from wined3d_device_apply_stateblock() when WINED3D_RS_COLORKEYENABLE changes.
wined3d: Invalidate the PS from wined3d_device_apply_stateblock() when the texture changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when WINED3D_RS_NORMALIZENORMALS changes.
cmd: Allow deleting associations via ftype.
cmd: Report an error from ftype or assoc if the value is empty.
winegstreamer: Append HEAACWAVEINFO extra bytes to AAC user data.
Eric Pouech (5):
cmd: Don't display dialog boxes.
cmd/tests: Add some more tests.
cmd: Minor fix to the lexer.
cmd: Fix reading some input in CHOICE command.
cmd: Strip leading white spaces and at-sign from command nodes.
Esme Povirk (2):
mscoree: Update Wine Mono to 9.3.0.
user32: Implement EVENT_OBJECT_FOCUS for listbox items.
Etaash Mathamsetty (1):
win32u: Implement NtGdiDdDDIEnumAdapters.
Fabian Maurer (5):
comctl32/tests: Add test for propsheet hotkey navigation.
comclt32: Allow hotkeys for propsheet navigation.
comdlg32: Update luminosity bar when changing hue/sat/lum manually.
comdlg32: Prevent recursion inside CC_CheckDigitsInEdit.
comdlg32: Properly handle out of bounds values.
Garrett Mesmer (1):
ntdll: Determine the available address space dynamically for 64bit architectures.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.295.
Hans Leidekker (14):
rsaenh: Return an error on zero length only when decrypting the final block.
wmiutils: Handle paths with implied key.
msi: Remove traces from a couple of helpers.
msi: Add support for the ADMIN top level action.
msi: Implement the InstallAdminImage action.
msiexec: Remove an obsolete fixme.
msiexec: Don't remove quotes from properties passed on the command line.
msi/tests: Test escaped double quote on the command line.
msi: Bump version to 5.0.
wpcap/tests: Skip tests when pcap_can_set_rfmon() returns PCAP_ERROR_PERM_DENIED.
msiexec: Don't quote property values if already quoted.
odbc32: Fix a memory leak.
odbc32: Fix driver name query.
odbc32: Load libodbc dynamically.
Haoyang Chen (1):
gdiplus: Check if graphics is occupied in GdipDrawString.
Huw D. M. Davies (11):
nsiproxy: Add linux guards for the IPv6 forward info.
win32u: Use unsigned bitfields.
widl: Remove unused variable.
winedump: Remove unused variable.
opengl32: Test the unix call function table sizes.
combase: Group the post quit info in a structure.
include: Always declare the imagelist read and write functions.
winemapi: Don't write past the end of the argv array.
secur32: Simplify the cred_enabled_protocols logic slightly.
winecoreaudio: Set the synth volume to the greater of the left and right channels.
widl: Avoid using sprintf() to add a single character.
Jacob Czekalla (4):
user32/tests: Add test for edit control format rect size.
user32/edit: Fix incorrect size for format rect when it is smaller than text.
comctl32/tests: Add test for edit control format rect size.
comctl32/edit: Fix incorrect size for format rect when it is smaller than text.
Jason Edmeades (2):
cmd: Skip directories when looking for an openable file.
cmd/tests: Test running a file with an association.
Jeremy White (1):
winemapi: Directly use xdg-email if available.
Martin Storsjö (3):
ntdll: Improve ARM feature checking from /proc/cpuinfo.
include: Add new PF_* constants.
arm64: Detect new processor features.
Nikolay Sivov (8):
d3dx9/tests: Use explicit numeric values as expected test results.
d3dx9/tests: Remove unused fields from effect values test data.
d3dx9/tests: Add a test for matrix majority class.
d3d10/effect: Rename some variable array fields to better reflect their meaning.
d3d10/effect: Simplify setting GlobalVariables value.
d3d10/tests: Compile some of test effects.
d3d10/tests: Fully check matrix types.
d3d10/tests: Fully check scalar and vector types.
Paul Gofman (10):
concrt140: Don't forward _IsSynchronouslyBlocked functions.
dxcore: Prefer native.
kernel32/tests: Add a test for TLS links.
ntdll: Reserve space for some TLS directories at once.
ntdll: Iterate TEBs only once in alloc_tls_slot().
ntdll: Do not use TlsLinks for enumerating TEBs.
ntdll: Ignore HW breakpoints on the Unix side.
uxtheme: Define a constant for default transparent colour.
uxtheme: Try to avoid TransparentBlt() when possible.
ntdll: Allow sending to port 0 on UDP socket to succeed.
Rémi Bernon (69):
win32u: Only allow a custom visible rect for toplevel windows.
win32u: Add missing thunk lock parameters callback.
opengl32: Add missing WOW64 process_attach unixlib entry.
opengl32: Remove unnecessary function addresses.
winex11: Wrap x11drv_dnd_drop_event params in a struct.
winex11: Wrap x11drv_dnd_enter_event params in a struct.
winex11: Wrap x11drv_dnd_post_drop params in a struct.
winex11: Use a UINT64 for the foreign_window_proc parameter.
winex11: Route kernel callbacks through user32.
mfmediaengine: Remove duplicate classes IDL.
mfplat: Fix pointer dereference when caching buffer data.
win32u: Map window region DPI before calling into the drivers.
win32u: Map window rects DPI before calling into the drivers.
win32u: Move window_surface creation helper to dce.c.
win32u: Implement DPI scaled window surface.
explorer: Use the EnableShell option to show or hide the taskbar.
mfreadwrite: Always try inserting a converter for non-video streams.
winewayland: Require the wp_viewporter protocol.
winewayland: Set the window viewport source rectangle.
winewayland: Create the window surface buffer queue unconditionally.
winewayland: Avoid recreating window surface buffer queues.
mfsrcsnk: Refactor sink class factory helpers.
mfsrcsnk: Register the AVI Byte Stream Handler class.
mfsrcsnk: Register the WAV Byte Stream Handler class.
mfmp4srcsnk: Register the MPEG4 Byte Stream Handler class.
mfasfsrcsnk: Register the Asf Byte Stream Handler class.
mfmp4srcsnk: Register the MP3 and MPEG4 sink factory classes.
winewayland: Remove unnecessary logical to physical DPI mapping.
winex11: Map message pos to physical DPI in move_resize_window.
win32u: Map rect to window DPI in expose_window_surface.
win32u: Pass window_from_point dpi to list_children_from_point.
server: Pass window's per-monitor DPI in set_window_pos.
user32: Move dpiaware_init to SYSPARAMS_Init.
explorer: Make the desktop thread per-monitor DPI aware.
win32u: Stop setting DPI_PER_MONITOR_AWARE by default.
colorcnv: Register the Color Converter DMO class.
msvproc: Register the Video Processor MFT class.
resampledmo: Register the Resampler DMO class.
wmadmod: Register the WMA Decoder DMO class.
msauddecmft: Register the AAC Decoder MFT class.
wmvdecod: Register the WMV Decoder DMO class.
msmpeg2vdec: Register the H264 Decoder MFT class.
mfh264enc: Register the H264 Encoder MFT class.
gitlab: Install FFmpeg development libraries.
winewayland: Post WM_WAYLAND_CONFIGURE outside of the surface lock.
winewayland: Introduce a new ensure_window_surface_contents helper.
winewayland: Introduce a new set_window_surface_contents helper.
winewayland: Introduce a new get_window_surface_contents helper.
winewayland: Reset the buffer damage region immediately after copy.
winewayland: Move window contents buffer to wayland_win_data struct.
winewayland: Get rid of wayland_surface reference from window_surface.
winewayland: Get rid of window_surface reference from wayland_win_data.
winewayland: Introduce a new wayland_client_surface_create helper.
winewayland: Get rid of the window surface individual locks.
include: Declare D3DKMT resource creation functions.
include: Declare D3DKMT keyed mutex creation functions.
include: Declare D3DKMT sync object creation functions.
win32u: Stub D3DKMTShareObjects.
win32u: Stub D3DKMT resource creation functions.
win32u: Stub D3DKMT keyed mutex creation functions.
win32u: Stub D3DKMT sync object creation functions.
quartz: Simplify the filter registration code.
quartz: Move registration code to main.c.
quartz: Register the MPEG1 Splitter class.
quartz: Register the AVI Splitter class.
quartz: Register the WAVE Parser class.
quartz: Register the MPEG Audio Decoder class.
quartz: Register the MPEG Video Decoder class.
l3codecx.ax: Register the MP3 Decoder class.
Sebastian Lackner (1):
packager: Prefer native version.
Sergei Chernyadyev (2):
comctl32/tooltip: Support large standard title icons.
explorer: Support large tooltip icons.
Tim Clem (5):
nsiproxy: Implement TCP table on top of a server call.
nsiproxy: Implement UDP table on top of a server call.
nsiproxy: Remove now unused git_pid_map and find_owning_pid.
iphlpapi/tests: Confirm that GetExtendedTcpTable associates a socket with the correct PID.
iphlpapi/tests: Confirm that GetExtendedUdpTable associates a socket with the correct PID.
Topi-Matti Ritala (1):
po: Update Finnish translation.
Torge Matthies (2):
winemac: Route kernel callbacks through user32.
user32: Remove NtUserDriverCallback* kernel callbacks.
Vibhav Pant (2):
ntoskrnl: Implement IoGetDevicePropertyData().
ntoskrnl/tests: Add test for getting and setting device properties.
Ziqing Hui (4):
mf/tests: Test h264 encoder sample processing.
mf/tests: Test codecapi for h264 encoder.
winegstreamer/video_encoder: Add ICodecAPI stubs.
winegstreamer/video_encoder: Initially implement ProcessOutput.
```
The Wine development release 9.16 is now available.
What's new in this release:
- Initial Driver Store implementation.
- Pbuffer support in the Wayland driver.
- More prototype objects in MSHTML.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.16.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.16/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.16 (total 25):
- #30938 Update a XIM candidate position when cursor location changes
- #37732 Corel Paint Shop Pro X7 Installer fails
- #41607 Piggi 2 Demo version fails to start and throws runtime and fatal error
- #42997 Opera Neon Installation throws backtrace
- #43251 Anarchy Online Login Window Play and Settings button disapper after minimising and maximising window
- #44516 Anarchy Online doesn't start in Windows7 prefix
- #45105 heap-buffer overflow in gdi32 (CVE-2018-12932)
- #45106 OOB write in gdi32 (CVE-2018-12933)
- #45455 Multiple DIFxApp-based USB hardware driver installers fail due to missing 'setupapi.dll.DriverStoreFindDriverPackageW' stub (Cetus3D-Software UP Studio 2.4.x, Plantronics Hub 3.16)
- #46375 Vietcong: game save thumbnails (screenshots) have corrupted colors
- #48521 StaxRip 2.0.6.0 (.NET 4.7 app) reports 'System.ComponentModel.Win32Exception (0x80004005): Invalid function' when converting AVI (PowerRequest stubs need to return success)
- #53839 Anarchy Online (Old Engine) Installer hangs after downloading game files
- #54587 GMG-Vision - ShellExecuteEx failed: Bad EXE format for install.exe.
- #55841 Lotus Approach: print "Properties" button ignored
- #56622 Systray icons now have black background without compositor, and on some panels can be misaligned or don't redraw, becoming invisible
- #56825 Unable to see screen for Harmony Assistant version 9.9.8d (64 bit)
- #56884 FoxitPDFReaderUpdateService shows crash dialog
- #57003 Naver Line tray icon is always gray since 9.13
- #57036 Splashtop RMM client crashes on Wine 9.14
- #57055 Window surfaces are empty
- #57059 Regression - UI broken with winewayland
- #57070 cnc-ddraw OpenGL performance regression in Wine 9.15
- #57071 Incorrect window drawing
- #57073 StaxRip 2.0.6.0 crashes inside gdiplus
- #57083 ClickStamper: stamp circle is missing.
### Changes since 9.15:
```
Aida Jonikienė (1):
win32u: Initialize parent_rect variables in window.c.
Akihiro Sagawa (5):
oleaut32/tests: Add OLE Picture object tests using DIB section.
oleaut32: Convert 32-bit or 16-bit color bitmaps to 24-bit color DIBs when saving.
oleaut32: Initialize reserved members before saving.
gdiplus/metafile: Fix DrawEllipse record size if compressed.
gdiplus/metafile: Fix FillEllipse record size if compressed.
Alex Henrie (3):
rpcrt4/tests: Correct a comment in test_pointer_marshal.
rpcrt4/tests: Test whether Ndr(Get|Free)Buffer calls StubMsg.pfn(Allocate|Free).
rpcrt4/tests: Allocate stub buffers with NdrOleAllocate.
Alexandre Julliard (15):
ntdll: Avoid nested ARM64EC notifications.
ntdll: Support STATUS_EMULATION_SYSCALL exception on ARM64EC.
ntdll: Add a test for BeginSimulation().
wow64: Fetch the initial thread context from the CPU backend.
wow64: Only update necessary registers when raising exceptions.
include: Unify the syscall thunk on x86-64.
include: Clean up formatting of long asm statements.
ntdll: Allocate the ARM64EC code map in high memory.
ntdll: Allocate the x64 context on the asm side of KiUserExceptionDispatcher.
ntdll: Pass the full exception record to virtual_handle_fault().
ntdll: Implement Process/ThreadManageWritesToExecutableMemory.
ntdll: Implement NtSetInformationVirtualMemory(VmPageDirtyStateInformation).
ntdll/tests: Add tests for Process/ThreadManageWritesToExecutableMemory.
ntdll: Read the Chpev2ProcessInfo pointer before accessing the data.
shell32/tests: Delete a left-over file.
Alexandros Frantzis (5):
winewayland: Store all window rects in wayland_win_data.
winewayland: Support WGL_ARB_pbuffer.
winewayland: Support WGL_ARB_render_texture.
winewayland: Advertise pbuffer capable formats.
winewayland: Fix off-by-one error in format check.
Alfred Agrell (2):
mountmgr.sys: Read and use disk label from dbus.
kernelbase: Delete now-inaccurate 'FS volume label not available' message.
Alistair Leslie-Hughes (4):
odbccp32: Support driver config in SQLGet/WritePrivateProfileStringW.
odbccp32: Correctly hanndle ODBC_BOTH_DSN in SQLWritePrivateProfileStringW.
odbccp32: Fall back to ConfigDSN when ConfigDSNW cannot be found.
kernel32: Return a valid handle in PowerCreateRequest.
Anders Kjersem (2):
reg/tests: Wait for process termination.
wscript: Implement Sleep.
Andrey Gusev (1):
wined3d: Fix return for WINED3D_SHADER_RESOURCE_TEXTURE_2DMSARRAY.
Bernhard Übelacker (1):
userenv: Avoid crash in GetUserProfileDirectoryW.
Billy Laws (4):
include: Move arm64ec_shared_info to winternl and point to it in the PEB.
ntdll: Initialize dll search paths before WOW64 init.
ntdll: Call the exception preparation callback on ARM64EC.
configure: Don't use CPPFLAGS for PE cross targets.
Brendan McGrath (3):
mf/tests: Test video processor with 2D buffers.
mf/tests: Test 1D/2D output on 2D buffers.
mf/tests: Test 2D buffers can override stride.
Daniel Lehman (3):
odbc32: Support {}'s in Driver connection string.
msvcr120: Add feholdexcept stub.
msvcr120: Implement feholdexcept.
Danyil Blyschak (4):
win32u: Don't check ansi_cp when adding fallback child font.
win32u: Include Microsoft Sans Serif as a child font.
win32u: Include Tahoma and its linked fonts in child font list.
mlang: Use larger destination buffer with WideCharToMultiByte().
Dmitry Timoshkov (10):
gdiplus: Add a couple of missing gdi_dc_release().
msv1_0: Make buffer large enough to hold NTLM_MAX_BUF bytes of base64 encoded data.
secur32/tests: Don't load secur32.dll dynamically.
secur32/tests: Avoid assigning a 4-byte status to an 1-byte variable.
secur32/tests: Don't use fake user/domain/password in NTLM tests.
secur32/tests: Fix a typo.
secur32/tests: Separate NTLM signature and encryption tests.
secur32/tests: Make NTLM encryption tests work on newer Windows versions.
kernel32/tests: Fix compilation with a PSDK compiler.
kernel32: EnumCalendarInfo() should ignore CAL_RETURN_NUMBER flag.
Elizabeth Figura (17):
widl: Explicitly check for top-level parameters before adding FC_ALLOCED_ON_STACK.
widl: Get rid of the write_embedded_types() helper.
widl: Ignore strings in is_embedded_complex().
widl: Propagate attrs to inner pointer types.
setupapi: Move INF installation functions to devinst.c.
setupapi: Separate a copy_inf() helper.
setupapi: Add an any_version_is_compatible() helper.
setupapi: Implement DriverStoreAddDriverPackage().
setupapi: Implement DriverStoreDeleteDriverPackage().
setupapi: Implement DriverStoreFindDriverPackage().
setupapi: Uninstall from the driver store in SetupUninstallOEMInf().
setupapi: Install to the driver store in SetupCopyOEMInf().
setupapi: Add stub spec entries for DriverStoreEnumDriverPackage().
setupapi/tests: Add Driver Store tests.
winevulkan: Strip the name tail when parsing members.
winevulkan: Add video interfaces.
winevulkan: Fix pointer arithmetic in debug utils callback marshalling.
Eric Pouech (1):
winedump: Get rid of GCC warning.
Esme Povirk (5):
user32: Implement EVENT_OBJECT_STATECHANGE for BM_SETSTYLE.
user32: Implement EVENT_SYSTEM_DIALOGEND.
user32: Implement EVENT_OBJECT_CREATE for listboxes.
user32: Implement EVENT_OBJECT_DESTROY for listboxes.
user32: Implement MSAA events for LB_SETCURSEL.
Etaash Mathamsetty (1):
netapi32: Move some implementations to netutils.
Fabian Maurer (1):
printdlg: Allow button id psh1 for "Properties" button.
Gabriel Ivăncescu (6):
mshtml: Avoid calling remove_target_tasks needlessly.
mshtml: Don't return default ports from location.host in IE10+ modes.
mshtml: Implement EmulateIE* modes for X-UA-Compatible.
mshtml/tests: Accept rare return value from ReportResult on native.
jscript: Don't use call frame for indirect eval calls for storing variables.
jscript: Restrict the allowed escape characters of JSON.parse in html mode.
Hans Leidekker (18):
odbc32: Add locking around driver calls.
odbc32: Remove unused Unix calls.
odbc32: Try the DRIVER attribute if the DSN attribute is missing.
odbc32: Fail freeing an object while child objects are alive.
odbc32: Call the driver function in SQLBindCol().
odbc32: Add support for descriptor handles in SQLGet/SetStmtAttr().
odbc32: Parse incoming connection string in SQLBrowse/DriverConnct().
odbc32: Set win32_funcs on the descriptors returned from SQLGetStmtAttr().
odbc32: Implicit descriptors can be retrieved but not set.
odbc32: Connection string keywords are case insensitive.
odbccp32: Respect config mode in SQLGet/WritePrivateProfileString().
odbccp32: Use wide character string literals.
odbccp32/tests: Get rid of a workaround for XP.
odbccp32: Handle NULL DSN in SQLValidDSN().
odbc32: Handle missing SQLSetConnect/EnvAttr().
odbc32: Set initial login timeout to 15 seconds.
odbc32: Map SQLColAttributes() to SQLColAttribute().
odbc32: Map SQLGetDiagRec() to SQLError().
Ilia Docin (3):
comctl32/tests: Add rebar chevron visibility test.
comctl32/tests: Add LVM_GETNEXTITEM test.
comctl32/listview: Do not return items count on getting next item for last one.
Ivo Ivanov (3):
winebus.sys: Pass each input report regardless of report ID to the pending read IRQ.
winebus.sys: Add devtype parameter to get_device_subsystem_info().
winebus.sys: Read vendor/product/serial strings from the usb subsystem.
Jacek Caban (33):
mshtml: Add support for MSEventObj prototype objects.
mshtml: Add support for Event prototype objects.
mshtml: Add support for UIEvent prototype objects.
mshtml: Add support for mouse event prototype objects.
mshtml: Add support for keyboard event prototype objects.
mshtml: Add support for page transition event prototype objects.
mshtml: Add support for custom event prototype objects.
mshtml: Add support for message event prototype objects.
mshtml: Add support for progress event prototype objects.
mshtml: Add support for storage event prototype objects.
mshtml: Add support for screen prototype objects.
mshtml: Add support for history prototype objects.
mshtml: Add support for plugins collection prototype objects.
mshtml: Add support for MIME types collection prototype objects.
mshtml: Add support for performance timing prototype objects.
mshtml: Add support for performance navigation prototype objects.
mshtml: Add support for performance prototype objects.
mshtml: Add support for namespace collection prototype objects.
mshtml: Add support for console prototype objects.
mshtml: Add support for media query list prototype objects.
mshtml: Add support for client rect list prototype objects.
mshtml: Add support for DOM token list prototype objects.
mshtml: Add support for named node map prototype objects.
mshtml: Add support for element collection prototype objects.
mshtml: Add support for node list prototype objects.
mshtml: Add support for text range prototype objects.
mshtml: Add support for range prototype objects.
mshtml: Add support for selection prototype objects.
mshtml: Increase buffer size in dispex_to_string.
mshtml: Add support for unknown element prototype objects.
mshtml: Add support for comment prototype objects.
mshtml: Add support for attribute prototype objects.
mshtml: Add support for document fragment prototype objects.
Jacob Czekalla (4):
comctl32/tests: Add tests for progress bar states.
comctl32/progress: Add states for progress bar.
comctl32/tests: Add test to check if treeview expansion can be denied.
comctl32/treeview: Allow treeview parent to deny treeview expansion.
Louis Lenders (3):
kernel32: Fake success in PowerCreateRequest.
kernel32: Fake success in PowerSetRequest.
kernel32: Fake success in PowerClearRequest.
Martin Storsjö (1):
ucrtbase: Export powf on i386.
Nikolay Sivov (7):
include: Add IWICStreamProvider definition.
windowscodecs/tests: Add a helper to check for supported interfaces.
windowscodecs/tests: Remove noisy traces from the test stubs.
windowscodecs/tests: Add some tests for IWICStreamProvider interface availability.
windowscodecs/metadata: Add a stub for IWICStreamProvider.
windowscodecs/metadata: Reset the handler on LoadEx(NULL).
windowscodecs/tests: Add some more tests for the IWICStreamProvider methods.
Paul Gofman (25):
qcap/tests: Fix test failure in testsink_Receive() on some hardware.
qcap/tests: Add a test for simultaneous video capture usage.
quartz: Propagate graph start error in MediaControl_Run().
qcap: Delay setting v4l device format until stream start.
gdi32/tests: Add test for Regular TTF with heavy weight.
win32u: Always set weight from OS/2 header in freetype_set_outline_text_metrics().
win32u: Do not embolden heavy weighted fonts.
kernelbase: Better match Windows behaviour in PathCchStripToRoot().
kernelbase: Better match Windows behaviour in PathCchRemoveFileSpec().
kernelbase: Better match Windows behaviour in PathCchIsRoot().
kernelbase: Reimplement PathIsRootA/W() on top of PathCchIsRoot().
kernelbase: Reimplement PathStripToRootA/W() on top of PathCchStripToRoot().
kernelbase: Remimplement PathRemoveFileSpecA/W().
kernelbase/tests: Add more tests for some file manipulation functions.
shell32: Register ShellItem coclass.
include: Add some shell copy engine related constants.
shell32/tests: Add tests for IFileOperation_MoveItem.
shell32/tests: Add tests for IFileOperation_MoveItem notifications.
shell32: Implement file_operation_[Un]Advise().
shell32: Store operation requested in file_operation_MoveItem().
shell32: Partially implement MoveItem file operation execution.
shell32: Implement directory merge for MoveItem.
shell32: Support sink notifications for file MoveItem operation.
ws2_32/tests: Test UDP broadcast without SO_BROADCAST.
server: Support IPV4 UDP broadcast on connected socket without SO_BROADCAST.
Piotr Caban (6):
ntdll: Accept UNC paths in LdrGetDllPath.
ntdll: Accept UNC paths in LdrAddDllDirectory.
msi: Fix msi_add_string signature.
msi: Fix row index calculation when stringtable contains empty slots.
vcruntime140_1: Handle empty catchblock type_info in validate_cxx_function_descr4.
vcruntime140_1: Store exception record in ExceptionInformation[6] during unwinding.
Rozhuk Ivan (1):
wineoss: Store the OSS device in midi_dest.
Rémi Bernon (59):
win32u: Don't request a host window surface for child windows.
win32u: Avoid crashing with nulldrv when creating offscreen surface.
mfplat/tests: Add more tests for MFCreateMediaBufferFromMediaType.
mfplat: Implement MFCreateMediaBufferFromMediaType for video formats.
mf/tests: Cleanup the video processor test list.
win32u: Introduce a new window rects structure.
win32u: Use window_rects struct in set_window_pos.
win32u: Use window_rects struct in update_window_state.
win32u: Use window_rects struct in NtUserCreateWindowEx.
win32u: Pass a window_rects struct to calc_winpos helper.
winex11: Check whether the window surface needs to be re-created.
win32u: Fix CreateWindowSurface call when updating layered surfaces.
winex11: Avoid moving embedded windows in the systray dock.
winex11: Don't call X11DRV_SET_DRAWABLE with invalid drawable.
win32u: Split driver side window bits move to a separate entry.
win32u: Use window_rects structs in apply_window_pos.
win32u: Pass window_rects structs to create_window_surface.
win32u: Pass a window_rects struct to WindowPosChanged driver entry.
win32u: Pass a window_rects struct to WindowPosChanging driver entry.
win32u: Pass a window_rects struct to MoveWindowBits driver entry.
win32u: Introduce new get_(client|window)_rect_rel helpers.
win32u: Pass a window_rects struct from get_window_rects helper.
win32u: Pass a window_rects struct to calc_ncsize helper.
win32u: Keep a window_rects struct in the WND structure.
winebus.sys: Always parse uevent PRODUCT= line on input subsystem.
mfplat/tests: Add missing todo_wine for MFCreateMediaBufferFromMediaType.
mf/tests: Load MFCreateMediaBufferFromMediaType dynamically.
win32u: Get visible and client rects in parent-relative coordinates.
winex11: Discard previous surface when window is directly drawn to.
win32u: Flush window surface after UpdateLayeredWindow.
winex11: Remove now unnecessary window surface flushes.
winemac: Remove unused unminimized window surface.
winemac: Remove unnecessary window surface invalidation.
winex11: Fix the exposed window surface region combination.
win32u: Introduce a new NtUserExposeWindowSurface call.
wineandroid: Remove now unnecessary window surface pointer.
winemac: Remove now unnecessary window surface pointer.
winex11: Remove now unnecessary window surface pointer.
win32u: Allocate and initialize window surface in window_surface_create.
wineandroid: Keep a window_rects struct in the driver window data.
winemac: Remove unnecessary window data rects update.
winemac: Keep a window_rects struct in the driver window data.
winemac: Use the window rects to convert host visible to window rect.
winemac: Use the window rects to convert window to host visible rect.
win32u: Keep SetIMECompositionWindowPos with other IME entries.
winex11: Keep a window_rects struct in the driver window data.
winex11: Use the driver rects to convert from host visible to window rect.
winemac: Return a macdrv_window_features from get_cocoa_window_features.
win32u: Move visible rect computation out of the drivers.
win32u: Move the "Decorated" driver registry option out of the drivers.
mfplat: Add MFCreateLegacyMediaBufferOnMFMediaBuffer stub.
mfplat/tests: Test MFCreateLegacyMediaBufferOnMFMediaBuffer.
mfplat: Implement MFCreateLegacyMediaBufferOnMFMediaBuffer.
user32: Pass a free_icon_params struct to User16CallFreeIcon.
user32: Pass a thunk_lock_params struct to User16ThunkLock.
user32: Introduce a generic KeUserDispatchCallback kernel callback.
user16: Use NtUserDispatchCallback instead of User16ThunkLock.
winevulkan: Route kernel callbacks through user32.
opengl32: Route kernel callbacks through user32.
Sven Püschel (11):
dssenh/tests: Remove skipping sign tests.
dssenh/tests: Remove unnecessary verify test cases.
dssenh/tests: Move test loop out of sub function.
dssenh/tests: Remove redundant hash test.
dssenh: Finish hash in the SignHash function.
dssenh/tests: Fix signLen usage.
dssenh/tests: Set 0xdeadbeef last error before function execution.
dssenh/tests: Remove redundant signature verification.
dssenh/tests: Separate the public key export from the signhash test.
dssenh/tests: Add test for VerifySignatureA.
dssenh: Swap the endianness of the signature.
Tim Clem (1):
winemac.drv: Better detect whether to unminimize a window when the app becomes active.
Tom Helander (4):
httpapi: Add tests for HttpResponseSendEntityBody.
http.sys: Skip clean up if HTTP_SEND_RESPONSE_FLAG_MORE_DATA is set.
httpapi: Handle HTTP_SEND_RESPONSE_FLAG_MORE_DATA flag.
httpapi: Implement HttpSendResponseEntityBody.
Torge Matthies (1):
wineandroid: Route kernel callbacks through user32.
Zhiyi Zhang (6):
riched20: Release IME input context when done using it.
user32/tests: Add more display DC bitmap tests.
win32u: Use a full size bitmap for display device contexts.
win32u: Support setting host IME composition window position for ImmSetCompositionWindow().
win32u: Set host IME composition window position in set_caret_pos().
win32u: Set host IME composition window position in NtUserShowCaret().
```
The Wine development release 9.15 is now available.
What's new in this release:
- Prototype and constructor objects in MSHTML.
- More support for ODBC Windows drivers.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.15.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.15/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.15 (total 18):
- #35991 WinProladder v3.x crashes during 'PLC connect check' (async event poll worker writes to user event mask buffer whose lifetime is limited)
- #39513 Desperados: input lag after resuming from pause
- #51704 Final Fantasy XI Online: Short Freezes / Stutters Every Second
- #53531 FTDI Vinculum II IDE gets "Out of memory" error on startup
- #54861 UK's Kalender: Crashes when adding or changing event category - comctl32 related
- #56140 ListView with a custom column sorter produces wrong results
- #56494 Splashtop RMM v3.6.6.0 crashes
- #56811 Jade Empire configuration tool fails to show up (only in virtual desktop mode)
- #56984 Star Wars: Knights of the Old Republic (Steam, GOG): broken rendering when soft shadows enabled
- #56989 Doom 3: BFG Edition fails to start in virtual desktop
- #56993 Can not change desktop window resolution (pixel size)
- #57005 Wine segfaults on macOS when run from install
- #57008 _fdopen(0) does not return stdin after it was closed
- #57012 Astra 2 needs kernel32.SetFirmwareEnvironmentVariableA
- #57026 compile_commands.json change causes segmentation faults when running configure.
- #57028 LTSpice will not print with WINE 9.xx on Ubuntu 24.04
- #57033 ChessBase 17 crashes after splash screen again
- #57042 rsaenh RSAENH_CPDecrypt crashes when an application tries to decrypt an empty string
### Changes since 9.14:
```
Alex Henrie (2):
atl: Correct comment above AtlModuleRegisterTypeLib function.
atl: Only warn in AtlModuleGetClassObject if the class was not found.
Alexandre Julliard (2):
makedep: Don't add empty cflags to a compile command.
dnsapi/tests: Update tests for winehq.org DNS changes.
Alistair Leslie-Hughes (2):
include: Add *_SHIFT macros.
include: Forward declare all gdiplus classes.
Billy Laws (1):
configure: Test PE compilers after setting their target argument.
Brendan Shanks (5):
include: Ensure that x86_64 syscall thunks have a consistent length when built with Clang.
ntdll: Use environ/_NSGetEnviron() directly rather than caching it in main_envp.
ntdll: Use _NSGetEnviron() instead of environ when spawning the server on macOS.
msv1_0: Use _NSGetEnviron() instead of environ on macOS.
mmdevapi: Remove unused critical section from MMDevice.
Connor McAdams (9):
d3dx9/tests: Add tests for D3DXLoadSurfaceFromMemory() with a multisampled surface.
d3dx9: Return success in D3DXLoadSurfaceFromMemory() for multisampled destination surfaces.
d3dx9: Return failure from D3DXLoadSurfaceFromMemory() if d3dx_load_pixels_from_pixels() fails.
d3dx9/tests: Add d3dx filter argument value tests.
d3dx9: Introduce helper function for retrieving the mip filter value in texture from file functions.
d3dx9: Further validate filter argument passed to D3DXFilterTexture().
d3dx9: Validate filter argument in D3DXLoadVolumeFrom{Volume,FileInMemory,Memory}().
d3dx9: Validate filter argument in D3DXLoadSurfaceFrom{Surface,FileInMemory,Memory}().
d3dx9: Validate filter argument in texture from file functions.
Dmitry Timoshkov (1):
sechost: Check both lpServiceName and lpServiceProc for NULL in StartServiceCtrlDispatcher().
Elizabeth Figura (14):
wined3d: Invalidate push constant flags only for the primary stateblock.
wined3d: Feed the material through a push constant buffer.
wined3d: Move get_projection_matrix() to glsl_shader.c.
wined3d: Feed the projection matrix through a push constant buffer.
wined3d: Do not use the normal or modelview matrices when drawing pretransformed vertices.
wined3d: Feed modelview matrices through a push constant buffer.
wined3d: Pass d3d_info and stream_info pointers to wined3d_ffp_get_[vf]s_settings().
wined3d: Feed the precomputed normal matrix through a push constant buffer.
wined3d: Store the normal matrix as a struct wined3d_matrix.
wined3d: Hardcode 1.0 point size for shader model >= 4.
wined3d: Feed point scale constants through a push constant buffer.
d3d9/tests: Test position attribute W when using the FFP.
wined3d: Use 1.0 for position W when using the FFP.
d3d9/tests: Add comprehensive fog tests.
Eric Pouech (1):
cmd: Fix test failures for SET /P command.
Esme Povirk (6):
comctl32: Handle WM_GETOBJECT in tab control.
gdi32: Fix out-of-bounds write in EMR_ALPHABLEND handling.
win32u: Implement EVENT_SYSTEM_CAPTURESTART/END.
user32: Implement EVENT_OBJECT_STATECHANGE for BST_PUSHED.
user32: Implement EVENT_OBJECT_STATECHANGE for BM_SETCHECK.
gdi32: Bounds check EMF handle tables.
Fabian Maurer (5):
kernel32: Add SetFirmwareEnvironmentVariableA stub.
odbc32: In get_drivers prevent memory leak in error case (coverity).
odbc32: In get_drivers simplify loop condition.
iphlpapi: Add stub for SetCurrentThreadCompartmentId.
win32u: Remove superflous null check (coverity).
Gabriel Ivăncescu (1):
jscript: Implement arguments.caller.
Gerald Pfeifer (1):
nsiproxy.sys: Fix the build on non-Apple, non-Linux systems.
Hans Leidekker (25):
odbc32: Forward SQLGetConnectAttr() to the Unicode version if needed.
odbc32: Forward SQLGetConnectOption() to the Unicode version if needed.
odbc32: Forward SQLGetCursorName() to the Unicode version if needed.
odbc32: Forward SQLGetDescField() to the Unicode version if needed.
odbc32: Forward SQLGetDescRec() to the Unicode version if needed.
odbc32: Forward SQLGetDescField() to the Unicode version if needed.
odbc32: Forward SQLGetInfo() to the Unicode version if needed.
odbc32: Forward SQLGetStmtAttr() to the Unicode version if needed.
odbc32: Forward SQLGetTypeInfo() to the Unicode version if needed.
odbc32: Forward SQLNativeSql() to the Unicode version if needed.
odbc32: Forward SQLPrepare() to the Unicode version if needed.
odbc32: Forward SQLPrimaryKeys() to the Unicode version if needed.
odbc32: Forward SQLProcedureColumns() to the Unicode version if needed.
odbc32: Forward SQLProcedures() to the Unicode version if needed.
odbc32: Make the driver loader thread-safe.
odbc32: Return an error when a required driver entry point is missing.
odbc32: Forward SQLSetConnectAttr() to the Unicode version if needed.
odbc32: Forward SQLSetConnectOption() to the Unicode version if needed.
odbc32: Forward SQLSetCursorName() to the Unicode version if needed.
odbc32: Forward SQLSetDescField() to the Unicode version if needed.
odbc32: Forward SQLSetStmtAttr() to the Unicode version if needed.
odbc32: Forward SQLSpecialColumns() to the Unicode version if needed.
odbc32: Forward SQLStatistics() to the Unicode version if needed.
odbc32: Forward SQLTablePrivileges() to the Unicode version if needed.
odbc32: Forward SQLTables() to the Unicode version if needed.
Herman Semenov (1):
gdiplus: Fixed order of adding offset and result ternary operator.
Jacek Caban (83):
mshtml: Use dispex_next_id in NextProperty implementation.
jscript: Ensure that external property is still valid in jsdisp_next_prop.
mshtml: Use host object script bindings for storage objects.
mshtml: Use host object script bindings for frame elements.
mshtml: Use host object script bindings for iframe elements.
mshtml: Introduce get_outer_iface and use it instead of get_dispatch_this.
jscript: Allow host objects to specify an outer interface.
mshtml: Return E_UNEXPECTED for unknown ids in JSDispatchHost_CallFunction.
mshtml: Use get_prop_descs for window object.
mshtml: Use host object script bindings for Window object.
mshtml: Introduce get_script_global and use it instead of get_compat_mode.
mshtml: Use HTMLPluginContainer for DispatchEx functions in object element.
mshtml: Store property name in HTMLPluginContainer.
mshtml: Use host object script bindings for object elements.
mshtml: Use host object script bindings for select elements.
mshtml: Use host object script bindings for HTMLRect.
mshtml: Use host object script bindings for DOMTokenList.
mshtml: Use dispex_index_prop_desc for HTMLFiltersCollection.
mshtml: Use host object script bindings for HTMLAttributeCollection.
mshtml: Use dispex_index_prop_desc for HTMLElementCollection.
mshtml: Use host object script bindings for HTMLDOMChildrenCollection.
mshtml: Use host object script bindings for HTMLStyleSheetsCollection.
mshtml: Use host object script bindings for HTMLStyleSheet.
mshtml: Use host object script bindings for HTMLStyleSheetRulesCollection.
mshtml: Use host object script bindings for HTMLStyleSheetRule.
mshtml: Use get_prop_desc for legacy function object implementation.
mshtml: Use host object script bindings for style objects.
mshtml: Add initial constructor implementation.
mshtml: Store vtbl in dispex_data_t.
mshtml: Split ensure_dispex_info.
mshtml: Factor out init_dispatch_from_desc.
mshtml: Add initial support for MSHTML prototype objects.
mshtml: Don't expose prototype properties directly from object instances.
mshtml: Store name in dispex_data_t.
mshtml: Use proper prototype names.
jscript: Allow using MSHTML constructors in instanceof expressions.
maintainers: Remove shdocvw from WebBrowser control section.
mshtml: Add support for navigator prototype objects.
mshtml: Add support for HTMLBodyElement object.
mshtml: Add initial support for prototype chains.
mshtml: Add support for Element and Node prototype objects.
mshtml: Add support for Storage prototype objects.
mshtml: Add support for document prototype objects.
mshtml: Add support for window prototype objects.
include: Always declare _setjmp in setjmp.h on i386 targets.
mshtml: Add support for image element prototype objects.
jscript: Introduce HostConstructor function type.
mshtml: Use host constructor script bindings for Image constructor object.
mshtml: Use host constructor script bindings for XMLHttpRequest constructor object.
mshtml: Add support for option element prototype objects.
mshtml: Use host object script bindings for Option constructor object.
mshtml: Add support for MutationObserver consturctor and prototype objects.
include: Add DECLSPEC_CHPE_PATCHABLE definition.
mshtml/tests: Use winetest.js helpers in xhr.js.
mshtml: Add support for anchor element prototype objects.
mshtml: Add support for area element prototype objects.
mshtml: Add support for form element prototype objects.
mshtml: Add support for frame elements prototype objects.
mshtml: Add support for head elements prototype objects.
mshtml: Add support for input elements prototype objects.
mshtml: Add support for link element prototype objects.
mshtml: Add support for object and embed element prototype objects.
mshtml: Add support for script element prototype objects.
mshtml: Add support for select element prototype objects.
mshtml: Add support for style element prototype objects.
mshtml: Add support for table and tr element prototype objects.
mshtml: Add support for td element prototype objects.
mshtml: Add support for textarea element prototype objects.
mshtml: Add support for svg element prototype objects.
mshtml: Add support for circle SVG element prototype objects.
mshtml: Add support for tspan SVG element prototype objects.
mshtml: Add support for document type node prototype objects.
mshtml: Add support for text node prototype objects.
mshtml: Get object name from its ID when possible.
mshtml: Add support for computed style prototype objects.
mshtml: Add support for style prototype objects.
mshtml: Add support for current style prototype objects.
mshtml: Add support for style sheet prototype objects.
mshtml: Add support for style sheet list prototype objects.
mshtml: Add support for CSS rule list prototype objects.
mshtml: Add support for CSS rule prototype objects.
mshtml: Add support for rect prototype objects.
mshtml: Make mutation_observer_ctor_dispex_vtbl const.
Jacob Czekalla (6):
comctl32/tests: Add test for listview sorting order.
comctl32: Fix sorting for listview.
comctl32/tests: Add test for propsheet page creation when propsheet gets initialized.
comctl32/propsheet: Create pages with PSP_PREMATURE on initialization.
comctl32/tests: Add test for PSN_QUERYINITIALFOCUS for the propsheet.
comctl32: Add handling for PSN_QUERYINITIALFOCUS in prop.c.
Jactry Zeng (1):
ntdll: Try to use page size from host_page_size() for macOS.
Jakub Petrzilka (1):
rsaenh: Don't crash when decrypting empty strings.
Kieran Geary (1):
shell32: Make SHGetStockIconInfo() attempt to set icon.
Martino Fontana (2):
dinput/tests: Update tests for DIPROP_SCANCODE.
dinput: Implement DIPROP_SCANCODE.
Matteo Bruni (1):
d3dx9: Don't silently ignore d3dx_calculate_pixel_size() errors.
Matthias Gorzellik (3):
hidparse: Pre-process descriptor to find TLCs.
winebus: Store pending reads per report-id.
hidclass: Create a child PDO for each HID TLC.
Nikolay Sivov (3):
d3dx9/effect: Document one remaining header field.
d3dx9/tests: Add some tests for D3DXEFFECT_DESC fields.
d3dx9/effect: Return creator string from GetDesc().
Paul Gofman (11):
nsiproxy.sys: Only get owning pid when needed in udp_endpoint_enumerate_all().
mmdevapi: Return stub interface from ASM_GetSessionEnumerator().
mmdevapi: Add implementation for IAudioSessionEnumerator.
mmdevapi/tests: Add test for IAudioSessionEnumerator.
ntdll: Stub NtQuerySystemInformation[Ex]( SystemProcessorIdleCycleTimeInformation ).
kernel32: Implement QueryIdleProcessorCycleTime[Ex]().
ntdll: Implement NtQuerySystemInformationEx( SystemProcessorIdleCycleTimeInformation ) on Linux.
ntdll: Raise exception on failed CS wait.
mmdevapi: Unlock session in create_session_enumerator().
mmdevapi: Implement control_GetSessionIdentifier().
mmdevapi: Implement control_GetSessionInstanceIdentifier().
Piotr Caban (4):
msvcrt: Reuse standard streams after they are closed.
ntdll: Optimize NtReadVirtualMemory for in-process reads.
kernel32/tests: Test ReadProcessMemory on PAGE_NOACCESS memory.
wineps.drv: Fix EMR_SETPIXELV record playback.
Rémi Bernon (27):
win32u: Simplify offscreen surface previous surface reuse check.
winex11: Rely on win32u previous surface reuse.
wineandroid: Rely on win32u previous surface reuse.
winewayland: Rely on win32u previous surface reuse.
winemac: Remove unnecessary old window surface bounds copy.
winemac: Rely on win32u previous surface reuse.
win32u: Avoid sending WM_PAINT to layered window surfaces.
win32u: Merge drivers CreateLayeredWindow with CreateWindowSurface.
dinput/tests: Add more tests reading multiple TLCs reports.
hidparse: Use ExFreePool to free preparsed data.
hidclass: Keep HID device desc on the FDO device.
hidclass: Start PDO thread in IRP_MN_START_DEVICE.
hidclass: Allocate child PDOs array dynamically.
win32u: Force updating the display cache when virtual desktop state changes.
hidclass: Use poll_interval == 0 for non-polled devices.
hidclass: Read reports with the largest input report size over TLCs.
hidclass: Use a single lock for PDO queues and removed flag.
hidclass: Pass HIDP_DEVICE_DESC to find_report_with_type_and_id.
hidclass: Start the HID device thread with the FDO.
win32u: Always use the dummy surface if a surface isn't needed.
win32u: Fix a typo in read_source_from_registry.
win32u: Always enumerate the primary source first.
win32u: Remove unnecessary UpdateLayeredWindow driver entry args.
wineandroid: Remove now unnecessary WindowPosChanging checks.
winemac: Remove now unnecessary WindowPosChanging checks.
winewayland: Remove now unnecessary WindowPosChanging checks.
winex11: Remove now unnecessary WindowPosChanging checks.
Spencer Wallace (2):
shell32/tests: Add tests for moving dir(s) to destination(s) with conflicting dir.
shell32: Fix FO_MOVE when destination has conflicting directory.
Sven Baars (1):
ntdll: Use the module debug channel in virtual_map_builtin_module().
Vijay Kiran Kamuju (4):
include: Add more Task Scheduler Trigger interface definitions.
include: Add ISessionStateChangeTrigger declaration.
include: Added IEventTrigger declaration.
include: Add gdiplus effect parameter structs.
Ziqing Hui (14):
propsys: Add stubs for variant conversion functions.
propsys/tests: Add tests for VariantToPropVariant.
propsys: Initially implement VariantToPropVariant.
include: Fix name of CODECAPI_AVDecVideoAcceleration_H264.
include: Add video encoder statistical guids.
include: Add video encoder header guids.
include: Add video encoder chroma defines.
include: Add video encoder color defines.
include: Add video encode guids.
include: Add video encoder max guids.
include: Add video encoder inverse telecine guids.
include: Add video encoder source defines.
include: Add more video encoder codec api guids.
winegstreamer/quartz_parser: Handle 0 size in read_thread.
Đorđe Mančić (1):
kernelbase: Implement GetTempPath2A() and GetTempPath2W().
```
The Wine development release 9.14 is now available.
What's new in this release:
- Mailslots reimplemented using server-side I/O.
- More support for ODBC Windows drivers.
- Still more user32 data structures in shared memory.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.14.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.14/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.14 (total 20):
- #11268 Civilization I for Windows (16-bt) incorrectly displays some dialogues
- #32679 cmd.exe Add support for || and &&
- #48167 1000 Mots V4.0.2 freeze when 3 words are pronounced - Underrun of data
- #48455 Multiple .inf driver installers hang due to missing handling of architecture-specific SourceDisks{Names,Files} .inf sections (Native Instruments Native Access 1.9, WinCDEmu 4.1)
- #49944 Multiple games fail to detect audio device (Tom Clancy's Splinter Cell: Conviction, I Am Alive)
- #50231 Ys: Origin shows black screen during video playback
- #54735 AOL (America Online) Desktop Beta fails when installing .net 4.8
- #54788 AOL 5.0 Installation fails
- #55662 Different behaviour of "set" command
- #55798 Unreal Engine 5.2: Wine minidumps take hours to load into a debugger
- #56751 New WoW64 compilation fails on Ubuntu Bionic
- #56861 Background color of selected items in ListView(or ListCtrl) is white
- #56954 Regression causes wine to generate ntlm_auth <defunct> processes
- #56956 MSVC cl.exe 19.* fails to flush intermediate file
- #56957 CEF application (BSG Launcher) freezes on mouse hover action
- #56958 ChessBase 17 crashes after splash screen
- #56969 Act of War (Direct Action, High Treason) crashes in wined3d when loading the mission
- #56972 Warlords III: Darklords Rising shows empty screen in virtual desktop
- #56977 accept()-ed socket fds are never marked as cacheable
- #56994 mbstowcs for UTF8, with an exact (not overallocated) output buffer size fails
### Changes since 9.13:
```
Alex Henrie (1):
shell32: Put temp directory in %LOCALAPPDATA%\Temp by default.
Alexandre Julliard (3):
ntdll: Implement KiUserEmulationDispatcher on ARM64EC.
urlmon/tests: Fix a test that fails after WineHQ updates.
ntdll: Always clear xstate flag on collided unwind.
Alexandros Frantzis (2):
winex11: Query proper GLX attribute for pbuffer bit.
opengl32: Fix match criteria for WGL_DRAW_TO_PBUFFER_ARB.
Alistair Leslie-Hughes (5):
odbc32: Handle NULL handles in SQLError/W.
odbc32: Fake success for SQL_ATTR_CONNECTION_POOLING in SQLSetEnvAttr.
odbc32: Handle NULL EnvironmentHandle in SQLTransact.
msado15: Fake success in _Recordset::CancelUpdate.
msado15: Report we support all options in _Recordset::Supports.
Arkadiusz Hiler (1):
ntdll: Use the correct io callback when writing to a socket.
Billy Laws (1):
ntdll: Map PSTATE.SS to the x86 trap flag on ARM64EC.
Biswapriyo Nath (1):
include: Fix return type of IXAudio2MasteringVoice::GetChannelMask in xaudio2.idl.
Brendan Shanks (1):
wine.inf: Don't register wineqtdecoder.dll.
Connor McAdams (14):
d3d9/tests: Add tests for IDirect3DDevice9::UpdateSurface() with a multisampled surface.
d3d9: Return failure if a multisampled surface is passed to IDirect3DDevice9::UpdateSurface().
ddraw/tests: Add tests for preserving d3d scene state during primary surface creation.
d3d9/tests: Add a test for device reset after beginning a scene.
d3d8/tests: Add a test for device reset after beginning a scene.
wined3d: Clear scene state on device state reset.
d3dx9/tests: Make some test structures static const.
d3dx9/tests: Reorder test structure members.
d3dx9/tests: Add more D3DXCreateCubeTextureFromFileInMemory{Ex}() tests.
d3dx9: Refactor texture creation and cleanup in D3DXCreateCubeTextureFromFileInMemoryEx().
d3dx9: Cleanup texture value argument handling in D3DXCreateCubeTextureFromFileInMemoryEx().
d3dx9: Use d3dx_image structure inside of D3DXCreateCubeTextureFromFileInMemoryEx().
d3dx9: Add support for specifying which array layer to get pixel data from to d3dx_image_get_pixels().
d3dx9: Add support for loading non-square cubemap DDS files into cube textures.
Daniel Lehman (3):
odbc32: Handle NULL attribute in SQLColAttribute[W].
odbc32: Return success for handled attributes in SQLSetConnectAttrW.
mshtml: Add application/pdf MIME type.
Dmitry Timoshkov (3):
odbc32: Correct 'WINAPI' placement for function pointers.
light.msstyles: Use slightly darker color for GrayText to make text more readable.
dwrite: Return correct rendering and gridfit modes from ::GetRecommendedRenderingMode().
Elizabeth Figura (32):
setupapi/tests: Add more tests for SetupGetSourceFileLocation().
setupapi: Correctly interpret the INFCONTEXT parameter in SetupGetSourceFileLocation().
setupapi: Return the file's relative path from SetupGetSourceFileLocation().
setupapi: Use SetupGetIntField() in SetupGetSourceFileLocation().
ddraw: Call wined3d_stateblock_texture_changed() when the color key changes.
wined3d: Store all light constants in a separate structure.
wined3d: Store the cosines of the light angle in struct wined3d_light_constants.
wined3d: Feed light constants through a push constant buffer.
wined3d: Sort light constants by type.
wined3d: Transform light coordinates by the view matrix in wined3d_device_apply_stateblock().
setupapi: Use SetupGetSourceFileLocation() in get_source_info().
setupapi: Use SetupGetSourceInfo() in get_source_info().
setupapi/tests: Test installing an INF file with architecture-specific SourceDisks* sections.
setupapi: Fix testing for a non-empty string in get_source_info().
ntoskrnl/tests: Remove unnecessary bits from add_file_to_catalog().
setupapi/tests: Make function pointers static.
setupapi/tests: Move SetupCopyOEMInf() tests to devinst.c.
setupapi/tests: Use a randomly generated directory and hardcoded file paths in test_copy_oem_inf().
setupapi/tests: Use a signed catalog file in test_copy_oem_inf().
wined3d: Avoid division by zero in wined3d_format_get_float_color_key().
wined3d: Don't bother updating the colour key if the texture doesn't have WINED3D_CKEY_SRC_BLT.
wined3d: Move clip plane constant loading to shader_glsl_load_constants().
wined3d: Correct clip planes for the view transform in wined3d_device_apply_stateblock().
wined3d: Pass stream info to get_texture_matrix().
wined3d: Do not use the texture matrices when drawing pretransformed vertices.
wined3d: Feed texture matrices through a push constant buffer.
server: Make pipe ends FD_TYPE_DEVICE.
kernel32/tests: Add more mailslot tests.
server: Treat completion with error before async_handoff() as error.
ntdll: Respect the "options" argument to NtCreateMailslotFile.
server: Reimplement mailslots using server-side I/O.
ntdll: Stub NtQueryInformationToken(TokenUIAccess).
Eric Pouech (20):
winedump: Protect against corrupt minidump files.
winedump: Dump comment streams in minidump.
cmd: Add success/failure tests for pipes and drive change.
cmd: Set success/failure for change drive command.
cmd: Run pipe LHS & RHS outside of any batch context.
cmd: Better test error handling for pipes.
cmd: Enhance CHOICE arguement parsing.
cmd: Implement timeout support in CHOICE command.
include/mscvpdb.h: Use flexible array members for all trailing array fields.
include/msvcpdb.h: Use flexible array members for codeview_fieldtype union.
include/mscvpdb.h: Use flexible array members for codeview_symbol union.
include/mscvpdb.h: Use flexible array members for codeview_type with variable.
include/mscvpdb.h: Use flexible array members for the rest of structures.
cmd: Some tests about tampering with current batch file.
cmd: Link env_stack to running context.
cmd: Split WCMD_batch() in two functions.
cmd: Introduce helpers to find a label.
cmd: No longer pass a HANDLE to WCMD_ReadAndParseLine.
cmd: Save and restore file position from BATCH_CONTEXT.
cmd: Don't keep batch file opened.
Esme Povirk (3):
win32u: Implement EVENT_OBJECT_DESTROY.
win32u: Implement EVENT_OBJECT_STATECHANGE for WS_DISABLED.
win32u: Implement EVENT_OBJECT_VALUECHANGE for scrollbars.
Fabian Maurer (1):
ntdll: Prevent double close in error case (coverity).
Fan WenJie (1):
win32u: Fix incorrect comparison in add_virtual_modes.
Francisco Casas (2):
quartz: Emit FIXME when the rendering surface is smaller than the source in VMR9.
quartz: Properly copy data to render surfaces of planar formats in VMR9.
François Gouget (1):
wineboot: Downgrade the wineprefix update message to a trace.
Gabriel Ivăncescu (11):
mshtml: Make sure we aren't detached before setting interactive ready state.
jscript: Make JS_COUNT_OPERATION a no-op.
mshtml: Implement event.cancelBubble.
mshtml: Implement HTMLEventObj's cancelBubble on top of the underlying event's cancelBubble.
mshtml: Fix special case between stopImmediatePropagation and setting cancelBubble to false.
mshtml: Use bitfields for the event BOOL fields.
mshtml: Don't use -moz prefix for box-sizing CSS property.
mshtml/tests: Add more tests with invalid CSS props for (get|set)PropertyValue.
mshtml: Compactify the style_props expose tests for each style object into a single function.
mshtml: Implement style msTransition.
mshtml: Implement style msTransform.
Hans Leidekker (27):
odbc32: Fix a couple of spec file entries.
odbc32: Use LoadLibraryExW() instead of LoadLibraryW().
odbc32: Forward SQLDriverConnect() to the Unicode version if needed.
odbc32: Forward SQLGetDiagRec() to the Unicode version if needed.
odbc32: Forward SQLBrowseConnect() to the Unicode version if needed.
odbc32: Forward SQLColAttributes() to the Unicode version if needed.
odbc32: Forward SQLColAttribute() to the Unicode version if needed.
odbc32: Properly handle string length in traces.
winhttp/tests: Mark a test as broken on old Windows versions.
winhttp/tests: Fix test failures introduced by the server upgrade.
odbc32: Forward SQLColumnPrivileges() to the Unicode version if needed.
odbc32: Forward SQLColumns() to the Unicode version if needed.
odbc32: Forward SQLConnect() to the Unicode version if needed.
odbc32: Forward SQLDescribeCol() to the Unicode version if needed.
odbc32: Forward SQLError() to the Unicode version if needed.
odbc32: Handle missing Unicode driver entry points.
odbc32: Forward SQLExecDirect() to the Unicode version if needed.
odbc32: Forward SQLForeignKeys() to the Unicode version if needed.
odbc32: Avoid a clang warning.
odbc32: Get rid of the wrappers for SQLGetDiagRecA() and SQLDataSourcesA().
odbc32/tests: Add tests for SQLTransact().
odbc32: Fix setting the Driver registry value.
odbc32: Find the driver filename through the ODBCINST.INI key.
secur32: Handle GNUTLS_MAC_AEAD.
secur32/tests: Switch to TLS 1.2 for connections to test.winehq.org.
winhttp/tests: Mark more test results as broken on old Windows versions.
secur32/tests: Mark some test results as broken on old Windows versions.
Herman Semenov (3):
dbghelp: Fix misprint access to struct with invalid case.
dplayx: Fix check structure before copy.
gdiplus: Fixed order of adding offset and result ternary operator.
Jacek Caban (32):
mshtml: Use host object script bindings for Attr class.
mshtml: Use host object script bindings for event objects.
mshtml: Use host object script bindings for PluginArray class.
mshtml: Use host object script bindings for MimeTypeArray class.
mshtml: Use host object script bindings for MSNamespaceInfoCollection class.
mshtml: Use host object script bindings for MSEventObj class.
mshtml: Use host object script bindings for XMLHttpRequest class.
mshtml: Directly use dispex_prop_put and dispex_prop_get in HTMLElement implementation.
mshtml: Factor out dispex_next_id.
mshtml: Don't use BSTR in find_dispid.
mshtml: Don't use BSTR in lookup_dispid.
mshtml: Don't use BSTR in get_dispid.
mshtml: Factor out dispex_get_id.
mshtml: Use dispex_prop_put in HTMLDOMAttribute_put_nodeValue.
mshtml: Factor out dispex_prop_name.
jscript: Check if PROP_DELETED is actually an external property in find_prop_name.
mshtml: Use host object script bindings for DOM nodes.
mshtml: Use dispex_get_id in JSDispatchHost_LookupProperty.
mshtml: Introduce get_prop_desc call.
mshtml: Use host object script bindings for HTMLRectCollection.
jscript: Make sure to use the right name for a prototype reference in find_prop_name_prot.
jscript: Fixup prototype references as part of lookup.
jscript: Use a dedicated jsclass_t entry for host objects.
jscript: Improve invoke_prop_func error handling.
mshtml: Explicitly specify case insensitive search in GetIDsOfNames.
jscript: Treat external properties as volatile.
jscript: Suport deleting host object properties.
jscript: Support configuring host properties.
jscript: Allow host objects to implement fdexNameEnsure.
mshtml: Use host object script bindings for HTMLFormElement.
mshtml: Use ensure_real_info in dispex_compat_mode.
mshtml: Use host object script bindings for document nodes.
Jinoh Kang (1):
server: Mark the socket as cacheable when it is an accepted or accepted-into socket.
Nikolay Sivov (2):
winhttp/tests: Add some more tests for string options in WinHttpQueryOption().
winhttp: Handle exact buffer length match in WinHttpQueryOption().
Paul Gofman (2):
mshtml: Check get_document_node() result in get_node().
dxdiagn: Fill szHardwareId for sound render devices.
Piotr Caban (4):
ucrtbase: Fix mbstowcs on UTF8 strings.
msvcrt: Use thread-safe functions in _ctime64_s.
msvcrt: Use thread-safe functions in _ctime32_s.
msvcrt: Don't access input string after NULL-byte in mbstowcs.
Rémi Bernon (16):
ddraw/tests: Make sure the window is restored after some minimize tests.
winex11: Reset empty window shape even without a window surface.
server: Expose the thread input keystate through shared memory.
win32u: Introduce a new NtUserGetAsyncKeyboardState call.
win32u: Use the thread input shared memory in GetKeyboardState.
win32u: Use the desktop shared memory in get_async_keyboard_state.
server: Make the get_key_state request key code mandatory.
server: Expose the thread input keystate lock through shared memory.
win32u: Use the thread input shared memory for GetKeyState.
winemac: Use window surface shape for color key transparency.
winemac: Use window surface shape for window shape region.
winevulkan: Fix incorrect 32->64 conversion of debug callbacks.
winevulkan: Use integer types in debug callbacks parameter structs.
winevulkan: Serialize debug callbacks parameter structures.
opengl32: Use integer types in debug callbacks parameter structs.
opengl32: Serialize debug callbacks message string.
Santino Mazza (1):
gdiplus: Support string alignment in GdipMeasureString.
Tim Clem (2):
nsiproxy.sys: Use the pcblist64 sysctl to enumerate TCP connections on macOS.
nsiproxy.sys: Use the pcblist64 sysctl to enumerate UDP connections on macOS.
Vijay Kiran Kamuju (1):
cmd: Do not set enviroment variable when no input is provided by set /p command.
Zhiyi Zhang (3):
light.msstyles: Add Explorer::ListView subclass.
comctl32/tests: Add more treeview background tests.
comctl32/treeview: Use window color to fill background.
Ziqing Hui (5):
include: Add encoder codec type guids.
include: Add encoder common format guids.
include: Add encoder common attribute defines.
include: Add H264 encoder attribute guids.
include: Add video encoder output frame rate defines.
```
The Wine development release 9.13 is now available.
What's new in this release:
- Support for loading ODBC Windows drivers.
- More user32 data structures in shared memory.
- More rewriting of the CMD.EXE engine.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.13.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.13/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.13 (total 22):
- #21344 Buffer overflow in WCMD_run_program
- #35163 Victoria 2: A House Divided crashes on start with built-in quartz
- #39206 Lylian demo hangs after intro video
- #44315 Buffer maps cause CPU-GPU synchronization (Guild Wars 2, The Witcher 3)
- #44888 Wrong texture in Assassin's Creed : Revelations
- #45810 WINEPATH maximums
- #52345 Unclosed right-side double quote in if command breaks wine cmd
- #52346 Filename completion is not supported in cmd
- #54246 Full Metal Daemon Muramasa stuck at black screen at boot
- #54499 Native ODBC drivers should be able be used.
- #54575 False positive detection of mmc reader as hard drive since kernel 6.1
- #55130 IF EXIST fails when its argument ends on a slash
- #55401 CMD 'for loop' params are not recognized
- #56575 CUERipper 2.2.5 Crashes on loading WMA plugin
- #56600 MEGA TECH Faktura Small Business: Access violation in module kernelbase.dll
- #56617 Photoshop CC 2024: crashes after a short period (Unimplemented function NETAPI32.dll.NetGetAadJoinInformation)
- #56882 ConEmu errors: Injecting hooks failed
- #56895 So Blonde (demo): font display bug (regression)
- #56938 msiexec crashes with stack overflow when installing python 3.11+ dev.msi
- #56945 Multiple UI elements in builtin programs is missing (taskbar in Virtual Desktop, right-click menu in RegEdit)
- #56948 Intel Hardware Accelerated Execution Manager needs unimplemented function ntoskrnl.exe.KeQueryGroupAffinity
- #56952 PS installer crashes inside msi (regression)
### Changes since 9.12:
```
Alex Henrie (11):
msi: Initialize size argument to RegGetValueW.
shell32: Pass size in bytes to RegGetValueW.
twinapi.appcore: Initialize size argument to RegGetValueW.
mscoree: Pass size in bytes to RegGetValueW.
wineboot: Correct size argument to SetupDiSetDeviceRegistryPropertyA.
advapi32/tests: Test RegGetValue[AW] null termination.
advapi32/tests: Drop security test workarounds for Windows <= 2000.
windowscodecs: Use RegQueryValueExW in ComponentInfo_GetStringValue.
kernelbase: Ensure null termination in RegGetValue[AW].
ntdll: Double-null-terminate registry multi-strings in RtlQueryRegistryValues.
ntdll/tests: Remove unused WINE_TODO_DATA flag.
Alexandre Julliard (26):
kernelbase: Mask extra protection flags in WriteProcessMemory.
wow64: Call pre- and post- memory notifications also in the current process case.
wow64: Add more cross-process notifications.
ntdll/tests: Add tests for in-process memory notifications on ARM64.
wow64: Add a helper to get the 32-bit TEB.
ntdll: Always set the dll name pointer in the 32-bit TEB.
wow64: Fix NtMapViewOfSection CPU backend notifications.
wow64: Add NtReadFile CPU backend notifications.
wow64cpu: Simplify the Unix call thunk.
xtajit64: Add stub dll.
ntdll: Load xtajit64.dll on ARM64EC.
ntdll/tests: Add some tests for xtajit64.
ntdll: Create the cross-process work list at startup on ARM64EC.
ntdll: Support the ARM64EC work list in RtlOpenCrossProcessEmulatorWorkConnection.
ntdll: Call the processor information callback on ARM64EC.
ntdll: Load the processor features from the emulator on ARM64EC.
ntdll: Call the flush instruction cache callback on ARM64EC.
ntdll: Call the memory allocation callbacks on ARM64EC.
ntdll: Call the section map callbacks on ARM64EC.
ntdll: Call the read file callback on ARM64EC.
ntdll: Implement ProcessPendingCrossProcessEmulatorWork on ARM64EC.
wininet/tests: Update issuer check for winehq.org certificate.
wow64: Fix prototype for the NtTerminateThread CPU backend notification.
wow64: Add NtTerminateProcess CPU backend notifications.
ntdll: Call the terminate thread callback on ARM64EC.
ntdll: Call the terminate process callback on ARM64EC.
Alexandros Frantzis (4):
opengl32: Add default implementation for wglChoosePixelFormatARB.
winex11: Remove driver wglChoosePixelFormatARB implementation.
winewayland: Support WGL_ARB_pixel_format.
winewayland: Support WGL_ARB_pixel_format_float.
Alfred Agrell (10):
include: Fix typo in DXGI_DEBUG_APP.
include: Fix typo in IID_IDWriteStringList.
include: Fix typo in IID_IAudioLoudness.
include: Fix typo in GUID_DEVCLASS_1394DEBUG.
include: Fix typo in IID_IRemoteDebugApplication.
include: Fix typos in MF_MT_VIDEO_3D and MF_MT_AUDIO_FOLDDOWN_MATRIX.
include: Fix typos in IID_IMimeWebDocument and IID_IMimeMessageCallback.
include: Fix typos in IID_IPropertyEnumType2 and CLSID_PropertySystem.
include: Fix typo in MEDIASUBTYPE_P408.
include: Fix typo in CLSID_WICXMPMetadataReader.
Austin English (2):
netapi32: Add NetGetAadJoinInformation stub.
ntoskrnl.exe: Add a stub for KeQueryGroupAffinity.
Biswapriyo Nath (5):
include: Add flags for ID3D11ShaderReflection::GetRequiresFlags method in d3d11shader.h.
include: Add macros for d3d12 shader version in d3d12shader.idl.
include: Add new names in D3D_NAME enum in d3dcommon.idl.
include: Fix typo with XINPUT_DEVSUBTYPE_FLIGHT_STICK name in xinput.h.
include: Fix typo with X3DAUDIO_EMITTER structure in x3daudio.h.
Brendan McGrath (3):
winegstreamer: Use process affinity to calculate thread_count.
winegstreamer: Use thread_count to determine 'max-threads' value.
winegstreamer: Set 'max_threads' to 4 for 32-bit processors.
Connor McAdams (14):
d3dx9/tests: Move the images used across multiple test files into a shared header.
d3dx9/tests: Add more D3DXLoadVolumeFromFileInMemory() tests.
d3dx9: Use shared code in D3DXLoadVolumeFromFileInMemory().
d3dx9/tests: Add more tests for D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Refactor texture creation and cleanup in D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Cleanup texture value argument handling in D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Use d3dx_image structure inside of D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Add support for mipmap generation to D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9/tests: Add tests for DDS skip mip level bits.
d3dx9: Apply the DDS skip mip level bitmask.
d3dx9/tests: Add more DDS header tests for volume texture files.
d3dx9: Check the proper flag for DDS files representing a volume texture.
d3dx9/tests: Add more DDS header tests for cube texture files.
d3dx9: Return failure if a cubemap DDS file does not contain all faces.
Dmitry Timoshkov (3):
msv1_0: Add support for SECPKG_CRED_BOTH.
kerberos: Add support for SECPKG_CRED_BOTH.
crypt32: Make CertFindCertificateInStore(CERT_FIND_ISSUER_NAME) work.
Elizabeth Figura (19):
d3dcompiler/tests: Use the correct interfaces for some COM calls.
mfplat/tests: Use the correct interfaces for some COM calls.
d3dx9: Use the correct interfaces for some COM calls.
d3dx9/tests: Define COBJMACROS.
mfplat/tests: Add more tests for compressed formats.
winegstreamer: Check the version before calling wg_format_from_caps_video_mpeg1().
winegstreamer: Implement MPEG-4 audio to wg_format conversion.
winegstreamer: Implement H.264 to wg_format conversion.
winegstreamer: Implement H.264 to IMFMediaType conversion.
winegstreamer: Implement AAC to IMFMediaType conversion.
winegstreamer: Implement WMV to IMFMediaType conversion.
winegstreamer: Implement WMA to IMFMediaType conversion.
winegstreamer: Implement MPEG-1 audio to IMFMediaType conversion.
wined3d: Invalidate the FFP VS when diffuse presence changes.
wined3d: Destroy the push constant buffers on device reset.
wined3d: Feed the fragment part of WINED3D_RS_SPECULARENABLE through a push constant buffer.
wined3d: Feed the FFP color key through a push constant buffer.
wined3d: Reorder light application in wined3d_device_apply_stateblock().
wined3d: Feed WINED3D_RS_AMBIENT through a push constant buffer.
Eric Pouech (49):
cmd: Add success/failure tests for file related commands.
cmd: Set success/failure return code for TYPE command.
cmd: Set success/failure return code DELETE command.
cmd: Set success/failure return code for MOVE command.
cmd: Set success/failure return code for RENAME command.
cmd: Set success/failure return code for COPY command.
cmd: Add success/failure tests for dir related commands.
cmd: Add success/failure return code for MKDIR/MD commands.
cmd: Set success/failure return code for CD command.
cmd: Set success/failure return code for DIR command.
cmd: Set success/failure return code for PUSHD command.
cmd: Add some more tests for success/failure.
cmd: Return tri-state for WCMD_ReadParseLine().
cmd: Improve return code / errorlevel handling.
cmd: Set success/failure return_code for POPD command.
cmd: Set success/failure return code for RMDIR/RD command.
cmd: Don't set ERRORLEVEL in case of redirection error.
cmd/tests: Test success / failure for more commands.
cmd: Set success/failure return code for SETLOCAL/ENDLOCAL commands.
cmd: Set success/failure return code for DATE/TIME commands.
cmd: Set success/failure return code for VER command.
cmd: Set success/failure return code for VERIFY command.
cmd: Set success/failure return code for VOL command.
cmd: Set success/failure return code for LABEL command.
cmd/tests: Add more tests for success/failure.
cmd: Set success/failure return code of PATH command.
cmd: Set success/failure return code for SET command.
cmd: Set success/failure return code for ASSOC,FTYPE commands.
cmd: Set success/failure return code for SHIFT command.
cmd: Set success/failure return code for HELP commands.
cmd: Set success/failure return_code for PROMPT command.
cmd: Add tests for screen/interactive builtin commands.
cmd: Set success/failure return code for CLS command.
cmd: Set success/failure return code for COLOR command.
cmd: Set success/failure return code for TITLE command.
cmd: Use the correct output handle in pipe command.
cmd: Set success/failure return code for CHOICE command.
cmd: Set success/failure return code for MORE command.
cmd: Set success/failure return code for PAUSE command.
cmd: Get rid of CTTY command.
cmd: Add more tests for return codes in builtin commands.
cmd: Set success/failure return code for MKLINK command.
cmd: Set success/failure return code for START command.
cmd: Move empty batch command handling to WCMD_batch() callers.
cmd: Improve return code/errorlevel support for external commands.
cmd: Cleanup transition bits.
cmd: Get rid for CMD_COMMAND structure.
cmd: When parsing, dispose created objects on error path.
cmd: Fix a couple of issues with redirections.
Fabian Maurer (6):
cmd: Close file opened with popen with correct function (coverity).
mlang/tests: Add test for GetGlobalFontLinkObject allowing IID_IMultiLanguage2.
mlang/tests: Add tests showing which interface is returned by GetGlobalFontLinkObject.
mlang: Return the correct interface in GetGlobalFontLinkObject.
d3dx9: Remove superflous nullcheck (coverity).
msv1_0: Set mode in ntlm_check_version.
Hans Leidekker (25):
msi: Avoid infinite recursion while processing the DrLocator table.
odbc32: Turn SQLBindParam() into a stub.
odbc32: Replicate Unix data sources to the ODBC Data Sources key.
odbc32: Reimplement SQLDrivers() using registry functions.
odbc32: Reimplement SQLDataSources() using registry functions.
odbc32: Introduce a Windows driver loader and forward a couple of functions.
odbc32: Forward more functions to the Windows driver.
odbc32: Forward yet more functions to the Windows driver.
odbc32: Forward the remaining functions to the Windows driver.
odbc32/tests: Add tests.
msi: Handle failure from MSI_RecordGetInteger().
msi: Load DrLocator table in ITERATE_AppSearch().
winhttp: Implement WinHttpQueryOption(WINHTTP_OPTION_URL).
odbc32: Implement SQLSetEnvAttr(SQL_ATTR_ODBC_VERSION).
odbc32: Implement SQLGet/SetConnectAttr(SQL_ATTR_LOGIN_TIMEOUT).
odbc32: Implement SQLGet/SetConnectAttr(SQL_ATTR_CONNECTION_TIMEOUT).
odbc32: Stub SQLGetEnvAttr(SQL_ATTR_CONNECTION_POOLING).
odbc32: Handle options in SQLFreeStmt().
odbc32: Default to ODBC version 2.
odbc32: Implement SQLGetInfo(SQL_ODBC_VER).
odbc32: Factor out helpers to create driver environment and connection handles.
odbc32: Accept SQL_FETCH_NEXT in SQLDataSources/Drivers() if the key has not been opened.
odbc32: Set parent functions before creating the environment handle.
odbc32: Use SQLFreeHandle() instead of SQLFreeEnv/Connect().
odbc32: Use SQLSetConnectAttrW() instead of SQLSetConnectAttr() if possible.
Ilia Docin (1):
comctl32/rebar: Hide chevron if rebar's band is resized back to full size with gripper.
Jacek Caban (38):
jscript: Factor out find_external_prop.
jscript: Rename PROP_IDX to PROP_EXTERN.
jscript: Introduce lookup_prop callback.
jscript: Factor out lookup_dispex_prop.
jscript: Introduce next_property callback.
jscript: Factor out handle_dispatch_exception.
jscript: Use to_disp in a few more places.
mshtml: Factor out dispex_prop_put.
mshtml: Factor out dispex_prop_get.
mshtml: Factor out dispex_prop_call.
jscript: Allow objects to have their own addref and release implementation.
jscript: Introduce IWineJSDispatch insterface.
mshtml: Allow external properties to have arbitrary names.
jscript: Introduce HostObject implementation.
jscript: Support converting host objects to string.
jscript: Support host objects in disp_cmp.
jscript: Use jsdisp_t internally for host objects that support it.
mshtml: Implement jscript IWineJSDispatchHost.
mshtml: Pass an optional script global window to init_dispatch.
mshtml: Support using IWineJSDispatch for DispatchEx implementation.
mshtml: Use IWineJSDispatch for screen object script bindings.
jscript: Factor out native_function_string.
jscript: Add support for host functions.
mshtml/tests: Make todo_wine explicit in builtin_toString tests.
mshtml: Use host object script bindings for DOMImplementation class.
mshtml: Use host object script bindings for History class.
mshtml: Use host object script bindings for PerformanceNavigation class.
mshtml: Use host object script bindings for PerformanceTiming class.
mshtml: Use host object script bindings for Performance class.
mshtml: Store document node instead of GeckoBrowser in DOMImplementation.
mshtml/tests: Add script context test.
mshtml: Store script global object pointer in document object.
mshtml: Use host object script bindings for MediaQueryList class.
mshtml: Use host object script bindings for Navigator class.
mshtml: Use host object script bindings for Selection class.
mshtml: Use host object script bindings for TextRange class.
mshtml: Use host object script bindings for Range class.
mshtml: Use host object script bindings for Console class.
Marc-Aurel Zent (4):
ntdll: Prefer futex for thread-ID alerts over kqueue.
ntdll: Use USE_FUTEX to indicate futex support.
ntdll: Simplify futex interface from futex_wake() to futex_wake_one().
ntdll: Implement futex_wait() and futex_wake_one() on macOS.
Matthias Gorzellik (2):
winebus.sys: Fix rotation for angles < 90deg.
winebus.sys: Align logical max of angles to physical max defined in dinput.
Mohamad Al-Jaf (7):
include: Add windows.data.json.idl file.
windows.web: Add stub DLL.
windows.web: Implement IActivationFactory::ActivateInstance().
include: Add IJsonValueStatics interface definition.
windows.web: Add IJsonValueStatics stub interface.
windows.web/tests: Add IJsonValueStatics::CreateStringValue() tests.
windows.web: Implement IJsonValueStatics::CreateStringValue().
Nikolay Sivov (2):
winhttp/tests: Add some tests for querying string options with NULL buffer.
winhttp: Fix error handling when returning string options.
Paul Gofman (14):
ntdll: Report the space completely outside of reserved areas as allocated on i386.
psapi/tests: Add tests for QueryWorkingSetEx() with multiple addresses.
ntdll: Validate length in get_working_set_ex().
ntdll: Factor OS-specific parts out of get_working_set_ex().
ntdll: Iterate views instead of requested addresses in get_working_set_ex().
ntdll: Limit vprot scan range to the needed interval in get_working_set_ex().
ntdll: Fill range of output in fill_working_set_info().
ntdll: Buffer pagemap reads in fill_working_set_info().
winhttp/tests: Add test for trailing spaces in reply header.
winhttp: Construct raw header from the parse result in read_reply().
winhttp: Skip trailing spaces in reply header names.
win32u: Use FT_LOAD_PEDANTIC on first load try in freetype_get_glyph_outline().
ntdll: Better track thread pool wait's wait_pending state.
ntdll: Make sure wakeups from already unset events are ignored in waitqueue_thread_proc().
Piotr Caban (9):
ucrtbase: Store exception record in ExceptionInformation[6] during unwinding.
xcopy: Exit after displaying help message.
xcopy: Exit on invalid command line argument.
xcopy: Strip quotes only from source and destination arguments.
xcopy: Introduce get_arg helper that duplicates first argument to new string.
xcopy: Handle switch options concatenated with path.
xcopy: Add support for parsing concatenated switches.
kernel32/tests: Fix CompareStringW test crash when linguistic compressions are used.
ucrtbase: Fix FILE no buffering flag value.
Rémi Bernon (60):
server: Move thread message queue masks to the shared mapping.
win32u: Read the thread message queue masks from the shared memory.
server: Move thread message queue bits to the shared mapping.
win32u: Use the thread message queue shared memory in get_input_state.
win32u: Use the thread message queue shared memory in NtUserGetQueueStatus.
win32u: Use the thread message queue shared memory in wait_message_reply.
mf/session: Don't update transform output type if not needed.
mf/session: Implement D3D device manager propagation.
winegstreamer: Translate GstCaps directly to MFVIDEOFORMAT / WAVEFORMATEX in wg_transform.
winegstreamer: Translate MFVIDEOFORMAT / WAVEFORMATEX directly to GstCaps in wg_transform.
winegstreamer: Create transforms from MFVIDEOFORMAT / WAVEFORMATEX.
winegstreamer: Only use pool and set buffer meta for raw video frames.
winegstreamer: Use a new wg_video_buffer_pool class to add buffer meta.
winegstreamer: Keep the input caps on the transform.
winegstreamer: Use video info stride in buffer meta rather than videoflip.
winegstreamer: Normalize both input and output media types stride at once.
winegstreamer: Normalize video processor and color converter apertures.
winegstreamer: Respect video format padding for input buffers too.
server: Move the desktop flags to the shared memory.
win32u: Use the shared memory to read the desktop flags.
server: Create a thread input shared mapping.
server: Move active window to input shared memory.
server: Move focus window to input shared memory.
server: Move capture window to input shared memory.
server: Move caret window and rect to input shared memory.
win32u: Use input shared memory for NtUserGetGUIThreadInfo.
win32u: Move offscreen window surface creation fallback.
win32u: Split a new create_window_surface helper from apply_window_pos.
win32u: Pass the window surface rect for CreateLayeredWindow.
win32u: Pass whether window is shaped to drivers WindowPosChanging.
win32u: Introduce a new window surface helper to set window shape.
win32u: Use a 1bpp bitmap to store the window surface shape bits.
win32u: Update the window surface shape with color key and alpha.
win32u: Pass the shape bitmap info and bits to window_surface flush.
mfreadwrite/reader: Look for a matching output type if setting it failed.
winex11: Reset window shape whenever window surface is created.
mf/tests: Remove static specifier on variables referencing other variables.
win32u: Allocate heap in peek_message only when necessary.
win32u: Use the thread message queue shared memory in peek_message.
win32u: Simplify the logic for driver messages polling.
ddraw/tests: Make sure the window is restored after some minimize tests.
ddraw/tests: Flush messages and X11 events between some tests.
server: Add a foreground flag to the thread input shared memory.
server: Add cursor handle and count to desktop shared memory.
win32u: Use the thread input shared memory for NtUserGetForegroundWindow.
win32u: Use the thread input shared memory for NtUserGetCursorInfo.
win32u: Use the thread input shared memory for NtUserGetGUIThreadInfo.
server: Use a shared_object_t for the dummy object.
win32u: Check the surface layered nature when reusing window surface.
win32u: Update the window state when WS_EX_LAYERED window style changes.
win32u: Update the layered surface attributes in apply_window_pos.
winex11: Rely on win32u layered window surface attribute updates.
wineandroid: Rely on win32u layered window surface attribute updates.
winemac: Rely on win32u layered window surface attribute updates.
winegstreamer/video_decoder: Generate timestamps relative to the first input sample.
mfreadwrite/reader: Send MFT_MESSAGE_NOTIFY_START_OF_STREAM on start or seek.
mf/tests: Reduce the mute threshold for the transform tests.
win32u: Fix initial value when checking whether WS_EX_LAYERED changes.
win32u: Use the dummy surface for empty layered window surfaces.
maintainers: Remove MF GStreamer section.
Shaun Ren (1):
dinput: Call handle_foreground_lost() synchronously in cbt_hook_proc().
Stefan Dösinger (1):
ddraw: Set dwMaxVertexCount to 2048.
Zhiyi Zhang (1):
winemac.drv: Remove the clear OpenGL views to black hack.
Ziqing Hui (18):
winegstreamer/video_encoder: Implement GetInputAvailableType.
winegstreamer/video_encoder: Implement SetInputType.
winegstreamer/video_encoder: Implement GetInputCurrentType.
mf/tests: Add more tests for h264 encoder type attributes.
winegstreamer/video_encoder: Introduce create_input_type.
winegstreamer/video_encoder: Check more attributes in SetInputType.
winegstreamer/video_encoder: Implement GetInputStreamInfo.
winegstreamer/video_encoder: Implement GetOutputStreamInfo.
winegstreamer/video_encoder: Rename create_input_type to video_encoder_create_input_type.
winegstreamer/video_encoder: Clear input type when setting output type.
winegstreamer/video_encoder: Create wg_transform.
winegstreamer/video_encoder: Implement ProcessInput.
winegstreamer/video_encoder: Implement ProcessMessage.
winegstreamer/video_encoder: Use MF_ATTRIBUTES_MATCH_INTERSECTION to compare input type.
winegstreamer/video_encoder: Set output info cbSize in SetOutputType.
winegstreamer/wg_transform: Introduce transform_create_decoder_elements.
winegstreamer/wg_transform: Introduce transform_create_converter_elements.
winegstreamer/wg_transform: Support creating encoder transform.
```
The Wine development release 9.12 is now available.
What's new in this release:
- Initial support for user32 data structures in shared memory.
- Mono engine updated to version 9.2.0.
- Rewrite of the CMD.EXE engine.
- Fixed handling of async I/O status in new WoW64 mode.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.12.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.12/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.12 (total 24):
- #43337 Conditional command with parentheses not working.
- #44063 Parentheses cause cmd.exe failing to recognize '2>&1'
- #47071 Nest or mixed "FOR" and "IF" command sometimes get different result in Wine and Windows.
- #47798 Incorrect substring result using enableDelayedExpansion
- #49993 CUERipper 2.1.x does not work with Wine-Mono
- #50723 Can't recognize ... as an internal or external command, or batch script
- #52344 Can't substitute variables as a command
- #52879 ESET SysInspector 1.4.2.0 crashes on unimplemented function wevtapi.dll.EvtCreateRenderContext
- #53190 cmd.exe incorrectly parses a line with nested if commands
- #54935 Rewrite (VN): black screen videos with WMP backend and gstreamer
- #55947 Serial port event waits should use async I/O
- #56189 quartz:vmr7 - test_default_presenter_allocate() fails on Windows 7
- #56389 Assassin's Creed & Assassin's Creed: Revelations do not run under new WoW64
- #56698 SuddenStrike 3 crashes when opening the intro movie
- #56763 Firefox 126.0.1 crashes on startup
- #56769 Death to Spies: intro videos have audio only but no video
- #56771 Receiving mail in BeckyInternetMail freezes
- #56827 Window borders disappear
- #56836 Assassin's Creed III stuck on loading screen (Vulkan renderer)
- #56838 FL Studio 21 gui problem
- #56839 App packager from Windows SDK (MakeAppx.exe) 'pack' command crashes due to unimplemented functions in ntdll.dll
- #56840 Apps don't launch with wayland driver
- #56841 virtual desktop "explorer.exe /desktop=shell,1920x1080" broken
- #56871 The 32-bit wpcap program is working abnormally
### Changes since 9.11:
```
Aida Jonikienė (1):
ntdll: Fix params_mask type in NtRaiseHardError().
Alex Henrie (6):
ntdll: Fix multi-string callbacks in RtlQueryRegistryValues.
ntdll: Double-null-terminate multi-strings when using RTL_QUERY_REGISTRY_DIRECT.
ntdll: Fix handling of non-string types with RTL_QUERY_REGISTRY_DIRECT.
ntdll: Don't write partial strings with RTL_QUERY_REGISTRY_DIRECT.
ntdll: Fix type and size of expanded strings in RtlQueryRegistryValues.
ntdll: Don't special-case default values in RtlQueryRegistryValues.
Alexandre Julliard (28):
ntdll/tests: Add test for cross-process notifications on ARM64EC.
kernel32/tests: Add some tests for WriteProcessMemory/NtWriteVirtualMemory.
kernelbase: Make memory writable in WriteProcessMemory if necessary.
kernelbase: Send cross process notifications in WriteProcessMemory on ARM64.
kernelbase: Send cross process notifications in FlushInstructionCache on ARM64.
kernelbase: Don't use WRITECOPY protection on anonymous mappings.
ntdll: Add helper macros to define syscalls on ARM64EC.
ntdll: Send cross-process notification in memory functions on ARM64EC.
ntdll: Fix the fake 32-bit %cs value on ARM64EC.
ntdll: Don't set the TEB ExceptionList to -1 on 64-bit.
ntdll: Simplify preloader execution using HAVE_WINE_PRELOADER.
ntdll: Export a proper function for RtlGetNativeSystemInformation.
ntdll: Move RtlIsProcessorFeaturePresent implementation to the CPU backends.
ntdll: Move the IP string conversion functions to rtlstr.c.
makedep: Add a helper to get a root-relative directory path.
makefiles: Hardcode the fonts directory.
makefiles: Hardcode the nls directory.
makefiles: Hardcode the dll directory.
makefiles: Generate rules to build makedep.
tools: Add helper functions to get the standard directories.
ntdll: Build relative paths at run-time instead of depending on makedep.
loader: Build relative paths at run-time instead of depending on makedep.
server: Build relative paths at run-time instead of depending on makedep.
makefiles: No longer ignore makedep.c.
configure: Disable non-PE import libraries if compiler support is missing.
makedep: Remove the -R option.
makedep: Generate rules for make depend.
makedep: Generate a compile_commands.json file.
Alexandros Frantzis (5):
opengl32: Add default implementation for wglGetPixelFormatAttribivARB.
opengl32: Add default implementation for wglGetPixelFormatAttribfvARB.
winex11: Update describe_pixel_format coding style.
winex11: Pass wgl_pixel_format to describe_pixel_format.
winex11: Use default wglGetPixelFormatAttribivARB implementation.
Alfred Agrell (10):
quartz: Implement AMT/WMT differences for WMV media type.
winegstreamer: Implement AM_MEDIA_TYPE to wg_format converter for Cinepak video.
winegstreamer: Make AVI splitter use end of previous frame if the current frame doesn't have a timestamp.
quartz/tests: Add Cinepak test to avi splitter.
iccvid: Reject unsupported output types.
msvfw32/tests: Test that Cinepak rejects unsupported output types.
quartz: Allow concurrent calls to AVI decoder qc_Notify and Receive.
quartz/tests: Test that avi_decompressor_source_qc_Notify does not deadlock if called from a foreign thread during IMemInput_Receive.
winegstreamer: Recalculate alignment and bytes per second, instead of copying from input.
mf/tests: Clobber the alignment and bytes per second, to test if the DMO fixes it.
Alistair Leslie-Hughes (11):
oledb32: Support multiple values when parsing the property Mode.
oledb32: When creating a Data Source, handle non fatal errors.
msado15: Use the correct version when loading the typelib.
odbccp32: Look at the Setup key to find the driver of ODBC config functions.
odbccp32: SQLConfigDataSource/W fix crash with passed NULL attribute parameter.
msado15: Implement _Recordset get/put CacheSize.
msado15: Implement _Recordset get/put MaxRecords.
msado15: Support interface ADOCommandConstruction in _Command.
msado15: Implement _Command::get_Parameters.
msado15: Implement Parameters interface.
msado15: Implement _Command::CreateParameter.
Arkadiusz Hiler (2):
bcp47langs: Add stub dll.
apisetschema: Add api-ms-win-appmodel-runtime-internal-l1-1-1.
Aurimas Fišeras (3):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Biswapriyo Nath (6):
include: Add Windows.Graphics.Capture.IGraphicsCaptureSession2 definition.
include: Add Windows.Graphics.Capture.IGraphicsCaptureSession3 definition.
include: Add windows.graphics.idl file.
include: Add Windows.Graphics.Capture.GraphicsCaptureItem runtimeclass.
include: Add Windows.Graphics.Capture.Direct3D11CaptureFrame runtimeclass.
include: Add Windows.Graphics.Capture.Direct3D11CaptureFramePool runtimeclass.
Brendan McGrath (3):
mf/tests: Add additional tests for MESessionClosed event.
mf: Handle MediaSession Close when state is SESSION_STATE_RESTARTING_SOURCES.
mf: Handle an error during Media Session Close.
Brendan Shanks (9):
dbghelp: Add ARM/ARM64 machine types for Mach-O.
ntdll: Make __wine_syscall_dispatcher_return a separate function to fix Xcode 16 build errors.
configure: Don't build wineloader on macOS with '-pie'.
configure: Remove warning when not using preloader on macOS.
configure: Rename wine_can_build_preloader to wine_use_preloader, and also use it for Linux.
configure: Define HAVE_WINE_PRELOADER when the preloader is being built.
loader: Use zerofill sections instead of preloader on macOS when building with Xcode 15.3.
winemac.drv: Fix warning in [WineWindow grabDockIconSnapshotFromWindow:force:].
winemac.drv: Fix warning in [WineContentView viewWillDraw].
Connor McAdams (8):
d3dx9/tests: Add tests for the source info argument of D3DXCreateTextureFromFileInMemoryEx().
d3dx9/tests: Add more tests for loading files with multiple mip levels into textures.
d3dx9: Refactor texture creation and cleanup in D3DXCreateTextureFromFileInMemoryEx().
d3dx9: Use d3dx_image structure inside of D3DXCreateTextureFromFileInMemoryEx().
d3dx9: Use struct volume inside of struct d3dx_image for storing dimensions.
d3dx9: Add support for specifying a starting mip level when initializing a d3dx_image structure.
d3dx9: Cleanup texture value argument handling in D3DXCreateTextureFromFileInMemoryEx().
d3dx9: Add support for specifying which mip level to get pixel data from to d3dx_image_get_pixels().
Daniel Lehman (3):
odbc32: Handle both directions for SQLBindParameter().
odbc32: Numeric attribute pointer may be null if not a numeric type in SQLColAttribute().
odbc32: StrLen_or_Ind passed to SQLBindCol can be NULL.
Danyil Blyschak (1):
gdi32/uniscribe: Ensure the cache is initialised.
Davide Beatrici (7):
mmdevapi: Set the default period to a minimum of 10 ms.
winepulse: Don't set a floor for the period(s).
mmdevapi: Return errors early in adjust_timing().
mmdevapi: Introduce helper stream_init().
mmdevapi: Complete IAudioClient3_InitializeSharedAudioStream.
mmdevapi: Complete IAudioClient3_GetSharedModeEnginePeriod.
mmdevapi: Implement IAudioClient3_GetCurrentSharedModeEnginePeriod.
Elizabeth Figura (41):
server: Check for an existing serial wait ioctl within the ioctl handler.
server: Directly wake up wait asyncs when the serial mask changes.
ntdll/tests: Use NtReadFile to test WoW64 IOSB handling.
ntdll/tests: Test IOSB handling for a synchronous write which cannot be satisfied immediately.
ntdll/tests: Test IOSB handling with NtFlushBuffersFile.
maintainers: Remove myself as a winegstreamer maintainer.
ntdll: Remove the redundant filling of the IOSB in NtDeviceIoControlFile().
ntdll: Do not fill the IOSB or signal completion on failure in cdrom_DeviceIoControl().
ntdll: Do not fill the IOSB or signal completion on failure in serial_DeviceIoControl().
ntdll: Do not fill the IOSB or signal completion on failure in tape_DeviceIoControl().
ntdll: Do not fill the IOSB in NtFsControlFile() on failure.
ntdll: Do not queue an IOCP packet in complete_async() if an APC routine is specified.
ntdll: Move complete_async() to file.c and use it in NtWriteFileGather().
ntdll: Use file_complete_async() in tape_DeviceIoControl().
ntdll: Use file_complete_async() in cdrom_DeviceIoControl().
ntdll: Use file_complete_async() in serial_DeviceIoControl().
ntdll: Use file_complete_async() in NtFsControlFile().
quartz/tests: Handle the case where ddraw returns system memory.
ntdll: Do not set io->Status at the end of sock_ioctl().
ntdll: Factor filling the IOSB into set_async_direct_result().
ntdll: Move set_async_direct_result() to file.c.
widl: Do not allow "lu" as an integer suffix.
widl: Store the hexadecimal flag inside of the expr_t union.
widl: Use struct integer for the aNUM and aHEXNUM tokens.
widl: Respect u and l modifiers in expressions.
quartz/tests: Test IVMRWindowlessControl::GetNativeWindowSize() on the default presenter.
quartz: Implement IVMRWindowlessControl::GetNativeVideoSize().
wined3d: Precompute direction and position in wined3d_light_state_set_light().
wined3d: Pass the primary stateblock to wined3d_device_process_vertices().
wined3d: Use the primary stateblock state in wined3d_device_process_vertices() where possible.
wined3d: Pass the constant update mask to wined3d_device_context_push_constants().
wined3d: Feed WINED3D_TSS_CONSTANT through a push constant buffer.
wined3d: Feed WINED3D_RS_TEXTUREFACTOR through a push constant buffer.
ntdll: Introduce a sync_ioctl() helper.
ntdll: Handle WoW64 file handles in sync_ioctl().
ntdll: Always fill the 32-bit iosb for overlapped handles, for server I/O.
ntdll: Always fill the 32-bit iosb for overlapped handles, in file_complete_async().
ntdll: Always fill the 32-bit iosb for overlapped handles, in set_async_direct_result().
ntdll: Always fill the 32-bit iosb for overlapped handles, for regular read/write.
wined3d: Recheck whether a query is active after wined3d_context_vk_get_command_buffer().
wined3d: Implement wined3d_check_device_format_conversion().
Eric Pouech (36):
cmd: Add more tests about FOR loops.
cmd: Introduce helpers to handle FOR variables.
cmd: Introduce helpers to save and restore FOR loop contexts.
cmd: Enable '%0' through '%9' as valid FOR loop variables.
cmd: Introduce helpers to handle directory walk.
cmd: Split parsing from executing FOR loops for numbers (/L).
cmd: Fix delay expansion in FOR /L loops.
cmd: Split parsing from executing FOR loops for filesets (/F).
cmd: Fix delay expansion in FOR loop for filesets.
cmd: Split parsing from executing FOR loops for file walking.
cmd: Fix delayed expansion in FOR loop on file sets.
cmd: Remove old FOR loop related code.
cmd: Test input has been read before using it.
cmd: Introduce token-based syntax parser for building command nodes.
cmd: Use kernel32's error codes instead of literals.
cmd: Introduce return code to indicate abort of current instruction.
cmd/tests: Add tests for delayed substitution in IF command.
cmd: Expand delayed variables in IF operands.
cmd: Factorize code for reading a new line for parser.
cmd: Remove unrelated parameter to WCMD_show_prompt.
cmd: Move prompt handling into line reading.
cmd: Fix a couple of issues wrt. variable expansion.
cmd: Move depth count inside builder.
cmd: Add more tests about CALL and variable expansion.
cmd: Fix a couple of expansions issues.
cmd: Let redirections be handled by node instead of command.
cmd: Move code around to avoid forward declaration.
cmd: Let token errors be tranlatable.
cmd: Migrate IF/FOR instructions inside CMD_NODE.
cmd: Support help for IF and FOR commands.
cmd: Return sub-block return code for IF and FOR.
cmd: Use precedence in command chaining.
cmd: Add success/failure return code tests for CALL command.
cmd: Set success/failure return code for ECHO command.
cmd: Set success/failure return code for CALL command.
cmd: Implement semantic for chaining in ||, | and && operators.
Esme Povirk (2):
user32/tests: Fix spurious "Failed sequence" reports on Windows.
mscoree: Update Wine Mono to 9.2.0.
Fabian Maurer (1):
wow64: In wow64_NtSetInformationToken forward TokenIntegrityLevel.
Giovanni Mascellani (6):
wined3d: Compile the clear compute shaders at runtime.
d3d11/tests: Check the result of compiling HLSL shaders.
d3d11/tests: Check for NV12 texture support before testing them.
d3d11/tests: Do not check pitches.
d3d11/tests: Test NV12 textures without render target.
d3d11/tests: Test UpdateSubresource() for NV12 textures.
Hans Leidekker (2):
odbc32: Rebind parameters when the result length array is resized.
wpcap: Handle different layout of the native packet header structure on 32-bit.
Ilia Docin (2):
sane.ds: Add SANE option settable flag support.
sane.ds: Improve color mode and paper source detection.
Jacek Caban (12):
mshtml: Introduce IWineJSDispatchHost interface.
mshtml: Rename builtin function helpers.
mshtml: Add support for using call on builtin function objects.
mshtml: Add support for using apply on builtin function objects.
jscript: Fix PROP_DELETED handling in delete_prop.
jscript: Use designated initializers for builtin_info_t.
jscript: Use to_disp in a few more places.
jscript: Introduce to_jsdispex.
jscript: Consistently use jsdisp_addref and jsdisp_release.
jscript: Use default destructor for array objects.
jscript: Use default destructor for Object instances.
jscript: Always free jsdisp_t in jsdisp_free.
Marc-Aurel Zent (7):
winemac.drv: Handle length of dead keycodes in ToUnicodeEx correctly.
winemac.drv: Do not append " dead" to dead keycodes in GetKeyNameText.
winemac.drv: Uppercase single keys in GetKeyNameText.
winemac.drv: Use UCCompareText in char_matches_string.
winemac.drv: Resolve symbol vkeys first without modifiers.
winemac.drv: Add additional German symbol vkeys.
winemac.drv: Give dead keys a friendly name in GetKeyNameText.
Paul Gofman (8):
mmdevapi: Store device_name as a pointer in struct audio_client.
mmdevapi: Adjust timing after main loop start in client_Initialize().
mmdevapi: Stub AUDCLNT_STREAMFLAGS_LOOPBACK support.
winepulse.drv: Factor out wait_pa_operation_complete().
winepulse.drv: Implement pulse_get_loopback_capture_device().
mmdevapi/tests: Add test for capturing render loopback.
ddraw/tests: Add tests for preserving d3d state during primary surface creation.
ddraw: Preserve d3d device state in ddraw_surface_create().
Piotr Caban (3):
kernelbase: Add GetFileMUIInfo implementation.
kernel32/tests: Add GetFileMUIInfo tests.
kernel32/tests: Test GetFileMUIInfo on language resource file.
Rémi Bernon (59):
winewayland: Avoid crashing when the dummy window surface is used.
win32u: Avoid setting the SWP_NOSIZE flag on the initial WM_DISPLAYCHANGE.
win32u: Fix a deadlock when locking the same surface on different DCs.
dwrite/tests: Ignore macOS specific "flip" sbix format.
kernel32/tests: Break debugger loop on unexpected result.
win32u: Use the vulkan functions directly from d3dkmt.
winex11: Don't use the vulkan driver interface for xrandr.
server: Create a global session shared mapping.
include: Add ReadNoFence64 inline helpers.
server: Allocate shared session object for desktops.
server: Return the desktop object locator in (get|set)_thread_desktop.
win32u: Open the desktop shared object in NtUserSetThreadDesktop.
server: Move the cursor position to the desktop session object.
server: Move the last cursor time to the desktop session object.
win32u: Use the desktop shared data for GetCursorPos.
win32u: Remove now unused vulkan_funcs in d3dkmt.c.
winex11: Create a global vulkan instance for xrandr.
include: Add a couple of CRT function declarations.
include: Define frexpf as inline function in more cases.
server: Mark block as writable in mark_block_uninitialized.
server: Store the cursor clip rect in the shared data.
server: Get rid of the global cursor structure.
win32u: Use the shared memory for get_clip_cursor.
server: Use a separate variable to determine the message on Alt release.
server: Use separate functions to update the desktop and input keystates.
server: Move the desktop keystate to shared memory.
win32u: Use the shared data if possible for NtUserGetAsyncKeyState.
winex11: Move window surface creation functions to bitblt.c.
winemac: Move window surface creation functions to surface.c.
winewayland: Move window surface creation functions to window_surface.c.
winemac: Remove unused macdrv_get_surface_display_image copy_data parameter.
winemac: Create a provider for the surface and a HBITMAP wrapping it.
winemac: Create window surface CGImageRef on surface flush.
winemac: Push window surface image updates to the main thread.
winemac: Remove now unnecessary cocoa window surface pointer.
winemac: Remove unnecessary surface_clip_to_visible_rect.
server: Create a thread message queue shared mapping.
server: Keep a reference on the desktop the hook are registered for.
server: Move hooks struct initialization within add_hook.
server: Update the active hooks bitmaps when hooks are added / removed.
win32u: Read the active hooks count from the shared memory.
win32u: Remove now unnecessary thread info active_hooks cache.
server: Remove now unnecessary active_hooks from replies.
winex11: Only clip huge surfaces to the virtual screen rect.
wineandroid: Only clip huge surfaces to the virtual screen rect.
winemac: Clip huge surfaces to the virtual screen rect.
winewayland: Clip huge window surfaces to the virtual screen rect.
win32u: Move the surface rect computation out of the drivers.
win32u: Use the previous surface as default surface when compatible.
win32u: Use the default window surface when window is not visible.
win32u: Move layered surface attributes to the window_surface struct.
win32u: Introduce a new helper to update layered window surface attributes.
win32u: Pass BITMAPINFO and color bits to window surface flush.
win32u: Introduce a new helper to get surface color info and bits.
win32u: Get rid of the unnecessary offscreen window surface struct.
winemac: Remove now unnecessary driver surface BITMAPINFO.
wineandroid: Remove now unnecessary window surface BITMAPINFO.
winewayland: Remove now unnecessary window surface BITMAPINFO.
winex11: Remove now unnecessary window surface BITMAPINFO.
Santino Mazza (3):
mshtml/tests: Test for IMarkupServices.
mshtml: Implement MarkupServices_CreateMarkupContainer.
mshtml: Implement MarkupServices_ParseString.
Torge Matthies (4):
winegstreamer: Fix race between wg_parser_stream_en/disable and GST_EVENT_FLUSH_START/STOP.
winegstreamer: Don't only accept segment events when streams are enabled.
winegstreamer: Ignore an assert in wg_parser.
winegstreamer: Handle Gstreamer pipeline flushes gracefully in the media source.
Vijay Kiran Kamuju (4):
ntdll: Fix RtlEnumerateGenericTableWithoutSplaying function parameters.
ntdll: Add stub RtlEnumerateGenericTableWithoutSplayingAvl function.
ntdll: Add stub RtlNumberGenericTableElementsAvl function.
wevtapi: Add stub EvtCreateRenderContext().
Zhiyi Zhang (9):
profapi: Add stub dll.
kernel32: Add AppPolicyGetWindowingModel().
rometadata: Add initial dll.
include: Add some windows.foundation definitions.
include: Add some windows.system definitions.
include: Add windows.devices.input.idl.
include: Add windows.ui.input.idl.
include: Add some windows.ui.core definitions.
include: Add some windows.applicationmodel definitions.
Ziqing Hui (8):
mf/tests: Add tests for H264 encoder types.
winegstreamer: Implement stubs for h264 encoder.
winegstreamer/aac_decoder: Support clearing media types.
winegstreamer/color_converter: Support clearing media types.
mf/tests: Add more tests for h264 encoder type attributes.
winegstreamer/video_encoder: Implement GetOutputAvailableType.
winegstreamer/video_encoder: Implement SetOutputType.
winegstreamer/video_encoder: Implement GetOutputCurrentType.
```
The Wine development release 9.11 is now available.
What's new in this release:
- C++ exception handling on ARM platforms.
- More DPI Awareness support improvements.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.11.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.11/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.11 (total 27):
- #42270 Settlers 4 Gold - Hardware Rendering mode not working
- #49703 Ghost Recon fails to start
- #50983 Multiple games stuck playing cutscenes (The Long Dark, The Room 4: Old Sins, Saint Kotar)
- #51174 api-ms-win-core-version-l1-1-0: Missing GetFileVersionInfoW and GetFileVersionInfoSizeW
- #52585 Multiple applications need NtQueryDirectoryObject to return multiple entries (Cygwin shells, WinObj 3.01)
- #53960 ucrt has different struct layout than msvcrt
- #54615 dwrite:layout - test_system_fallback() gets unexpected "Meiryo UI" font name in Japanese and Chinese on Windows
- #55362 NeuralNote: Crashes and Rendering issues (alson in VST3 form)
- #55472 DTS Encoder Suite gets stuck with encode pending from Wine 8.14
- #56095 Clanbomber 1.05 starts after a long (30 seconds) delay
- #56397 Numlock status not recognized when using winewayland.drv
- #56451 catch block fetches bogus frame when using alignas with 32 or higher
- #56460 Multiple games have stutter issues (Overwatch 2, Aimbeast)
- #56591 Steam doesn't render individual game pages correctly
- #56606 PhysX installer fails to start
- #56640 Genshin Impact: The game-launcher cannot be started anymore
- #56744 Serial number in smbios system table is not filled on Linux in practice
- #56747 Steam won’t load in the new wow64 mode when using DXVK
- #56755 White textures in EverQuest (Unsupported Conversion in windowscodec/convert.c)
- #56764 Empire Earth Gold doesn't start in virtual desktop mode
- #56766 CDmage 1.01.5 does not redraw window contents fully
- #56781 srcrrun: Dictionary setting item to object fails
- #56788 ComicRackCE crashes when viewing "info" for a comic file
- #56800 Nomad Factory plugins GUI is broken
- #56813 Hard West 2 crashes before entering the main menu (OpenGL renderer)
- #56824 Postal 2 (20th Anniversary update) crashes when loading the map
- #56828 Moku.exe crashes on startup
### Changes since 9.10:
```
Adam Rehn (1):
wineserver: Report non-zero exit code for abnormal process termination.
Alex Henrie (12):
ntdll/tests: Delete the WineTest registry key when the tests finish.
ntdll/tests: Rewrite the RtlQueryRegistryValues tests and add more of them.
ntdll: Succeed in RtlQueryRegistryValues on direct query of nonexistent value.
ntdll: Don't call QueryRoutine if RTL_QUERY_REGISTRY_DIRECT is set.
ntdll: Don't call a null QueryRoutine in RtlQueryRegistryValues.
ntdll/tests: Remove unused WINE_CRASH flag.
ntdll: Copy the correct number of bytes with RTL_QUERY_REGISTRY_DIRECT.
ntdll: Calculate the default size even without RTL_QUERY_REGISTRY_DIRECT.
ntdll: Don't accept a query routine when using RTL_QUERY_REGISTRY_DIRECT.
ntdll: Set the string size when using RTL_QUERY_REGISTRY_DIRECT.
ntdll: Only allow string default values with RTL_QUERY_REGISTRY_DIRECT.
ntdll: Replace the whole string when using RTL_QUERY_REGISTRY_DIRECT.
Alexandre Julliard (40):
faudio: Import upstream release 24.06.
msvcrt: Share a helper macro to print an exception type.
msvcrt: Share the dump_function_descr() helper between platforms.
msvcrt: Fix the ip_to_state() helper for out of bounds values.
msvcrt: Don't use rva_to_ptr() for non-RVA values.
msvcrt: Use the copy_exception() helper in __CxxExceptionFilter.
msvcrt: Share the __CxxExceptionFilter implementation between platforms.
msvcrt: Share the common part of _fpieee_flt between platforms.
msvcrt: Consistently use the rtti_rva() helper.
winedump: Fix dumping of catchblocks for 32-bit modules.
msvcrt: The catchblock frame member isn't present on 32-bit.
msvcrt: Use pointer-sized types instead of hardcoding 64-bit in __CxxFrameHandler.
msvcrt: Share __CxxFrameHandler implementation with ARM platforms.
msvcrt: Add platform-specific helpers to call C++ exception handlers.
msvcrt: Add platform-specific helpers to retrieve the exception PC.
msvcrt: Use platform-specific handlers also for __CxxFrameHandler4.
ntdll: Fix stack alignment in __C_ExecuteExceptionFilter on ARM.
ntdll: Fix a couple of compiler warnings on ARM64EC.
ntdll: Fix inverted floating point masks on ARM64EC.
ntdll: Support x87 control word in __os_arm64x_get_x64_information().
kernel32/tests: Add test for FPU control words on ARM64EC.
msvcrt: Reimplement __crtCapturePreviousContext() based on RtlWalkFrameChain().
msvcrt: Use the __os_arm64x functions to get/set mxcsr on ARM64EC.
msvcrt: Implement asm sqrt functions on ARM platforms.
msvcrt: Disable SSE2 memmove implementation on ARM64EC.
kernelbase: Implement the GetProcAddress wrapper on ARM64EC.
kernel32: Implement the GetProcAddress wrapper on ARM64EC.
winex11: Fix build error when XShm is missing.
ntdll: Look for hybrid builtins in the PE directory for the host architecture.
ntdll: Remove some unnecessary asm macros on ARM plaforms.
winecrt0: Remove some unnecessary asm macros on ARM plaforms.
makedep: Build and install ARM64EC-only modules.
tests: Use ARM64 as architecture in manifests on ARM64EC.
ntdll: Also load arm64 manifests for amd64 architecture on ARM64EC.
ntdll: Reimplement __os_arm64x_check_call in assembly.
ntdll: Move some security Rtl functions to sec.c.
ntdll: Move some synchronization Rtl functions to sync.c.
ntdll: Move the error mode Rtl functions to thread.c.
ntdll: Move the PEB lock Rtl functions to env.c.
ntdll: Move the memory copy Rtl functions to string.c.
Alexandros Frantzis (4):
server: Pass desktop to get_first_global_hook.
server: Check message target process for raw input device flags.
server: Implement key auto-repeat request.
win32u: Implement keyboard auto-repeat using new server request.
Alistair Leslie-Hughes (2):
odbccp32: Check if a full path was supplied for Driver/Setup/Translator entries.
odbccp32: Stop handle leak on error paths.
Benjamin Mayes (1):
windowscodecs: Add conversions from PixelFormat32bppBGRA->PixelFormat16bppBGRA5551.
Brendan McGrath (4):
kernel32/tests: Test error code when FindFirstFileA uses file as directory.
ntdll/tests: Test error code when NtOpenFile uses file as directory.
server: Don't always return STATUS_OBJECT_NAME_INVALID on ENOTDIR.
ntdll: Treat XDG_SESSION_TYPE as special env variable.
Brendan Shanks (1):
ntdll: On macOS, check for xattr existence before calling getxattr.
Connor McAdams (7):
d3dx9: Refactor WIC GUID to D3DXIMAGE_FILEFORMAT conversion code.
d3dx9: Refactor WIC image info retrieval code in D3DXGetImageInfoFromFileInMemory().
d3dx9: Introduce d3dx_image structure for use in D3DXGetImageInfoFromFileInMemory().
d3dx9: Use d3dx_image structure in D3DXLoadSurfaceFromFileInMemory().
d3dx9: Introduce d3dx_load_pixels_from_pixels() helper function.
d3dx9: Use d3dx_pixels structure in decompression helper function.
d3dx9: Use d3dx_load_pixels_from_pixels() in D3DXLoadVolumeFromMemory().
Daniel Lehman (3):
secur32: Allow overriding GnuTLS debug level.
bcrypt: Allow overriding GnuTLS debug level.
crypt32: Allow overriding GnuTLS debug level.
Danyil Blyschak (4):
wineps.drv: Call ResetDCW() to update Devmode in the Unix interface.
opcservices: Provide memory allocator functions to zlib.
opcservices: Suppress unnecessary zlib deflate warnings.
opcservices: Check for memory allocation failure before deflating.
Dmitry Timoshkov (2):
server: Remove limitation for waiting on idle_event of the current process.
win32u: Limit GDI object generation to 128.
Elizabeth Figura (25):
widl: Assign to the right location variable.
widl: Allow using UDTs with the keyword even when the identifier is also a typedef.
widl: Invert "declonly".
widl: Factor out a define_type() helper.
widl: Update the type location in define_type().
widl: Do not write type definitions for types defined in an imported header.
include: Add more types to windows.networking.connectivity.idl.
wined3d: Update multisample state when the sample count changes.
wined3d: Invalidate the vertex shader when WINED3D_FFP_PSIZE is toggled.
wined3d: Just check the vertex declaration for point size usage.
wined3d: Just check the vertex declaration for colour usage.
wined3d: Just check the vertex declaration for normal usage.
wined3d: Just check the vertex declaration for texcoord usage.
wined3d: Default diffuse to 1.0 in the vertex shader.
server: Ignore attempts to set a mandatory label on a token.
server: Inherit the source token's label in token_duplicate().
advapi32/tests: Test token label inheritance.
wined3d: Handle a null vertex declaration in glsl_vertex_pipe_vdecl().
wined3d: Always output normalized fog coordinates from the vertex shader.
wined3d: Do not create a framebuffer with attachments whose clear is delayed.
wined3d: Use separate signature elements for oFog and oPts.
server: Don't set error in find_object_index if the object is not found.
ntdll: Implement reading multiple entries in NtQueryDirectoryObject.
server: Generalize get_directory_entries to single_entry case.
ntdll: Move IOCTL_SERIAL_WAIT_ON_MASK to the server.
Eric Pouech (13):
cmd: Introduce a helper to set std handles.
cmd: Introduce structure CMD_REDIRECTION.
cmd: Create helper to execute a command.
cmd: Let errorlevel be a signed integer.
cmd: Separate IF command parsing from execution.
kernelbase/tests: Fix typo in tests.
msvcrt/tests: Don't print a NULL string.
quartz/tests: Fix typo in tests.
quartz/tests: Add new tests about fullscreen handling.
quartz: Always expose that non fullscreen mode is supported and active.
quartz: Fix result in put_FullScreenMode().
conhost: Handle WM_CHAR for window console.
conhost: Support IME input in window mode.
Esme Povirk (4):
win32u: Send EVENT_OBJECT_FOCUS in more cases.
win32u: Implement EVENT_OBJECT_LOCATIONCHANGE.
gdiplus: Fix DIB stride calculation in GdipDrawImagePointsRect.
win32u: Implement EVENT_SYSTEM_MINIMIZESTART/END.
Fabian Maurer (7):
msvcrt: Fix _libm_sse2_sqrt_precise not using SSE2 sqrt.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetDisplayName / SetDisplayName.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetIconPath / SetIconPath.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetGroupingParam / SetGroupingParam.
mmdevapi: Implement IAudioSessionControl2 GetDisplayName / SetDisplayName.
mmdevapi: Implement IAudioSessionControl2 GetIconPath / SetIconPath.
mmdevapi: Implement IAudioSessionControl2 GetGroupingParam SetGroupingParam.
Giovanni Mascellani (1):
d3d11/tests: Add a test for NV12 textures.
Hans Leidekker (8):
wmic: Sort the alias list.
wmic: Add csproduct and systemenclosure aliases.
ntdll: Provide fallback values for DMI fields only readable by root.
odbc32: Use a fixed size buffer for parameter bindings.
odbc32: Support SQLSetStmtAttr(SQL_ATTR_ROW_ARRAY_SIZE).
odbc32: Turn SUCCESS() into a static inline function.
odbc32/tests: Add tests for fetching multiple rows at once and parameter binding.
winscard: Pass ATR buffer to unixlib in SCardStatusA().
Jacek Caban (4):
mshtml: Use DispatchEx vtbl for document node GetDispID implementation.
mshtml: Use DispatchEx for document node InvokeEx implementation.
mshtml: Use DISPEX_IDISPATCH_IMPL macro for document object implementation.
mshtml: Use DispatchEx for exposing document node IDispatchEx interface.
Jacob Pfeiffer (1):
wininet: Unify timeout values closer to hInternet.
Jinoh Kang (2):
user32/tests: Print regions in test_swp_paint_regions failure cases.
wow64: Implement reading multiple entries in wow64_NtQueryDirectoryObject.
Lucas Chollet (1):
dnsapi: Add a stub for DnsServiceBrowse.
Mohamad Al-Jaf (3):
coremessaging: Add stub DLL.
include: Add dispatcherqueue.idl file.
coremessaging: Add CreateDispatcherQueueController() stub.
Nikolay Sivov (3):
scrrun/dictionary: Implement putref_Item() method.
dwrite/tests: Fix a test failure on some Win10 machines with CJK locales.
gdi32/text: Handle null partial extents pointer in GetTextExtentExPointW().
Paul Gofman (12):
ntdll: Fix test_NtQueryDirectoryFile() on Win11.
ntdll: Do not ignore trailing dots in match_filename().
ntdll/tests: Test NtQueryDirectoryFile() masks with more files.
ntdll: Ignore leading dots in hash_short_file_name().
ntdll: Mind all the wildcards in has_wildcard().
ntdll: Match wildcard recursively in match_filename().
ntdll: Add a special handling for .. in match_filename().
ntdll: Implement matching DOS_STAR in NtQueryDirectoryFile().
ntdll: Implement matching DOS_DOT in NtQueryDirectoryFile().
ntdll: Properly match DOS_QM in match_filename().
ntdll: Skip name search for wildcards in asterisk handling in match_filename().
kernelbase: Preprocess wildcarded mask and pass it with NtQueryDirectoryFile().
Piotr Caban (8):
wineps.drv: Don't use dynamic buffer when writing new page info.
wineps.drv: Write page orientation hint for every page.
wineps.drv: Take all pages into account when computing bounding box.
wineps.drv: Write PageBoundingBox for every page.
wineps.drv: Add partial support for changing page size.
msvcp140: Use _get_stream_buffer_pointers() to access FILE internal buffers.
ucrtbase: Fix _iobuf struct layout.
msvcrt: Don't use custom standard streams definition.
Rémi Bernon (65):
widl: Use mangled namespace names in typedef pointer types.
win32u: Move the window surface color bits to the common struct.
win32u: Pass BITMAPINFO and a HBITMAP to window_surface_init.
winex11: Simplify the XSHM extension function calls.
winex11: Create XImage before initializing the window surface.
winex11: Create a HBITMAP for the allocated surface pixels.
win32u: Create a HBITMAP backing the window surface pixels.
win32u: Restore surface rect, which may offsetted from the window rect.
win32u: Use a dedicated helper to move bits from a previous surface.
win32u: Don't map points to the parent window in move_window_bits_parent.
win32u: Get rid of move_window_bits_parent, using move_window_bits.
winemac: Merge RESET_DEVICE_METRICS and DISPLAYCHANGE internal messages.
win32u: Fix a restorer_str typo.
win32u: Send display change messages when host display mode changes.
win32u: Move desktop resize on WM_DISPLAYCHANGE out of the drivers.
gdi32: Use an internal NtUser call for D3DKMTOpenAdapterFromGdiDisplayName.
wineandroid: Always clear UpdateLayeredWindow target rectangle.
wineandroid: Use the surface bitmap directly in UpdateLayeredWindow.
winemac: Always clear UpdateLayeredWindow target rectangle.
winemac: Use the surface bitmap directly in UpdateLayeredWindow.
winemac: Blend alpha with NtGdiAlphaBlend instead of window opacity.
winex11: Always clear UpdateLayeredWindow target rectangle.
winex11: Use the surface bitmap directly in UpdateLayeredWindow.
win32u: Introduce a new CreateLayeredWindow driver entry.
win32u: Move UpdateLayeredWindow implementation out of the drivers.
server: Avoid calling set_event from within msg_queue_add_queue.
win32u: Introduce new helpers to convert server rectangle_t.
win32u: Introduce NtUserAdjustWindowRect call for AdjustWindowRect*.
win32u: Pass desired DPI to NtUserGet(Client|Window)Rect.
win32u: Introduce a new get_monitor_rect helper.
win32u: Pass the rect DPI to NtUserIsWindowRectFullScreen.
winex11: Wrap more window surface formats with NtGdiDdDDICreateDCFromMemory.
winex11: Fix some incorrect usage of NtGdiDdDDICreateDCFromMemory.
gdi.exe16: Fix some incorrect usage of NtGdiDdDDICreateDCFromMemory.
winegstreamer: Allow to clear video decoder input/output types.
winegstreamer: Enforce default stride value in the video decoder.
winegstreamer: Enforce default stride presence in the video processor.
winegstreamer: Rename allow_size_change to allow_format_change.
winegstreamer: Only report format changes when frontend supports it.
winegstreamer: Use a caps to store the desired output format.
winegstreamer: Request the new transform output format explicitly.
winevulkan: Remove some unnecessary casts.
winevulkan: Fix size mismatch when writing to return pointer.
include: Add and fix some WGL prototypes.
winewayland: Force the DPI context when restoring cursor clipping.
winex11: Force the DPI context when restoring cursor clipping.
win32u: Use get_monitor_rect in more places.
win32u: Parameterize get_clip_cursor dpi.
win32u: Parameterize get_monitor_info dpi.
win32u: Use window monitor DPI in get_windows_offset when dpi is 0.
winex11: Use NtUserMapWindowPoints instead of NtUserScreenToClient.
win32u: Call NtUserMapWindowPoints with per-monitor DPI from the drivers.
winemac: Force thread DPI awareness when calling NtUserSetWindowPos.
winewayland: Force thread DPI awareness when calling NtUserSetWindowPos.
winex11: Force thread DPI awareness when calling NtUserSetWindowPos.
winex11: Force thread DPI awareness when calling NtUserRedrawWindow.
winex11: Force thread DPI awareness when calling NtUserChildWindowFromPointEx.
win32u: Remove unused insert_after WindowPosChanging parameter.
wineandroid: Remove unnecessary visible_rect initialization.
winemac: Remove unnecessary visible_rect initialization.
winex11: Remove unnecessary visible_rect initialization.
win32u: Split WindowPosChanging driver call to a separate CreateWindowSurface.
winex11: Move layered window mapping to X11DRV_UpdateLayeredWindow.
winemac: Move layered window mapping to macdrv_UpdateLayeredWindow.
win32u: Move WM_WINE_DESKTOP_RESIZED into driver internal messages range.
Shengdun Wang (3):
ucrtbase/tests: Add FILE structure tests.
ucrtbase: Always use CRITICAL_SECTION for FILE locking.
ucrtbase: Fix FILE _flag values.
Tim Clem (1):
gitlab: Update configuration for the new Mac runner.
Zhiyi Zhang (2):
ws2_32/tests: Test fromlen for recvfrom().
ntdll: Don't zero out socket address in sockaddr_from_unix().
Ziqing Hui (7):
qasf/tests: Add more tests for dmo_wrapper_sink_Receive.
qasf/dmowrapper: Introduce get_output_samples.
qasf/dmowrapper: Introduce release_output_samples.
qasf/dmowrapper: Return failure in dmo_wrapper_sink_Receive if samples allocating fails.
qasf/dmowrapper: Allocate output samples before calling ProcessInput().
qasf/dmowrapper: Return VFW_E_WRONG_STATE in dmo_wrapper_sink_Receive.
qasf/dmowrapper: Sync Stop() and Receive() for dmo wrapper filter.
```
The Wine development release 9.10 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.12.
- DPI Awareness support improvements.
- C++ RTTI support on ARM platforms.
- More obsolete features removed in WineD3D.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.10.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.10/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.10 (total 18):
- #23434 Race management software hangs & jumps up to 100% processor load
- #34708 Silent Hill 4: The Room crashes after first videoscene when trying to go to the door.
- #45493 SRPG Studio games need proper DISPATCH_PROPERTYPUTREF implementation
- #46039 Paint.NET 4.1 (.NET 4.7 app) installer tries to run MS .NET Framework 4.7 installer (Wine-Mono only advertises as .NET 4.5)
- #46787 Notepad++ rather slow (GetLocaleInfoEx)
- #50196 can not copy words between wine apps and ubuntu apps
- #50789 Multiple .NET applications crash with unimplemented 'System.Security.Principal.WindowsIdentity.get_Owner' using Wine-Mono (Affinity Photo 1.9.1, Pivot Animator 4.2)
- #52691 FL Studio 20.9.1 Freezes on start-up
- #54992 EA app launcher does not render correctly
- #56548 reMarkable crashes on start
- #56582 vb3 combobox regression: single click scrolls twice
- #56602 DualShock 4 controller behaves incorrectly on Darwin with hidraw enabled
- #56666 BExAnalyzer from SAP 7.30 does not work correctly
- #56674 Multiple games fail to launch (Far Cry 3, Horizon Zero Dawn CE, Metro Exodus)
- #56718 Compilation fails on Ubuntu 20.04 with bison 3.5.1
- #56724 New chromium versions don't start under wine anymore
- #56730 Access violation in riched20.dll when running EditPad
- #56736 App packager from Windows SDK (MakeAppx.exe) 'pack' command crashes on unimplemented function ntdll.dll.RtlLookupElementGenericTableAvl
### Changes since 9.9:
```
Aida Jonikienė (2):
dxdiagn: Add bIsD3DDebugRuntime property.
dxdiagn: Add AGP properties.
Alexandre Julliard (52):
msvcrt: Add helpers to abstract RVA accesses to RTTI data.
msvcrt: Unify __RTtypeid implementation.
msvcrt: Unify __RTDynamicCast implementation.
msvcrt: Unify _CxxThrowException implementation.
msvcrt: Unify _is_exception_typeof implementation.
msvcrt: Unify __ExceptionPtrCopyException implementation.
msvcrt: Unify exception_ptr_from_record implementation.
msvcrt: Unify call_copy_ctor/call_dtor implementations.
msvcp: Unify __ExceptionPtrCopyException implementation.
msvcp: Unify __ExceptionPtrCurrentException implementation.
msvcp: Unify call_copy_ctor/call_dtor implementations.
msvcrt: Use RVAs in rtti and exception data on all platforms except i386.
msvcp: Use RVAs in rtti and exception data on all platforms except i386.
msvcrt/tests: Use function pointers to bypass builtin malloc/realloc.
msvcp/tests: Fix mangled names on ARM.
winecrt0: Initialize the Unix call dispatcher on first use.
ntdll: Make __wine_unix_call() an inline function.
wbemprox: Avoid unused function warning.
kernelbase: Fix the name of the default system locale.
wbemprox: Don't reference yysymbol_name on older bisons.
conhost: Fix a printf format warning.
winegcc: Don't print a potentially reallocated pointer.
adsldpc: Add correct C++ mangled names for all platforms.
dxtrans: Add correct C++ mangled names for all platforms.
msmpeg2vdec: Add correct C++ mangled names for all platforms.
vssapi: Add correct C++ mangled names for all platforms.
msvcrt: Fix bad_cast_copy_ctor spec entry on ARM.
msvcrt: Export all _ConcRT functions also on ARM.
msvcp120_app: Fix a typo in a C++ mangled name.
msvcp: Replace some stubs by exported functions that already exist for other platforms.
msvcp: Export the thiscall version of ios_base_Tidy.
msvcp140: Sort entry points by function instead of platform.
msvcp: Only export thiscall functions on i386.
msvcp: Only export stubs of thiscall functions on i386.
msvcrt: Only export thiscall functions on i386.
msvcrt: Only export stubs of thiscall functions on i386.
msvcrt: Add missing C++ mangled names for ARM.
msvcirt: Add missing C++ mangled names for ARM.
msvcp60: Add missing C++ mangled names for ARM.
msvcp70: Add missing C++ mangled names for ARM.
msvcp71: Add missing C++ mangled names for ARM.
msvcp80: Add missing C++ mangled names for ARM.
msvcp90: Add missing C++ mangled names for ARM.
msvcp100: Add missing C++ mangled names for ARM.
winedump: Print exported function names in the exception data.
winedump: Print the export or import name of exception handlers.
winedump: Dump exception data for known exception handlers.
vkd3d: Import upstream release 1.12.
msvcrt: Move common exception handling types to the header.
msvcrt: Share the find_caught_type() helper between platforms.
msvcrt: Share the copy_exception() helper between platforms.
msvcrt: Share a helper to find a catch block handler.
Alexandros Frantzis (15):
opengl32: Remove the wglDescribePixelFormat driver entry point.
win32u: Emit number characters for numpad virtual keys.
win32u: Allow drivers to send only the scan code for keyboard events.
win32u: Store the full KBD vkey information in kbd_tables_init_vsc2vk.
server: Send numpad virtual keys if NumLock is active.
user32/tests: Add tests for SendInput with numpad scancodes.
winewayland.drv: Populate vkey to wchar entry for VK_DECIMAL.
server: Fix handling of KEYEVENTF_UNICODE inputs with a non-zero vkey.
user32/tests: Add more test for unicode input with vkey.
user32/tests: Add tests for raw keyboard messages.
server: Use right-left modifier vkeys for hooks.
server: Apply modifier vkey transformations regardless of unicode flag.
server: Don't send raw input events for unicode inputs.
user32/tests: Check async key state in raw nolegacy tests.
server: Set VK_PACKET async state in raw input legacy mode.
Alistair Leslie-Hughes (10):
include: Complete __wine_uuidof for C++.
include: Add C++ support for IUnknown.
odbc32: Correct SQLSetConnectOptionW length parameter type.
include: Added sqlucode.h to sql.h.
include: Correct ListView_GetItemIndexRect macro.
include: Add IFACEMETHOD macros.
include: Add LOGFONTA/W typedef in shtypes.idl.
include: Add IPreviewHandler* interfaces.
include: Correct IRowsetNotify HROW parameter type.
include: Add missing TreeView_* defines.
Anton Baskanov (4):
quartz/tests: Use unaligned width in AVIDec tests to expose incorrect stride calculation.
quartz: Get output format from source, not sink in AVIDec.
quartz: Use the correct stride when calculating image size in AVIDec.
quartz: Hold the streaming lock while calling ICDecompressEnd.
Brendan Shanks (1):
ntdll: Don't warn on macOS and FreeBSD when xattr doesn't exist.
Connor McAdams (1):
uiautomationcore: NULL initialize SAFEARRAY variable passed to IRawElementProviderFragment::GetRuntimeId().
Daniel Lehman (1):
odbc32: Allow null handle for SQLSetEnvAttr.
Danyil Blyschak (3):
win32u: Remove external fonts from the registry before writing to it.
shcore: Check optional pointer in filestream_CopyTo() before writing to it.
wineps.drv: Only merge dmDefaultSource member of devmodes when a slot is found.
Davide Beatrici (6):
winealsa: Return minimum period in get_device_period if requested.
mmdevapi: Adjust timing in AudioClient_Initialize.
winealsa: Remove superfluous timing adjustment.
winecoreaudio: Remove superfluous timing adjustment.
wineoss: Remove superfluous timing adjustment.
winepulse: Remove superfluous timing adjustment.
Dmitry Timoshkov (2):
comctl32/tests: Create a fully updated ListView window.
user32/tests: Add a test to show that SendMessage(LB_SETCOUNT) adds a scrollbar.
Elizabeth Figura (21):
wined3d: Remove the no longer used STATE_SAMPLER.
wined3d: Remove the no longer used STATE_POINTSPRITECOORDORIGIN.
wined3d: Remove the FFP blitter.
wined3d: Remove some obsolete state invalidations.
wined3d: Remove the no longer needed fragment_caps.proj_control flag.
d3d9/tests: Remove leftover debugging code.
wined3d: Remove the no longer needed fragment_caps.srgb_texture flag.
wined3d: Remove the no longer needed fragment_caps.color_key flag.
wined3d: Remove the no longer needed wined3d_vertex_caps.xyzrhw flag.
wined3d: Remove the no longer needed wined3d_vertex_caps.ffp_generic_attributes flag.
wined3d: Remove the no longer used buffer conversion code.
wined3d: Remove the no longer used wined3d_context.fog_coord field.
wined3d: Remove the no longer used wined3d_context_gl.untracked_material_count field.
wined3d: Remove the no longer used wined3d_context.use_immediate_mode_draw field.
wined3d: Remove the no longer used WINED3D_SHADER_CAP_VS_CLIPPING flag.
wined3d: Remove the no longer used wined3d_context.namedArraysLoaded field.
wined3d: Remove the no longer used WINED3D_SHADER_CAP_SRGB_WRITE flag.
wined3d: Move the GL_EXTCALL() definition to wined3d_gl.h.
wined3d: Remove some no longer used wined3d_context fields.
wined3d: Remove no longer used "exponent" and "cutoff" precomputed fields.
wined3d: Remove the no longer used ignore_textype argument of wined3d_ffp_get_fs_settings().
Eric Pouech (4):
conhost: Fix display of font preview in 64-bit mode.
winedump: Dump correct handle information for minidump.
winedump: Don't dump twice.
winedump: Dump Memory64List streams in minidumps.
Esme Povirk (14):
gdiplus: Replace HDC check in GdipFlush.
gdiplus: Bracket HDC use in GdipMeasureCharacterRanges.
gdiplus: Bracket HDC use in GdipMeasureString.
gdiplus: Bracket HDC use in GdipDrawString.
gdiplus: Bracket HDC use in GDI32_GdipDrawDriverString.
gitlab: Add unzip to build image.
gdiplus: Replace HDC use in draw_driver_string.
gdiplus: Bracket HDC use in get_path_hrgn.
gdiplus: Bracket HDC use in gdi_transform_acquire/release.
gdiplus: Do not store HDC on HWND Graphics objects.
gdiplus: Don't call GetDeviceCaps for NULL dc.
user32/tests: Rename winevent_hook_todo to msg_todo.
user32/tests: Mark some Wine-todo messages.
win32u: Implement EVENT_SYSTEM_FOREGROUND.
Fabian Maurer (5):
oleaut32: Add test for invoking a dispatch get-only property with DISPATCH_PROPERTYPUT.
oleaut32: Handle cases where invoking a get-only property with INVOKE_PROPERTYPUT returns DISP_E_BADPARAMCOUNT.
userenv: Add CreateAppContainerProfile stub.
riched20: In para_set_fmt protect against out of bound cTabStop values.
user32/tests: Fix ok_sequence succeeding in todo block not giving a test failure.
Francis De Brabandere (1):
vbscript/tests: Fix error clear call.
Ilia Docin (1):
sane.ds: Add missing color modes setting support.
Jacek Caban (30):
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlobject.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlscript.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlselect.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlstorage.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlstyle.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlstyleelem.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlstylesheet.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmltable.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmltextarea.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmltextnode.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in mutation.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in omnavigator.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in range.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in selection.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in svg.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in xmlhttprequest.c.
ntdll: Use assembly wrapper for unixlib calls on ARM64EC.
d3d9/tests: Use GNU assembly syntax on clang x86_64 MSVC target.
d3d8/tests: Use GNU assembly syntax on clang x86_64 MSVC target.
d3d9: Use GNU assembly syntax on clang x86_64 MSVC target.
d3d8: Use GNU assembly syntax on clang x86_64 MSVC target.
ddraw: Use GNU assembly syntax on clang x86_64 MSVC target.
gitlab: Use --enable-werror for Clang builds.
mshtml: Return success in IHTMLWindow2::get_closed stub.
mshtml/tests: Add more custom properties tests.
mshtml: Factor out alloc_dynamic_prop.
mshtml: Use DispatchEx vtbl for elements as window property lookups.
mshtml: Use DispatchEx vtbl for all window properties.
mshtml: Use macro for window object IDispatch functions implementation.
mshtml: Move IDispatchEx forwarding implementation to outer window object.
Krzysztof Bogacki (7):
win32u: Use separate variable for inner loop.
win32u: Log Vulkan GPU's PCI IDs when matching against them.
win32u: Log Vulkan UUIDs when adding GPUs.
win32u: Remove unused variable from add_vulkan_only_gpus.
win32u: Use common name for fake GPUs and prefer Vulkan name over it.
win32u: Prefer Vulkan PCI IDs over empty ones.
win32u: Prefer Vulkan UUIDs over empty ones.
Marcus Meissner (1):
shell32/tests: Fixed sizeof to GetModuleFileName.
Myah Caron (1):
msvcrt: Fix _kbhit ignoring the last event.
Nikolay Sivov (3):
gdi32/text: Make GetTextExtentExPointW() return sizes consistent with ExtTextOutW().
d3dcompiler/fx: Write empty buffers for compiler versions 33-39.
d3dcompiler: Enable D3DCOMPILE_EFFECT_CHILD_EFFECT option.
Paul Gofman (4):
wine.inf: Add InstallationType field to CurrentVersion.
wine.inf: Add Explorer\Advanced registry key.
mf/tests: Add a test for MFEnumDeviceSources().
mf: Implement audio capture device enumeration in MFEnumDeviceSources().
Piotr Caban (1):
ntdll: Fix UNC path handling in alloc_module.
Rémi Bernon (57):
win32u: Fix default_update_display_devices return type to NTSTATUS.
win32u: Load the graphics driver vulkan functions lazily.
win32u: Keep a list of vulkan GPUS in the device manager context.
win32u: Match driver GPUs with vulkan GPUS from their ids, or index.
win32u: Query GPU memory from vulkan physical device.
win32u: Enumerate offscreen vulkan devices as GPU devices.
dinput: Dynamically allocate the internal device / event arrays.
server: Pass the adjusted vkey to send_hook_ll_message.
winegstreamer: Use DMO_MEDIA_TYPE in the WMA decoder.
winegstreamer: Implement WMA DMO Get(Input|Output)CurrentType.
win32u/tests: Introduce a new run_in_process helper.
win32u/tests: Add NtUser(Get|Set)ProcessDpiAwarenessContext tests.
win32u: Fix NtUserSetProcessDpiAwarenessContext.
user32/tests: Add some SetProcessDpiAwarenessContext tests.
user32/tests: Add more SetThreadDpiAwarenessContext tests.
user32: Fix SetProcessDpiAwarenessContext.
winegstreamer: Use a GstCaps for wg_parser current_format.
winegstreamer: Use a GstCaps instead of preferred_format.
winegstreamer: Rename get_preferred_format to get_current_format.
winegstreamer: Use a GstCaps for wg_parser_stream codec format.
win32u: Get rid of the drivers force_display_devices_refresh flag.
win32u: Update the display device cache after loading the driver.
win32u: Get rid of the UpdateDisplayDevices force parameter.
user32: Test and fix IsValidDpiAwarenessContext.
user32: Test and implement GetDpiFromDpiAwarenessContext.
user32/tests: Add more AreDpiAwarenessContextsEqual tests.
user32/tests: Add more GetAwarenessFromDpiAwarenessContext tests.
win32u: Use NtUserCallOnParam for SetThreadDpiAwarenessContext.
win32u: Return UINT from NtUserGetWindowDpiAwarenessContext.
win32u: Use NtGdiDdDDICreateDCFromMemory for gdi16 DIBDRV.
wineandroid: Fix NtUserSendHardwareInput parameter order.
wineandroid: Use DWORD for pixel pointers.
win32u: Flush window surface when it is fully unlocked.
win32u: Remove surface recursive locking requirement.
win32u: Stop using a recursive mutex for the offscreen surface.
wineandroid: Stop using a recursive mutex for the window surfaces.
winemac: Stop using a recursive mutex for the window surfaces.
winewayland: Stop using a recursive mutex for the window surfaces.
winex11: Stop using a recursive mutex for the window surfaces.
win32u: Get the thread DPI context instead of the awareness.
win32u: Pass the DPI awareness context in win_proc_params.
win32u: Fix SetThreadDpiAwarenessContext.
win32u: Only keep DPI awareness context with window objects.
win32u: Introduce a new window_surface_init helper.
win32u: Move the window surface mutex to the surface header.
win32u: Use helpers to lock/unlock window surfaces.
win32u: Move window surface bounds to the window_surface base struct.
winemac: Get rid of unnecessary blit_data / drawn surface members.
wineandroid: Hold the lock while reading window surface bits.
win32u: Use a helper to flush window surface, factor locking and bounds reset.
win32u: Initialize window surfaces with a hwnd.
win32u: Split update_surface_region into get_window_region helper.
server: Merge get_surface_region / get_window_region requests together.
win32u: Intersect the clipping region with the window shape region.
server: Update window surface regions when the window is shaped.
wineandroid: Remove now unnecessary set_surface_region calls.
win32u: Use a helper to set the window surface clipping, within the lock.
Vijay Kiran Kamuju (1):
ntdll: Add stub RtlLookupGenericTableAvl function.
Yuxuan Shui (2):
shell32: Make sure array passed to PathResolve is big enough.
shell32: Fix ShellExecute for non-filespec paths.
Zhiyi Zhang (4):
comctl32/tests: Add WM_SETFONT tests.
comctl32/syslink: Don't delete font when destroying the control.
comctl32/tooltips: Don't duplicate font when handling WM_SETFONT.
comctl32/ipaddress: Delete font when destroying the control.
```
The Wine development release 9.9 is now available.
What's new in this release:
- Support for new Wow64 mode in ODBC.
- Improved CPU detection on ARM platforms.
- Removal of a number of obsolete features in WineD3D.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.9.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.9/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.9 (total 38):
- #25009 Password Memory 2010 - Titlebar color rendering error
- #26407 Shadowgrounds Survivor crashes after viewing the map
- #26545 Crysis2: Red color on highlights of Bumpmap/Specular Highlights
- #27745 Racer is unplayable
- #28192 regedit: The usage message arrives too late in the wine console
- #29417 Mouse pointer laggy/slow in Dweebs and Dweebs 2 when virtual desktop mode is enabled
- #31665 Femap unexpected crash on rebuild database (or any command that involves it i.e. import)
- #32346 Window is too large with Batman and Head Over Heels remakes
- #39532 Assassin's Creed Unity doesn't run
- #40248 Some .NET applications throw unhandled exception: System.NotImplementedException: 'System.Management.ManagementObjectSearcher.Get' when using Wine-Mono
- #44009 Syberia Gog version: crash after cinematics
- #44625 Cybernoid 2 exits but x window drawing updates are frozen
- #44863 Performance regression in Prince of Persia 3D
- #45358 Assassin's Creed Syndicate (AC Unity; AC Odyssey) broken graphics
- #49674 Feature Request: Restoring previous resolution upon an app crashing
- #51200 High repaint label volume causes freezing
- #53197 Total War: Shogun 2 crashes on unimplemented function d3dx11_42.dll.D3DX11LoadTextureFromTexture
- #55513 Paint.NET 3.5.11 runs unstable on Wine 8.x (and later) because of a bug in Mono
- #55939 Moorhuhn Director's Cut crashes after going in-game
- #56000 Window title is not set with winewayland
- #56422 Exact Audio Copy installer crashes
- #56429 Applications crash with BadWindow X error
- #56483 ShellExecute changes in Wine 9.5 broke 64-bit Winelib loading in WoW64 builds
- #56485 Visual novel RE:D Cherish! displays white screen instead of logo video
- #56492 Opentrack/TrackIR head tracking broken
- #56498 Incorrect substring expansion for magic variables
- #56506 strmbase TRACEs occasionally fail to print floats
- #56527 Final Fantasy XI Online: Opening movie triggers a 'GStreamer-Video-CRITICAL'.
- #56579 Setupapi fails to read correct class GUID and name from INF file containing %strkey% tokens
- #56588 FlatOut 1 display resolution options limited to current desktop resolution using old wow64
- #56595 Fallout 3 is slow
- #56607 steam: no tray icon starting with wine 9.2
- #56615 Spelunky won't start (GLSL version 1.20 is too low; 1.20 is required)
- #56653 GetLogicalProcessorInformation can be missing Cache information
- #56655 X11 Driver fails to load
- #56661 Project Diablo 2 crashes
- #56671 Disney Ratatouille demo renders upside down on Intel graphics
- #56682 msvcrt:locale prevents the msvcrt:* tests from running on Windows 7
### Changes since 9.8:
```
Akihiro Sagawa (2):
quartz/tests: Test read position after MPEG splitter connection.
winegstreamer: Seek to the end after MPEG splitter connection.
Alex Henrie (1):
dinput: Don't include every version of DirectInputCreate in every DLL.
Alexandre Julliard (38):
nls: Update locale data to CLDR version 45.
winedump: Dump registry scripts resources as text.
winedump: Dump typelib resources in structured format.
atl: Remove empty clsid registration.
dhtmled.ocx: Remove empty clsid registration.
widl: Don't generate empty interface registrations.
ntdll: Use null-terminated strings instead of explicit lengths to build SMBIOS data.
ntdll: Cache the generated SMBIOS data.
ntdll: Build the SMBIOS table incrementally.
ntdll: Generate dummy SMBIOS data on non-supported platforms.
ntdll: Store the CPU vendor and id during detection.
ntdll: Add processor information to the SMBIOS data.
configure: Restore warning for missing PE compiler.
ntdll: Report the correct processor details on ARM platforms.
ntdll: Update PROCESSOR_ARCHITECTURE variable correctly for ARM platforms.
wineboot: Create CPU environment keys together with other hardware keys.
wineboot: Get the CPU model details with NtQuerySystemInformation(SystemCpuInformation).
wineboot: Report the correct model number on ARM platforms.
wineboot: Support multiple SMBIOS entries of the same type.
wineboot: Retrieve CPU details through the SMBIOS table.
winemac.drv: Remove some no longer used code.
wbemprox: Get the processor caption from the registry.
wbemprox: Support multiple SMBIOS entries of the same type.
wbemprox: Get the processor manufacturer from the SMBIOS table.
wbemprox: Get the processor name from the SMBIOS table.
wbemprox: Get the processor count from the SMBIOS table.
wbemprox: Get the processor id from the SMBIOS table.
wbemprox: Get a few more processor details from the SMBIOS table.
wbemprox: Get the processor type and model with SystemCpuInformation.
wbemprox: Use RtlGetNativeSystemInformation directly to get the correct info on ARM platforms.
msvcrt/tests: Don't link to _setmaxstdio.
msvcrt: Update some mangled names on ARM.
ntdll: Add default values for cache parameters.
msvcrt: Resync cxx.h with msvcp90.
msvcrt: Unify __CppXcptFilter implementations.
msvcrt: Unify __CxxQueryExceptionSize implementations.
msvcrt: Unify __CxxDetectRethrow implementations.
msvcrt: Unify checks for valid C++ exception.
Alexandros Frantzis (3):
win32u: Enable dibdrv wglDescribePixelFormat through p_get_pixel_formats.
user32/tests: Skip affected keyboard tests if a spurious layout change is detected.
user32/tests: Remove workaround for SendInput keyboard tests on zh_CN.
Alistair Leslie-Hughes (1):
include: Add some D3D12_FEATURE_DATA_D3D12_OPTIONS* types.
Anton Baskanov (2):
winegstreamer: Recognize MFAudioFormat_MPEG and MFAudioFormat_MP3.
winegstreamer: Add missing format fields to WMA support check.
Billy Laws (2):
ntdll: Allocate wow64 environment block within the 32-bit address space.
ntdll: Don't restore PC from LR after unwinding through frame switches.
Biswapriyo Nath (1):
include: Avoid a C++ keyword.
Brendan McGrath (3):
winex11.drv: Increment mode_idx in {xrandr10,xf86vm}_get_modes.
winegstreamer: Pass filename to wg_parser when available.
mplat/tests: Test Media Source is freed if immediately released.
Brendan Shanks (1):
winemac.drv: Fix warning in macdrv_get_pixel_formats.
Connor McAdams (4):
d3dx9/tests: Add a test for negative values in the source rectangle passed to D3DXLoadSurfaceFromMemory.
d3dx9/tests: Add a new compressed surface loading test.
d3dx9: Only do direct copies of full blocks for compressed formats.
d3dx9: Fix destination rectangles passed from D3DXLoadSurfaceFromMemory() to d3dx_load_image_from_memory().
Daniel Lehman (2):
msvcrt/tests: Add result for Turkish_Türkiye.1254.
msvcrt/tests: Add tests for _wcsicmp_l.
Dmitry Timoshkov (2):
kernelbase: Add support for FileDispositionInfoEx to SetFileInformationByHandle().
user32/tests: Offset child CS_PARENTDC window from parent to make more bugs visible.
Elizabeth Figura (38):
wined3d: Retrieve the VkCommandBuffer from wined3d_context_vk after executing RTV barriers.
wined3d: Submit command buffers after 512 draw or dispatch commands.
ddraw: Use system memory for version 4 vertex buffers.
ddraw: Upload only the used range of indices in d3d_device7_DrawIndexedPrimitive().
ddraw/tests: Test GetVertexBufferDesc().
wined3d: Fix GLSL version comparison.
maintainers: Change the full form of my name.
wined3d: Remove the offscreen_rendering_mode setting.
wined3d: Use wined3d_resource_is_offscreen() directly in ffp_blitter_clear_rendertargets().
wined3d: Remove no longer used support for drawing to an onscreen render target.
wined3d: Remove the no longer used render_offscreen field from struct ds_compile_args.
wined3d: Remove the no longer used Y correction variable.
d3d9/tests: Clarify and expand point size tests.
d3d9/tests: Expand test_color_vertex().
d3d9/tests: Add some tests for default diffuse values.
d3d9/tests: Test default attribute components.
wined3d: Remove the GL FFP vertex pipeline.
wined3d: Remove the GL FFP fragment pipeline.
wined3d: Remove the NV_register_combiners fragment pipeline.
wined3d: Remove the ATI_fragment_shader fragment pipeline.
wined3d: Remove the ARB_fragment_program blitter.
wined3d: Remove the ARB fragment pipeline.
wined3d: Remove the ARB shader backend.
amstream: Link to msvcrt instead of ucrtbase.
evr: Link to msvcrt instead of ucrtbase.
qasf: Link to msvcrt instead of ucrtbase.
qcap: Link to msvcrt instead of ucrtbase.
qdvd: Link to msvcrt instead of ucrtbase.
qedit: Link to msvcrt instead of ucrtbase.
quartz: Link to msvcrt instead of ucrtbase.
winegstreamer: Link to msvcrt instead of ucrtbase.
wined3d: Remove no longer used support for emulated non-power-of-two textures.
wined3d: Remove no longer used support for rectangle textures.
wined3d: Remove texture non-power-of-two fixup.
wined3d: Remove the last vestiges of ARB_texture_rectangle support.
wined3d: Collapse together NPOT d3d_info flags.
wined3d: Remove the redundant "pow2_width" and "pow2_height" fields.
wined3d: Fix inversion in shader_get_position_fixup().
Eric Pouech (19):
cmd/tests: Test using %%0-%%9 as loop variables.
cmd/tests: Test nested loop variables expansion.
cmd/tests: Test delayed expansion with spaces in IF and FOR.
cmd/tests: Test calling batch files named as builtin commands.
cmd/tests: Test success/failure of commands.
cmd: Consistenly use the same variable to identify current command.
cmd: No longer keep track of last element in command list.
cmd: Introduce xrealloc helper.
cmd: Use CRT's popen instead of rewriting it.
cmd: Remove malloc attribute from xrealloc.
cmd: Introduce CMD_NODE structure.
cmd: Add helpers to handle list in degenerated binary tree.
cmd: Move operator from CMD_COMMAND to CMD_NODE.
msvcrt: Demangle std::nullptr_t datatype.
winedump: Demangle std::nullptr_t datatype.
msvcrt: Don't consider end of list encoding as real data types.
winedump: Don't consider end of list encoding as real data types.
msvcrt: Correctly unmangle qualified pointer to function/method.
winedump: Correctly unmangle qualified pointer to function/method.
Esme Povirk (20):
gdiplus: Add a function to bracket HDC use.
gdiplus: Bracket HDC use in gdi_alpha_blend.
gdiplus: Bracket HDC use in alpha_blend_pixels_hrgn.
gdiplus: Bracket hdc use in brush_fill_path.
gdiplus: Bracket HDC use in draw_cap.
gdiplus: Bracket HDC use in draw_poly.
gdiplus: Bracket HDC use in trace_path.
gdiplus: Do not use hdc directly in get_graphics_bounds.
gdiplus: Accept an HDC in get_gdi_transform.
gdiplus: Fix background key.
gdiplus: Bitmap stride is ignored when Scan0 is non-NULL.
gdiplus: Support anchors on thin paths.
gdiplus: Remove unnecessary math in add_anchor.
gdiplus: Fix signs on custom line cap rotation in add_anchor.
gdiplus: Reorder filled arrow cap points to match native.
gdiplus: Add a test for GdipWidenPath with Custom linecaps.
gdiplus: Do not create gdi32 objects for Bitmap objects.
gdiplus: Bracket HDC use in GdipDrawImagePointsRect.
gdiplus: Bracket HDC use in GDI32_GdipFillPath.
gdiplus: Bracket HDC use in GDI32_GdipFillRegion.
Fabian Maurer (2):
win32u: Factor out scroll timer handling.
win32u: Only set scroll timer if it's not running.
Fotios Valasiadis (1):
ntdll/unix: Fix building on musl by explicitly including asm/ioctls.h.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.285.
Hans Leidekker (8):
odbc32: Forward SQLDataSourcesA() to SQLDataSources() and GetDiagRecA() to GetDiagRec().
odbc32: Make Unix call parameters Wow64 compatible.
odbc32: Load_odbc() returns NTSTATUS.
odbc32: Move replication of ODBC settings to the Unix lib.
odbc32: Add Wow64 thunks.
include: Add missing Unicode SQL function declarations.
odbc32: Don't load libodbc.so dynamically.
odbc32/tests: Add tests.
Hongxin Zhao (1):
po: Add a missing \t in the Simplified Chinese translation.
Huw D. M. Davies (3):
nsi/tests: Use NSI_IP_COMPARTMENT_TABLE instead of hard coding the integer.
mmdevapi: Remove unused ACImpl typedef.
maintainers: Remove Andrew Eikum.
Jacek Caban (25):
winecrt0: Support __os_arm64x_dispatch_call symbol on ARM64EC.
d3dx9/tests: Remove xfile dumping functionality.
mshtml: Introduce DISPEX_IDISPATCH_IMPL.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlnode.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlbody.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlanchor.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlarea.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlattribute.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlcomment.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlcurstyle.c.
mshtml: Use DISPEX_IDISPATCH_IMPL for DocumentType object implementation.
winebuild: Use .drectve section for exports on ARM64EC.
mshtml: Use DISPEX_IDISPATCH_IMPL for HTMLElement object implementation.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlelem.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlelemcol.c.
mshtml: Use DISPEX_IDISPATCH_IMPL for HTMLEventObj object implementation.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlevent.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlform.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlframe.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlgeneric.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlhead.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlimg.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlinput.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmllink.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmllocation.c.
Nikolay Sivov (7):
d2d1/tests: Add a test for effect output image interface query.
d2d1/effect: Fix GetImageLocalBounds() prototype.
d2d1/tests: Add some vertex buffer tests.
d2d1/effect: Use more generic naming for loaded shaders array.
d2d1/effect: Add a stub vertex buffer object.
d2d1/effect: Implement SetPassthroughGraph().
d2d1/effect: Implement ConnectNode().
Paul Gofman (7):
xaudio2: Use FAudioVoice_DestroyVoiceSafeEXT() in destroy_voice().
bcrypt: Support RSA/PKCS1 signatures with unspecified hash algorithm.
win32u: Update last message time in NtUserGetRawInputBuffer().
ntdll: Allocate crit section debug info by default for Windows versions before 8.
opengl32: Prefer formats with depth if unspecified in wglChoosePixelFormat().
xaudio2/tests: Fix test failures with xaudio2_8 in test_submix().
nsiproxy.sys: Return success and zero count from ipv6_forward_enumerate_all() if IPV6 is unsupported.
Piotr Caban (4):
ucrtbase: Handle empty list in variadic template.
winedump: Handle empty list in variadic template.
msvcrt/tests: Don't link to _wcsicmp_l and _create_locale.
ntdll: Don't use gmtime concurrently.
Rémi Bernon (37):
winex11: Only request display modes driver data when needed.
win32u: Read / write source modes as a single registry blob.
win32u: Remove now unnecessary reset_display_manager_ctx.
win32u: Use struct pci_id in struct gdi_gpu.
win32u: Remove driver-specific id from struct gdi_gpu.
win32u: Pass gdi_gpu structure members as add_gpu parameters.
win32u: Return STATUS_ALREADY_COMPLETE from UpdateDisplayDevices.
mfreadwrite/tests: Add some source reader D3D11 awareness tests.
mf/tests: Test video processor D3D11 awareness.
winegstreamer/video_processor: Implement D3D awareness.
mfreadwrite/reader: Pass the device manager to the stream transforms.
winegstreamer: Introduce a new wg_transform_create_mf helper.
winegstreamer: Introduce a new check_audio_transform_support helper.
winegstreamer: Introduce a new check_video_transform_support helper.
mfplat: Fix MFCreateMFVideoFormatFromMFMediaType videoInfo.VideoFlags masks.
mfplat: Use IMFMediaType_GetBlobSize instead of IMFMediaType_GetBlob.
mfplat: Introduce a new init_video_info_header helper.
mfplat: Use media_type_get_uint32 in more places.
mfplat: Factor AM_MEDIA_TYPE video format allocation.
mfplat: Set AM_MEDIA_TYPE bTemporalCompression and bFixedSizeSamples.
mfplat: Implement FORMAT_MPEGVideo for MFInitAMMediaTypeFromMFMediaType.
mfplat: Implement FORMAT_MPEG2Video for MFInitAMMediaTypeFromMFMediaType.
mfplat: Implement MFInitMediaTypeFromMPEG1VideoInfo.
mfplat: Implement MFInitMediaTypeFromMPEG2VideoInfo.
mfplat: Implement MFCreateVideoMediaType.
winebus: Don't advertise hidraw devices as XInput compatible.
winebus: Report whether devices are connected over bluetooth.
winebus: Move Sony controllers report fixups to PE side.
mfreadwrite/reader: Shutdown the queue when public ref is released.
mfplat: Add MFVideoFormat_ABGR32 format information.
mf/tests: Add video processor tests with MFVideoFormat_ABGR32 format.
mfreadwrite/tests: Add tests with MFVideoFormat_ABGR32 output format.
winegstreamer: Support MFVideoFormat_ABGR32 output in the video processor.
mfreadwrite/reader: Fixup MFVideoFormat_ABGR32 subtype to enumerate the video processor.
win32u: Set DEVMODEW dmSize field.
wineandroid: Set DEVMODEW dmSize field.
winemac: Set DEVMODEW dmSize field.
Tim Clem (7):
mountmgr.sys: Do not create drive letters or volumes for unbrowsable macOS volumes.
mountmgr.sys: Do not add drive letters or volumes for macOS volumes without mount paths.
winemac.drv: Document mode_is_preferred.
winemac.drv: Prefer display modes that are marked as usable for desktop.
winemac.drv: Do not consider the "valid" and "safe" flags as making a display mode unique.
Revert "winemac.drv: Hide app's dock icon when it wouldn't have a taskbar item on Windows.".
winemac.drv: Exclude dictation when looking for input methods.
Yuxuan Shui (3):
rtworkq: Avoid use-after-free.
mfplat/tests: Validate MFCancelWorkItem releases the callback.
rtworkq: Release cancelled work items.
Ziqing Hui (1):
winegstreamer/video_decoder: Make output_plane_align specific to h264.
```
The Wine development release 9.8 is now available.
What's new in this release:
- Mono engine updated to version 9.1.0.
- IDL-generated files use fully interpreted stubs.
- Improved RPC/COM support on ARM platforms.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.8.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.8/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.8 (total 22):
- #3689 Microsoft Office 97 installer depends on stdole32.tlb be in v1 (SLTG) format
- #33270 Cursor disappears during Installshield install
- #37885 Battle.net launcher fails to set permissions on WoW files
- #38142 Approach fields box only show 3/4 of one line
- #44388 gldriverquery.exe crash on wineboot and company of heroes says no 3d
- #45035 Buttons of the Radiosure program are missing
- #46455 Desktop syncing app for Remarkable devices crashes on startup
- #47741 Lotus Approach: Initial "Welcome" dialog not shown on startup
- #51361 SimSig with Wine 6.18 breaks after upgrading from libxml2 2.9.10 to 2.9.12
- #54997 msys2: gpg.exe fails because "NtSetInformationFile Unsupported class (65)" / FileRenameInformationEx
- #55736 Solid Edge crashes after a couple of minutes
- #55844 Paper tray options missing. Landscape orientation is ignored
- #56041 iZotope Product Portal crashes
- #56248 VTFEdit: Exception When Loading .VTF Files
- #56309 Across Lite doesn't show the letters properly when typing
- #56324 Falcon BMS launcher fails to start (native .Net 4.6.1 needed)
- #56407 SaveToGame hangs during DWM initialization
- #56472 Recettear opening movie blackscreen in Wine 9.5
- #56581 Corsair iCUE 4: needs unimplemented function SHELL32.dll.SHAssocEnumHandlersForProtocolByApplication
- #56598 Calling [vararg] method via ITypeLib without arguments via IDispatch fails
- #56599 HWMonitor 1.53 needs unimplemented function pdh.dll.PdhConnectMachineA
- #56609 vcrun2008 fails to install
### Changes since 9.7:
```
Aida Jonikienė (1):
msvcp140_atomic_wait: Implement __std_*_crt().
Akihiro Sagawa (3):
quartz/tests: Add tests to reject unsupported contents for MPEG splitter.
winegstreamer: Reject unexpected formats on init.
winegstreamer: Implement input media type enumeration in MPEG splitter.
Alex Henrie (3):
setupapi: Don't set RequiredSize when SetupDiGetClassDescription* fails.
shell32: Add SHAssocEnumHandlersForProtocolByApplication stub.
pdh: Add PdhConnectMachineA stub.
Alexandre Julliard (57):
include: Update a couple of RPC structures.
rpcrt4: Add a wrapper for client calls from stubless proxies.
rpcrt4: Move the FPU register conversion to the stubless proxy wrapper.
rpcrt4: Remap registers to the stack for stubless proxies on ARM platforms.
rpcrt4: Stop passing the actual FPU regs pointer to client call functions.
rpcrt4: Remove obsolete version comments from spec file.
rpcrt4: Fix stack alignment and by-value parameters for typelibs on ARM platforms.
rpcrt4: Generate the parameter extension data for typelibs on ARM platforms.
rpcrt4: Extend 8- and 16-bit parameters on ARM.
oleaut32: Extend 8- and 16-bit parameters on ARM.
rpcrt4: Use fully interpreted IDL stubs.
rpcrt4/tests: Use fully interpreted IDL stubs.
schedsvc: Use fully interpreted IDL stubs.
schedsvc/tests: Use fully interpreted IDL stubs.
sechost: Use fully interpreted IDL stubs.
taskschd: Use fully interpreted IDL stubs.
ntoskrnl.exe: Use fully interpreted IDL stubs.
plugplay: Use fully interpreted IDL stubs.
rpcss: Use fully interpreted IDL stubs.
services: Use fully interpreted IDL stubs.
ntdll/tests: Remove unnecessary shared header.
dbghelp: Ignore a couple of Dwarf-3 opcodes.
oleaut32: Fix IDispatch::Invoke for vararg functions with empty varargs.
systeminfo: Pass proper Unicode strings to fwprintf.
avifil32: Use fully interpreted IDL stubs.
combase: Use fully interpreted IDL stubs.
dispex: Use fully interpreted IDL stubs.
ia2comproxy: Use fully interpreted IDL stubs.
ieproxy: Use fully interpreted IDL stubs.
mscftp: Use fully interpreted IDL stubs.
makefiles: Support building files for x86-64 architecture on ARM64EC.
rpcrt4: Move the stubless client thunks to a separate file.
rpcrt4: Move the stubless delegating thunks to a separate file.
rpcrt4: Move call_server_func() to a separate file.
msdaps: Use fully interpreted IDL stubs.
msi: Use fully interpreted IDL stubs.
mstask: Use fully interpreted IDL stubs.
netapi32: Use fully interpreted IDL stubs.
oleacc: Use fully interpreted IDL stubs.
sti: Use fully interpreted IDL stubs.
urlmon: Use fully interpreted IDL stubs.
windowscodecs: Use fully interpreted IDL stubs.
actxprxy: Use fully interpreted IDL stubs.
ole32: Use fully interpreted IDL stubs.
oleaut32: Use fully interpreted IDL stubs.
qmgrprxy: Use fully interpreted IDL stubs.
quartz: Use fully interpreted IDL stubs.
widl: Fix correlation offset for unencapsulated unions in interpreted mode.
widl: Default to fully interpreted stubs mode.
oleaut32: Move the call_method thunk to a separate file.
vcomp: Move the fork wrapper to a separate file.
vcomp: Fix stack alignment in the fork wrapper on ARM.
ntdll: Build __chkstk as x86-64 code on ARM64EC.
ntdll: Generate stub entry points as x86-64 code on ARM64EC.
faudio: Import upstream release 24.05.
fluidsynth: Import upstream release 2.3.5.
png: Import upstream release 1.6.43.
Alexandros Frantzis (9):
winex11.drv: Rename wgl_pixel_format to glx_pixel_format.
opengl32: Implement wglDescribePixelFormat using new driver API get_pixel_formats.
opengl32: Cache driver pixel format information.
winewayland.drv: Enable wglDescribePixelFormat through p_get_pixel_formats.
winex11.drv: Enable wglDescribePixelFormat through p_get_pixel_formats.
winex11.drv: Remove unnecessary parameter from describe_pixel_format.
winemac.drv: Enable wglDescribePixelFormat through p_get_pixel_formats.
wineandroid.drv: Rename wgl_pixel_format to avoid name conflicts.
wineandroid.drv: Enable wglDescribePixelFormat through p_get_pixel_formats.
Alfred Agrell (1):
include: Use the correct GUID for DXFILEOBJ_PatchMesh.
Alistair Leslie-Hughes (2):
include: Add atldef.h.
windowscodecs: Avoid implicit cast changing value.
Anton Baskanov (3):
user32/tests: Test that display settings are restored on process exit.
winex11.drv: Process RRNotify events in xrandr14_get_id.
explorer: Restore display settings on process exit.
Billy Laws (1):
winevulkan: Allocate commited memory for placed mappings.
Brendan McGrath (4):
winegstreamer: Pass uri to wg_parser when available.
winegstreamer: Respond to the URI query.
winegstreamer: Fix wow64 support for wg_parser_connect.
winegstreamer: Log query after setting the URI.
Brendan Shanks (2):
widl: Use hardcoded build time in TLB custom data.
winemac.drv: Fix use-after-free in macdrv_copy_pasteboard_types.
Danyil Blyschak (1):
mfreadwrite: Store result of object activation in stream transform.
Dmitry Timoshkov (11):
widl: Make automatic dispid generation scheme better match what midl does.
widl: Create library block index right after the CompObj one.
widl: Set the lowest bit in the param name to indicate whether type description follows the name.
widl: Add support for function parameter flags to SLTG typelib generator.
widl: Fix calculation of the SLTG library block size.
stdole32.tlb: Generate typelib in SLTG format.
include: Add _Inout_cap_c_(count) macro.
include: Move InterlockedExchangeAdd64() definition before its first usage.
dssenh: Add CPSetKeyParam() stub implementation.
rsaenh: Validate pbData in CPSetKeyParam().
advapi32: CryptSetKeyParam() should accept NULL pbData.
Esme Povirk (4):
mscoree: Update Wine Mono to 9.1.0.
user32/tests: Add a flag for messages incorrectly sent by Wine.
user32/tests: Remove a no-longer needed optional flag.
windowscodecs: Check for overflow in jpeg_decoder_initialize.
Etaash Mathamsetty (2):
user32: Fake success from RegisterTouchWindow.
user32: Fake success from UnregisterTouchWindow.
Evan Tang (2):
user32/tests: Check RegisterRawInputDevices RIDDEV_DEVNOTIFY posted messages.
win32u: Post device arrival messages in NtUserRegisterRawInputDevices.
Gopal Prasad (2):
winewayland.drv: Set wayland app-id from the process name.
winewayland.drv: Implement SetWindowText.
Hans Leidekker (2):
wintrust: Add support for the PE image hash in CryptCATAdminCalcHashFromFileHandle().
msi: Install global assemblies after install custom actions and before commit custom actions.
Henri Verbeet (3):
wined3d: Pass a shader_glsl_priv structure to shader_glsl_generate_fragment_shader().
wined3d: Pass a shader_glsl_priv structure to shader_glsl_generate_compute_shader().
wined3d: Introduce the "glsl-vkd3d" shader backend.
Jacek Caban (1):
mshtml: Move iface_wrapper_t IUnknown implementation to htmlobject.c.
Kirill Zhumarin (1):
ntdll: Use termios2 for serial when possible.
Matteo Bruni (9):
wined3d: Rename WINED3DUSAGE_PRIVATE to WINED3DUSAGE_CS.
d3d9: Don't do instanced draws in DrawPrimitive() and DrawPrimitiveUP().
wined3d: Don't skip FFP projection transform update.
wined3d: Don't override texture parameters for COND_NP2 on multisample textures.
d3d9/tests: Skip test_sample_attached_rendertarget() without pixel shaders support.
wined3d: Conditionally support WINED3D_FRAGMENT_CAP_SRGB_WRITE on the ffp fragment pipe.
wined3d: Conditionally allow sRGB writes with the 'none' shader backend.
d3d9/tests: Don't create a vertex shader in test_desktop_window() when unsupported.
d3d9/tests: Test creating a texture on a NULL HWND device.
Michael Bond (1):
shell32/shellpath: Fix UserPinned and QuickLaunch KnownFolderPaths.
Nikolay Sivov (4):
d2d1: Update to ID2D1Factory7.
d2d1: Update to ID2D1DeviceContext6.
d2d1: Update to ID2D1Device6.
d2d1: Implement newer CreateDeviceContext() methods.
Paul Gofman (12):
ntdll: Remove entries from queue in RtlWakeAddressAll().
ntdll: Pre-check entry->addr before taking a spin lock in RtlWaitOnAddress().
crypt32: Mind constructor tag in CRYPT_AsnDecodeOCSPSignatureInfoCertEncoded().
cryptnet: Do not use InternetCombineUrlW() in build_request_url().
ntdll/tests: Add tests for CONTEXT_EXCEPTION_REQUEST.
ntdll: Set exception reporting flags in NtGetContextThread().
ntdll: Store exception reporting flags in server context.
ntdll: Store exception reporting flags on suspend.
ntdll: Store exception reporting flags for debug events.
winex11.drv: Support _SHIFT_ARB attributes in X11DRV_wglGetPixelFormatAttribivARB().
ntdll: Implement NtQuerySystemInformation(SystemProcessIdInformation).
msvcrt: Implement _mbsncpy_s[_l]().
Peter Johnson (1):
wined3d: Added missing GTX 3080 & 1070M.
Piotr Caban (4):
windowscodecs: Support 32-bit ABGR bitfields bitmaps.
winhttp: Fix parameters validation in WinHttpGetProxyForUrl.
msvcr80/tests: Fix errno access in tests.
winhttp: Use GlobalAlloc to allocate lpszProxy in WinHttpGetProxyForUrl.
Roland Häder (1):
wined3d: Added missing GTX 1650.
Rémi Bernon (45):
mfreadwrite/tests: Do not accept MFVideoFormat_RGB32 in the test transform.
mfreadwrite/tests: Avoid using MFCreateMediaBufferFromMediaType.
mfreadwrite/tests: Shutdown the test stream event queues on source shutdown.
mfreadwrite/reader: Avoid leaking the stream transform service MFT.
win32u: Introduce a distinct vulkan interface between win32u and the user drivers.
win32u: Introduce a new VkSurfaceKHR wrapping structure.
winevulkan: Pass win32u surface wrappers for each vkQueuePresent swapchain.
win32u: Rename vulkan surface creation/destroy driver callbacks.
win32u: Pass HWND directly to vulkan surface creation driver callback.
win32u: Move host surface destruction out of the drivers.
win32u: Destroy thread windows before calling driver ThreadDetach.
winegstreamer: Set other aperture attributes on video media types.
winegstreamer: Always set aperture attributes on video decoder output types.
winegstreamer: Introduce a new wg_transform_create_quartz helper.
winegstreamer: Use DMO_MEDIA_TYPE in the WMV decoder.
mf/tests: Use a separate field for buffer_desc image size and compare rect.
evr/tests: Sync compare_rgb32 / dump_rgb32 helpers with mf tests.
mfmediaengine/tests: Sync compare_rgb32 / dump_rgb32 helpers with mf tests.
winegstreamer/video_processor: Allow clearing input / output types.
mf/tests: Move the video processor input bitmap names to the test list.
mf/tests: Add more video processor tests with aperture changes.
mf/session: Introduce new (allocate|release)_output_samples helpers.
mf/session: Get session topo_node from their IMFTopologyNode directly.
mf/session: Introduce new session_get_topo_node_output helper.
mf/session: Introduce new session_get_topo_node_input helper.
mf/session: Wrap samples in IMFMediaEvent list instead of IMFSample list.
mf/session: Handle transform format changes and update downstream media types.
winex11: Report all sources as detached in virtual desktop mode.
win32u: Don't force refresh the display cache on thread desktop change.
winex11: Let win32u decide when to force update the display cache.
win32u: Introduce a new add_virtual_modes helper.
win32u: Return the host surface directly from vulkan_surface_create.
winewayland: Get rid of the now unnecessary surface wrapper.
win32u: Introduce a per-window vulkan surface list.
win32u: Move thread detach from winex11.
winex11: Remove now unnecessary surface wrapper struct.
win32u: Fix list corruption in vulkan_detach_surfaces.
win32u: Remove now unnecessary rawinput_device_get_usages.
win32u: Use find_device_from_handle in process_rawinput_message.
win32u: Move rawinput device cache ticks check to rawinput_update_device_list.
winex11: Don't call x11drv_xinput2_disable for foreign windows.
winex11: Remove duplicated foreign window class string constant.
winex11: Avoid leaking foreign window data if it was already created.
mfreawrite/tests: Allow MF_E_SHUTDOWN result in test stream RequestSample.
mf/tests: Add broken result for older Windows.
Tuomas Räsänen (2):
setupapi/tests: Add tests for reading INF class with %strkey% tokens.
setupapi: Use INF parser to read class GUID and class name.
Yuxuan Shui (3):
shell32: Fix a trace log message.
shell32: Use full path to current directory for finding executables.
shell32: Restore the ability of running native unix programs with ShellExecute.
Zebediah Figura (1):
kernelbase: Do not start the debugger if SEM_NOGPFAULTERRORBOX is set.
Zhiyi Zhang (1):
win32u: Set the virtual desktop display frequency to 60Hz.
Ziqing Hui (11):
winegstreamer: Merge video_cinepak into video field.
winegstreamer: Merge video_h264 into video field.
winegstreamer: Merge video_wmv into video field.
winegstreamer: Merge video_indeo into video field.
winegstreamer: Merge video_mpeg1 into video field.
winegstreamer: Implement mf_media_type_to_wg_format_video_wmv.
winegstreamer/video_decoder: Set input/output infos in h264_decoder_create.
winegstreamer/video_decoder: Change decoder attributes.
winegstreamer/video_decoder: Add wg_transform_attrs member.
winegstreamer/video_decoder: Support aggregation.
winegstreamer/video_decoder: Use video_decoder to implement wmv decoder.
```
The Wine development release 9.0-rc3 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc3.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 9.0-rc3 (total 35):
- #51314 vulkan-1:vulkan crashes on Windows with recent Radeon drivers
- #51478 dinput:device8 breaks user32:input's test_keyboard_layout_name() in some locales ()
- #52971 HardWest 2 (playtest) is broken with OpenGL/Vulkan backend
- #53166 Star Wars : Fallen Order crashes at launch
- #53726 Silent Hill 4: The Room low res videos are not played (needs CLSID_CMpegVideoCodec)
- #54381 tightvnc viewer crashes on connection
- #54878 WinSCP 5.21.1.12643 doesn't list files when Windows version is set to 10
- #55005 Program Treecomp - some widgets are not drawn
- #55061 Starcraft Remastered: blurry graphics / low resolution
- #55161 IrfanView full screen mode creates an unneeded and uncalled for permanent overlaying panel
- #55288 advapi32:registry & ntdll:reg - The 32-bit test_redirection() fails if run after the 64 WineTest
- #55306 Cannot double click in the server browser in Worms Armageddon
- #55327 user32:input - test_ActivateKeyboardLayout() fails on Windows 7 for the Spanish locale
- #55328 user32:input - test_keyboard_layout_name() fails on Windows 7 for the Spanish locale
- #55394 comctl32:listbox - test_LBS_NODATA() fails in Wine for the Hindi locale
- #55439 RPG Maker game crashes
- #55446 Using C run-time for unicode strings comparison breaks case insensitive LB_FINDSTRING
- #55578 kernel32:loader - test_section_access() sometimes fails on Windows 8
- #55582 Civilization 2 crashes when setting up new game
- #55655 user32:dialog - test_IsDialogMessageA_proc() fails in the Hindi locale on Wine
- #55667 kernel32:file - test_MapFile() fails on macOS
- #55773 Railroad Tycoon 2 Platinum (Steam, GOG) crashes when changing to 800X600 resolution
- #55903 Falcon BMS 4.37u3: game randomly fails to load 3D models
- #55942 Crazy Chicken Approaching - Nebula Assertion and Visual C++ Runtime Library Errors
- #55962 Program that mixes 32-bit and 64-bit typelibs fails to find a referenced typelib
- #55967 app regression; SWATH stops working at all as of 8.18
- #56001 Some shortcut keys don't work with winewayland when focus is lost and restored
- #56015 SysTray doesn't work for (and crashes) WiseReminder
- #56022 Wine 9.0-rc1 wayland: Cursor does not move on some surfaces
- #56026 Wine 9.0-rc1 Wayland: Mouse buttons 3-6 do not work
- #56033 winewayland.drv: Alt-shift to change the input language appears like Shift is pressed all the time
- #56039 winecfg does no longer run after export WINEARCH=win32
- #56046 Pegasus Mail 4.80 regression: Pointer does not change
- #56048 winedbg --auto: shows incomplete modules list
- #56053 Regression on fallout 3 in the new wow64 mode
----------------------------------------------------------------
Changes since 9.0-rc2:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (2):
po: Update Catalan translation.
comctl32/listview: Ignore the lParam to WM_PRINTCLIENT and add tests.
Alexandre Julliard (5):
wow64: Initialize the syscall dispatcher in the 32-bit TEB.
user32: Fix string comparison for listbox inexact matches.
ntdll: Add a more explicit failure for 32-bit prefix in wow64 mode.
winecfg: Support all Windows versions also in 64-bit mode.
comctl32: Fix string comparison for listbox inexact matches.
Alistair Leslie-Hughes (1):
msdasql/tests: Add missing carriage returns.
Bernhard Übelacker (1):
winedbg: Retrieve module architecture before sorting.
Brendan McGrath (1):
server: Always release internal hardware messages.
Eric Pouech (7):
riched20: Don't crash when no OLE obj is present.
riched20: Don't write past end of buffer.
dbghelp/tests: Extend tests for module loading.
dbghelp: Fix some tests for SymLoadModule*().
winmm: Fill in pIOProc field in MMIOINFO.
dbghelp/tests: Wait for child window to be up before testing.
winedbg: Fix main module detection in 'info share' command.
Fabian Maurer (1):
wineps: Don't leak memory in error case (Coverity).
Georg Lehmann (1):
vulkan-1/tests: Enable feature in private data test.
Huw D. M. Davies (2):
dnsapi: Update the array ptr in the insufficient buffer case.
dnsapi: Free the buffer in the early return paths.
Jacek Caban (1):
win32u: Use 32-bit window extra size on wow64.
Nikolay Sivov (1):
oleaut32/typelib: Add a missing break (Coverity).
Paul Gofman (3):
ntdll: Use position independent syscall thunk for NtQueryInformationProcess on i386.
include: Fix boolean return value definition in IIterator<T> methods.
dxdiagn: Check ICreateDevEnum_CreateClassEnumerator result for S_OK.
Rémi Bernon (16):
user32/tests: Dynamically resize the keyboard layout preload list.
user32/tests: Skip some keyboard layout tests on broken VMs.
dinput/tests: Avoid calling UnloadKeyboardLayout.
user32/tests: Avoid calling UnloadKeyboardLayout.
server: Always queue mouse messages delivered to another window.
server: Ignore the capture window wrt desktop cursor changes.
imm32/tests: Fix HKL comparison when cleaning up preload list.
wined3d: Add more padding to resource memory allocations.
wined3d: Store the resource heap memory pointer separately.
server: Introduce a new get_desktop_cursor_thread_input helper.
server: Change desktop cursor only when inside the thread's windows.
dmime/tests: Check reference time and allow 0.5 tick difference.
dmime/tests: Allow small time variation in test_performance_time.
dmime/tests: Allow small time variation in test_segment_state.
dmime/tests: Add optional notification sequence on segment stop.
dmime/tests: Remove some unnecessary and spuriously failing waits.
Zebediah Figura (1):
qcap/audiorecord: Do not leak the sample when pausing or stopping.
Zhiyi Zhang (2):
user32/tests: Add more display DC tests.
win32u: Create a real bitmap object for display DCs.
The Wine development release 9.0-rc2 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 9.0-rc2 (total 33):
- #21550 Winedbg's disassembler doesn't support SSE2 instructions
- #27916 Ferro CCTV: Fails to start
- #45122 gdiplus/font test crashes under clang-5.0.1 but not gcc-7.3.0
- #45123 gdiplus/graphicspath test crashes under clang-5.0.1 but not gcc-7.3.0
- #52000 EA Desktop fails to install using French locale
- #52883 Improve support for high-level graphic settings in The Settlers: Heritage of Kings
- #53845 Regression in GetCalendarInfoEx et al
- #54115 wine client error:68: write: Bad file descriptor
- #54361 Winebus doesn't enumerate hid devices (in a --without-sdl build) unless SDL also disabled by winebus registry key
- #54402 Borland Turbo CPP 4.5 installer deadlocks on start
- #54616 Memory Access Violation in Libaes.dll, Texecom Wintex
- #54769 major regression in dnSpy startup time
- #54847 dnsapi:query - test_DnsQuery() fails on the TestBot VMs in Windows and Wine
- #54987 Waves Central does not launch
- #55179 Garmin MapSource drag & drop doesn't work in center of window
- #55561 kernel32:virtual - The 32-bit test_write_watch() fails in the new WoW mode
- #55569 mshtml:dom - The 32-bit test_attr_collection_attr() crashes on Windows 10 2004+
- #55588 mf:mf - test_scheme_resolvers() crashes on Windows 7
- #55638 mf:transform - test_h264_decoder_concat_streams() sometimes fails on Windows 7
- #55649 quartz:vmr9 - test_changed3ddevice() fails on the TestBot's w11pro64-amd & -nv VMs
- #55703 AstroArt crashes when trying to drag and drop files from one pane to another
- #55761 PLSQL Developer: Access Violation when trying to log in
- #55774 Sid Meier's Alpha Centauri: invisible mouse pointer
- #55783 Pronote 2023 can't load native msxml6
- #55809 FEMM 4.2 mesh creation won't run, running an analysis is impossible, works on wine-stable
- #55813 Hitomi Downloader fails with "[Errno 9] Bad file descriptor"
- #55833 Multiple 64bit programs crash due to pointer truncation (HeidiSQL 12.5.0.6677, Falcon BMS 4.37u3, PNGGauntlet, PLSQL Developer, ...)
- #55863 Wine fails to build on macOS with LLVM 17
- #55908 PNGGauntlet expects LocalAlloc addresses to fit into 32bit int, breaks on 64bit due to recent memory changes
- #55972 Dolphin Emulator requires GetProcessInformation (since 5.0-16711)
- #55993 PLSQL Developer: Hangs when trying to connect a database.
- #55995 Wine 9.0-rc1 Wayland cursor does not move on some surfaces
- #56006 CrystalDiskInfo: Unhandled exception crashes DiskInfo64.exe
----------------------------------------------------------------
Changes since 9.0-rc1:
Akihiro Sagawa (2):
winex11: Do window search if IDropTarget::DragOver() returns DROPEFFECT_NONE.
comctl32/tests: Store old DPI awareness context.
Alexandre Julliard (13):
server: Leave some free space between modules in ASLR mode.
kernelbase: Don't validate calendar id for GetCalendarInfo(CAL_ITWODIGITYEARMAX).
ntdll: Switch to the kernel stack before restoring the pthread TEB.
ntdll: Switch to the user stack before restoring the %fs register.
ntdll: Only free reserved memory for DYNAMIC_BASE binaries.
krnl386: Don't release the Win16 lock when exiting a task.
server: Enforce a mapping size limit instead of relying on the Unix file system.
kernel32/tests: Don't bother checking for errors in cleanup path.
user32: Support utf-8 in WM_CHAR W->A conversion.
oleaut32/tests: Use winetest contexts instead of traces in the typelib test.
Revert "oleaut32: Check that the 32/64 syskind matches when getting a typelib from the cache.".
oleaut32: Fix loading a 64-bit typelib in 32-bit mode.
oleaut32/tests: Run the 64-bit typelib tests also on 32-bit platforms.
Alexandros Frantzis (5):
winewayland.drv: Avoid deadlock when determining whether a window is managed.
winewayland.drv: Avoid transient deactivation of foreground thread.
winewayland.drv: Consider implicit fullscreen clip for pointer locking.
winewayland.drv: Release all keys on keyboard focus loss.
winewayland.drv: Support mouse buttons 4 and 5.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (1):
po: Update Polish translation.
Bernhard Übelacker (1):
uxtheme: Add stub for IsDarkModeAllowedForWindow.
Biswapriyo Nath (1):
include: Add SampleGrabber coclass definition in qedit.idl.
Eric Pouech (4):
winedump: Don't fail on extra stream entry in PDB.
dbghelp: Allow an extra stream index entry in PDB files.
winedump: Skip deleted vector in hash inside PDB header.
dbghelp: Skip deleted vector in hash inside PDB header.
Fabian Maurer (1):
gdiplus: Prevent uninitializd memory access (Coverity).
Floris Renaud (1):
po: Update Dutch translation.
Hans Lehnert (1):
gdiplus: Fix invalid pointer returned when failing to create font.
Hans Leidekker (2):
dnsapi/tests: Don't test extra records returned for CNAME query.
kernel32/tests: Fix ProcessMachineTypeInfo tests.
Jacek Caban (3):
dwrite: Explicitly cast DWRITE_FONT_STRETCH to float in init_font_prop_vec.
configure: Enable -Wenum-conversion warnings.
ntdll: Declare seh debug channel in signal_arm64ec.c.
Jactry Zeng (1):
po: Update Simplified Chinese translation.
Rémi Bernon (6):
winebus: Return backend init status from bus_main_thread_start.
mf/tests: Workaround broken Win7 test_h264_decoder_concat_streams result.
explorer: Handle WM_CLOSE for docked icons for when they lose embedding.
server: Peek wine internal driver messages regardless of filter.
server: Update the desktop cursor position / window on click.
server: Use the capture window as cursor window if it is set.
Sven Baars (2):
sapi/tests: Remove registry keys created by SetId().
sapi/tests: Remove registry keys created by SetId() in the SpVoice tests.
The Wine development release 9.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 9.0. It
marks the beginning of the yearly code freeze period. Please give this
release a good testing and report any issue that you find, to help us
make the final 9.0 as good as possible.
What's new in this release:
- Bundled vkd3d upgraded to version 1.10.
- Support for DH encryption keys with a recent GnuTLS.
- Keyboard layouts support in the Wayland driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 9.0-rc1 (total 42):
- #13340 DICOM Viewer (eFilm Workstation 2.x/3.x) aborts because IMultiLanguage2_GetCharsetInfo doesn't like "ISO8859-1"
- #34537 Athena's Charm Table search 0.35b wants msvcm90.dll.?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString@System@@P$AAVException@3@@Z
- #47699 Multiple applications need support for ECDH key generation via bcrypt (For Honor, STEEP, Far Cry 5)
- #48972 Bugs found by static analyzers
- #49527 Printing with font Chilanka crashes Notepad and Word
- #49543 Several games require bcrypt DH support
- #53175 Roon fails to start
- #54037 user32:msg - test_SendMessage_other_thread() sometimes gets a todo success (GitLab CI)
- #54731 vbscript: stack_pop_bool doesn't support floats or ole color
- #54999 Process Explorer from Sysinternals shows a blank window
- #55045 NFS Most Wanted has missing graphics with WineD3D in WoW64 mode
- #55052 vbscript: For loop where right bound is string coercion issue
- #55054 WineServer crash. (complete_async_poll: Assertion `output->count == signaled_count' failed)
- #55065 user32:monitor - check_preferred_mode() fails on the TestBot's debiant VM
- #55075 Araxis Merge 2023.5877 needs api-ms-win-core-com-l2-1-1.dll
- #55115 widl crashes with dlls/sti after adding wia_lh.idl
- #55185 vbscript round does not handle numdecimalplaces argument
- #55210 Hatching printed with wrong stripes direction in Framemaker 8
- #55502 vbscript: Sub argument name clash with global const
- #55536 Aldec Active-HDL student edition: crashes when trying to open a file on unimplemented function SHELL32.dll.SHSetTemporaryPropertyForItem
- #55591 Castlevania: Lords of Shadow 2 has rendering glitches
- #55671 Internet Download Manager needs unimplemented function shcore.dll.RegisterScaleChangeEvent
- #55807 uiautomationcore:uiautomation - test_uia_com_event_handler_event_advisement() fails on Windows 10 1709
- #55812 Air Jura crashes
- #55843 Virtual Desktop spams "Failed to read display config."
- #55851 SpeedCommander needs shell32.SHCreateItemWithParent()
- #55852 can't print, even from notepad to pdf
- #55867 Roon 2.0.23 crashes due to unimplemented function shcore.dll.CreateRandomAccessStreamOverStream
- #55890 Eurobattle installer fails to run
- #55892 .NET 8 Windows Forms crashes due to missing DPI functions in user32
- #55899 Daily Chthonicle - performance regression
- #55920 ModOrganizer crashes: Call to unimplemented function USER32.dll.SetDisplayAutoRotationPreferences
- #55927 RestoreDC appears to fail with printers
- #55931 VarMod(Empty, N) returns uninitialized result
- #55935 wine-8.21 build fails in Ubuntu x86_64
- #55950 An attempt to print from 'wine iexplore' leads to a crash
- #55959 _mbsicoll generates exceptions, in Simplified Chinese language linux systems
- #55963 Acid-V VST plugin crashes when removed from a track
- #55966 Crimson Skies freeze in menu
- #55968 MIDITrail 1.4.0 shows an error on start (DWMWA_EXTENDED_FRAME_BOUNDS isn't implemented)
- #55969 vbscript fails to return TypeName for Nothing
- #55973 Printing from iexplore results the images being printed as black rectangles
----------------------------------------------------------------
Changes since 8.21:
Aida Jonikienė (3):
wined3d: Add extra debug info to shader_set_limits().
comctl32: Only print TREEVIEW_HandleTimer() ERR once.
dsdmo: Only print effect_inplace_Process() FIXME once.
Akihiro Sagawa (1):
dwmapi: Implement DwmGetWindowAttribute(DWMWA_EXTENDED_FRAME_BOUNDS).
Alex Henrie (16):
comdlg32/tests: Use CRT allocation functions.
d3dx9_36/tests: Use CRT allocation functions.
cabarc: Use CRT allocation functions.
uxtheme: Annotate UXINI_LoadINI with __WINE_DEALLOC.
uxtheme: Use CRT allocation functions.
d3drm: Suppress a use-after-free warning in d3drm_image_palettise (GCC).
uxtheme/tests: Add some tests for OpenThemeFile.
gdiplus: Use CRT allocation functions.
d3dx9: Use CRT allocation functions.
ole32/tests: Free what get_stgdef returns in test_OleCreateStaticFromData.
ole32/tests: Use CRT allocation functions.
mscoree: Use CRT allocation functions.
mscoree: Annotate WtoA with __WINE_(DEALLOC|MALLOC).
user32: Correct capitalization of SetDeskWallpaper.
user.exe: Rename SetDeskWallPaper to SetDeskWallpaper.
explorer: Add an "Exit desktop" button to the Start menu.
Alexandre Julliard (61):
ntdll: Store the syscall table in the TEB on x86-64.
ntdll: Store the syscall table in the TEB on ARM64.
ntdll: Still use LdrGetProcedureAddress for CtrlRoutine.
winealsa.drv: Remove DECLSPEC_HIDDEN usage.
winecoreaudio.drv: Remove DECLSPEC_HIDDEN usage.
wineoss.drv: Remove DECLSPEC_HIDDEN usage.
gphoto2.ds: Remove DECLSPEC_HIDDEN usage.
sane.ds: Remove DECLSPEC_HIDDEN usage.
dwrite: Remove DECLSPEC_HIDDEN usage.
mscoree: Remove DECLSPEC_HIDDEN usage.
opencl: Remove DECLSPEC_HIDDEN usage.
wined3d: Remove DECLSPEC_HIDDEN usage.
winegstreamer: Remove DECLSPEC_HIDDEN usage.
wineboot: Remove a noisy FIXME.
wineandroid.drv: Remove DECLSPEC_HIDDEN usage.
winemac.drv: Remove DECLSPEC_HIDDEN usage.
winewayland.drv: Remove DECLSPEC_HIDDEN usage.
winex11.drv: Remove DECLSPEC_HIDDEN usage.
include: Remove DECLSPEC_HIDDEN definition.
include: Make strict prototypes the default.
ntdll: Call Wow64PrepareForException directly from KiUserExceptionDispatcher.
ntdll: Allow unwind rules to override the default stack pointer assignment.
ntdll/tests: Simplify the KiUserExceptionDispatcher tests a little.
ntdll: Add a machine frame to the KiUserExceptionDispatcher stack on x86-64.
ntdll: Add a machine frame to the KiUserApcDispatcher stack on x86-64.
ntdll: Add a machine frame to the KiUserCallbackDispatcher stack on x86-64.
ntdll: Fix stack layout and unwind information for KiUserExceptionDispatcher on ARM64.
ntdll: Fix stack layout and unwind information for KiUserApcDispatcher on ARM64.
ntdll: Fix stack layout and unwind information for KiUserCallbackDispatcher on ARM64.
ntdll: Skip NtRaiseException() call on ARM64 when debugger is not present.
ntdll: Fix stack layout for KiUserExceptionDispatcher on i386.
ntdll: Fix stack layout for KiUserApcDispatcher on i386.
ntdll: Fix stack layout for KiUserCallbackDispatcher on i386.
ntdll/tests: Remove some noisy traces.
ntdll/tests: Fix some compiler warnings on ARM.
ntdll: Implement context and machine frame unwind operations on ARM.
ntdll: Fix stack layout for KiUserExceptionDispatcher on ARM.
ntdll: Fix stack layout for KiUserApcDispatcher on ARM.
ntdll: Fix stack layout for KiUserCallbackDispatcher on ARM.
ntdll: Skip NtRaiseException() call on ARM when debugger is not present.
winedump: Add dumping of UWOP_EPILOG entries.
winedump: Add a couple of ARM unwind codes.
faudio: Import upstream release 23.12.
configure: Require SEH support for PE builds.
ntdll: Fix breakpoint exceptions on ARM.
ntdll: Use .seh handler in RtlUserThreadStart on ARM.
winedump: Also dump ARM64 exception information for ARM64EC binaries.
ntdll: Add a helper to build a path and exec it.
ntdll: Use posix_spawn() to start the server.
ntdll: Export KeAddSystemServiceTable() instead of the KeServiceDescriptorTable variable.
vkd3d: Import upstream release 1.10.
winex11: Use UINT instead of BOOL to avoid warnings for one-bit variables.
ntdll: Implement KiUserCallbackDispatcher for ARM64EC.
ntdll: Implement KiUserApcDispatcher for ARM64EC.
kernelbase: Implement DebugBreak() for ARM64EC.
kernelbase: Implement SwitchToFiber on ARM64EC.
msvcrt: Add a stub ARM64EC CPU backend.
configure: Disable building programs for ARM64EC.
windowscodecs: Don't free memory at process exit.
winepulse.drv: Don't free memory at process exit.
ntdll: Only free reserved memory for HIGH_ENTROPY_VA binaries.
Alexandros Frantzis (12):
winewayland.drv: Implement vkQueuePresentKHR.
winewayland.drv: Detect and report vkQueuePresentKHR errors.
winewayland.drv: Ensure Vulkan parent surface is mapped with proper size.
winewayland.drv: Apply client subsurface position on creation.
winewayland.drv: Implement vkGetDeviceGroupSurfacePresentModesKHR.
winewayland.drv: Implement vkGetPhysicalDevicePresentRectanglesKHR.
winewayland.drv: Handle window foreground state on keyboard focus.
winewayland.drv: Remove duplicate handling of wp_viewporter global.
winewayland.drv: Implement ClipCursor.
winewayland.drv: Implement relative mouse motion.
winewayland.drv: Lock the pointer if confined without cursor.
winewayland.drv: Apply surface configuration during Vulkan presentation.
Alfred Agrell (11):
quartz/tests: Improve VMR9 ChangeD3DDevice test.
winegstreamer: Add codec_data to WMVs.
winegstreamer: Fill in a few more pieces of WMV format handling.
winegstreamer: Move file size to struct wm_reader.
winegstreamer: Introduce mutex for wm_reader read_thread_shutdown.
winegstreamer: Leave pts/duration unchanged if they're not set.
winegstreamer: Implement compressed output support in WMSyncReader.
wmvcore/tests: Add tests for compressed output.
winegstreamer: Don't use VIDEOINFO for non-RGB data.
winegstreamer: Fix a memory leak in stream_props_GetMediaType.
winegstreamer: Delete duplicate WMT_ON check.
Anton Baskanov (7):
winegstreamer: Wake all streaming threads after seeking.
amstream/tests: Test IEnumPins with two streams.
amstream: Use correct index in MediaStreamFilter's IEnumPins::Next().
amstream/tests: Add quality control tests.
amstream: Send quality control messages from AMDirectDrawStream::Receive.
quartz/tests: Add quality control tests for CMpegVideoCodec.
winegstreamer: Handle quality control messages in CMpegVideoCodec.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bartosz Kosiorek (2):
gdiplus/graphicspath: Avoid computation overflow and underflow by using hypotf.
gdiplus/font: Avoid computation overflow and underflow by using hypotf.
Bernhard Übelacker (1):
mlang: Allow encoding name "ISO8859-1".
Billy Laws (1):
kernel32: Export RtlIsEcCode().
Biswapriyo Nath (1):
include: Update d3d12sdklayers.idl from vkd3d.
Brendan McGrath (11):
d2d1: Add test for multithreaded draw.
d2d1: Add test for singlethreaded draw.
d2d1: Acquire lock before attempt to draw to device context.
user32/tests: Add tests for word breaks before punctuation.
user32: Wrap at whitespace rather than soft break.
comctl32/tests: Add test for setitemsize return value.
comctl32: Fix TAB_SetItemSize.
comctl32: Use selected font to determine default min tab width.
comctl32/tests: Fix tabcontrol tests to work with different fonts.
comctl32/tests: Check size initially and after changing padding only.
comctl32/tests: Modify test_width to try different fonts.
Brendan Shanks (3):
ntdll: Fix macOS build error with LLVM 17.
winemac: Use RTL_CONSTANT_STRING.
winecoreaudio: Use UID as device string.
Daniel Lehman (5):
msxml3: Handle null prefix in get_item.
msxml3: Handle default namespace in get_baseName.
msxml3: Handle default namespace in get_nodeName.
msxml3: Handle default namespace in get_prefix.
msxml3: Handle default namespace in get_namespaceURI.
Eric Pouech (16):
dmime: Add Release() on some codepaths.
msiexec: No longer use console/file output APIs.
winecfg: Output with MESSAGE.
uninstall: No longer use console/file output APIs.
ntdll: Return NULL in RtlFindExportedRoutine for forwarded entries.
kernel32/tests: Introduce a new infrastructure for testing CreateProcess().
kernel32/tests: Enable CreateProcess() tests on 64bit compilation.
kernel32/tests: Add more tests about CreateProcess.
ntdll: Restrict cases for std handle inheritance in CreateProcess().
kernelbase: Reset std handles gotten from GetStartupInfo().
kernel32/tests: Identify untouched fields returned from GetStartupInfo.
kernel32/tests: Add tests for GetStartupInfo(A|W).
kernelbase: No longer cache GetStartupInfoW() results.
kernelbase: GetStartupInfoW: set std handle only when USESTDHANDLES is set.
ntdll: Don't inherit std console handles for non CUI child process.
ntdll: Don't create Unix console for GUI apps.
Esme Povirk (2):
user32/tests: Add a simpler test for SetParent's internal message.
user32/tests: Remove test_SendMessage_other_thread(2).
Etaash Mathamsetty (1):
cfgmgr32: Add CM_Register_Notification stub.
Fabian Maurer (19):
user32: Add stub for GetThreadDpiHostingBehavior.
user32: Fix spec entry for SetThreadDpiHostingBehavior.
widl: Prevent infinite loop when structure contains array of itself.
widl: In type_has_full_pointer recurse for pointer types as well.
server: Initialize pe image struct padding to avoid Valgrind warning.
coml2: Add dll and move code from ole32/memlockbytes.c.
coml2: Move GetConvertStg from ole32.
coml2: Move ReadClassStm from ole32.
coml2: Move ReadClassStg from ole32.
coml2: Move WriteClassStm from ole32.
coml2: Move WriteClassStg from ole32.
server: Check socket flags after all sockets got processed.
apisetschema: Add api-ms-win-core-com-l2-1-1.
coml2: Move StgIsStorageILockBytes from ole32.
coml2: Move StgIsStorageFile from ole32.
coml2: Move FmtIdToPropStgName from ole32.
coml2: Move PropStgNameToFmtId from ole32.
coml2: Move StgCreatePropSetStg from ole32.
net: Accept yes/no switches.
Gabriel Ivăncescu (21):
mshtml/tests: Improve the iframe navigation test.
mshtml: Remove the inner window ref from the doc only when it is actually unlinked.
mshtml: Don't rely on the outer_window in document.mimeType.
mshtml: Don't attempt to send storage events after outer window is detached.
mshtml: Don't check for NULL outer_window from within HTMLWindow* methods.
mshtml/tests: Fix XHR leak in test_window_refs.
mshtml: Use inner window's outer_window in IHTMLDocument2::readyState.
mshtml: Return failure in IHTMLDocument2::frames for detached documents.
mshtml: Return failure in IHTMLDocument2::domain for detached documents.
mshtml: Return failure in IHTMLDocument2::cookie for detached documents.
mshtml: Return failure in IHTMLDocument2::open() for detached documents.
mshtml: Return failure in IHTMLDocument2::documentElement for detached documents.
mshtml: Return failure when setting IHTMLDocument2::location for detached documents.
mshtml: Skip navigation handling on anchor/area elements for detached documents.
mshtml: Use inner window's outer_window when checking if it's interactive for edit mode.
mshtml: Get rid of outer_window member in HTMLDocumentNode.
mshtml: Expose the other IHTMLEventObj* interfaces.
mshtml: Don't expose "restricted" members.
mshtml: Send proper legacy storage event with actual url.
mshtml: Implement `url` prop for StorageEvent objs.
mshtml/tests: Fix VariantClear on uninitialized variable.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.272.
Hans Leidekker (7):
bcrypt: Implement BCryptSecretAgreement() and BCryptDestroySecret().
bcrypt: Implement BCryptDeriveKey().
bcrypt: Add support for generating DH keys.
bcrypt: Add support for exporting DH keys.
bcrypt: Add support for importing DH keys.
bcrypt: Add support for duplicating DH keys.
bcrypt/tests: Add DH tests.
Haoyang Chen (2):
rpcrt4: Support for explicit handle passing.
rpcrt4/tests: Test explicit_handle.
Henri Verbeet (2):
dxgi/tests: Release the swapchain after waiting for the window thread to finish in test_resize_target_wndproc().
dxgi: Avoid redundantly setting the present info wait semaphore fields in d3d12_swapchain_queue_present().
Jacek Caban (11):
configure: Fix action-if-no handling in WINE_TRY_PE_CFLAGS macro.
configure: Use --no-default-config option on clang when available.
winegcc: Support --no-default-config argument.
configure: Don't use empty expression in clang check.
gitlab: Add clang build.
mshtml/tests: Add detached documents handling tests.
mshtml: Return failure in IHTMLDocument2::get_URL for detached documents.
mshtml: Return failure in IHTMLDocument2::put_URL for detached documents.
win32u: Provide extra space in buffers used to dispatch string getter messages.
user32: Remove unused argument for unpack_message.
ntdll: Remove unused valgrind_make_readable function.
Jactry Zeng (3):
ntdll: Use different variable names for Mac locales.
ntdll: Initialize locale from Mac language identifiers with script name.
ntdll: Try harder to fallback to neutral locales.
Jon Doron (1):
win32u: Add registry data for GPU memory size.
Louis Lenders (3):
shell32: Add stub for SHCreateItemWithParent.
shell32: Add stub for SHSetTemporaryPropertyForItem.
shcore: Add stub for CreateRandomAccessStreamOverStream.
Marc-Aurel Zent (1):
server: Add cross-platform get_path_from_fd function.
Matteo Bruni (6):
tools: Print the correct option in error messages.
d3dx9: Check for successful sprite draw in DrawTextW().
wined3d: Do a blocking wait for CS commands even when there are active queries.
wined3d: Increase WINED3D_CS_QUERY_POLL_INTERVAL to 100.
wined3d: Add a frametime debug channel.
wined3d: Add a bunch of d3d_perf traces.
Myah Caron (1):
user32: Add SetDisplayAutoRotationPreferences stub.
Nikolay Sivov (21):
oleaut32: Fully initialize VarMod() return value for Empty % x case.
oleaut32: Always reset return type for VarMod().
d3dx9/tests: Fix a crash when d3d9 object can't be created.
gdi32/emf: Add a helper to pad variable length record data.
gdi32/emf: Use padding helper in GdiComment().
gdi32/emf: Check for allocation failure in GdiComment().
gdi32/emf: Add description field padding.
gdi32/emf: Align and pad bitmap data in EMRSTRETCHDIBITS records.
gdi32/emf: Align and pad bitmap data in EMRSETDIBITSTODEVICE records.
gdi32/emf: Use public definition for EMREXTESCAPE record.
wineps: Use public definition for EMREXTESCAPE record.
gdi32/emf: Pad EMREXTESCAPE record data.
vbscript: Implement TypeName(Nothing).
vbscript: Coerce to VT_BOOL when evaluating jump conditions.
oleaut32/tests: Remove some of the function availability checks.
oleaut32/tests: Use wide string literals in some tests.
oleaut32/tests: Use existing helpers to trace variant values.
oleaut32/tests: Do not use VarCmp() to check results of other functions.
include: Add missing enum to wdm.h.
ntdll: Use public type for SystemSupportedProcessorArchitectures returned data.
kernel32: Implement GetProcessInformation(ProcessMachineTypeInfo).
Paul Gofman (3):
ntdll: Implement NtQueryInformationThread(ThreadIsTerminated).
setupapi: Add stubs for SetupDiGetCustomDeviceProperty{A|W}().
winhttp: Handle chunked requests.
Piotr Caban (14):
winedump: Fix EMR_EXTTEXTOUTW record dumping when ETO_PDY flag is specified.
msvcrt: Fix string size passed to CompareString in _mbsnbcoll_l.
wineps.drv: Return error when visible rectangle is empty in get_vis_rectangles.
wineps.drv: Fix EMR_SAVEDC record playback.
msvcrt: Initialize writable environment block in env_set.
gdi32: Add ETO_PDY flag support in EMFDC_ExtTextOut.
wineps.drv: Fix printing images from iexplore.
wineps.drv: Add paper source selection support in printer properties.
msvcrt: Accept <> characters in string literals in demangler.
msvcrt: Add partial support for managed handle demangling.
wineps: Don't write image content upside-down in PSDRV_WriteDIBPatternDict.
wineps: Fix handling of patterns that are not 8x8 in PSDRV_WriteDIBPatternDict.
wineps: Fix color handling in PSDRV_WriteDIBPatternDict.
winedump: Sync demangling code with msvcrt.
Robert Wilhelm (4):
oleaut32: Fix VarR8Round for negative numbers.
vbscript: Sub argument has precedence over global const and local dim.
vbscript: Handle numdecimalplaces argument in Round().
vbscript: For for loop bounds coerce string to real.
Rémi Bernon (52):
gitlab: Add windows tests to MR pipeline.
gitlab: Only run the modifieds tests on Windows for an MR.
win32u: Initialize sysparams before winstation.
win32u: Remove unnecessary config_key lazy initializations.
explorer: Remove unnecessary displayed icon array.
explorer: Split systray add/remove from show/hide_icon.
explorer: Create individual windows for the systray icons.
explorer: Display the individual systray icon windows.
explorer: Use the icon windows for their tooltips.
explorer: Position the balloons relative to the icon windows.
explorer: Handle balloon timer in the icons window proc.
explorer: Use an explicit display constant for hidden icons.
explorer: Support standalone systray window mode.
explorer: Cache the balloon window position.
wineboot: Compute and write the TSC frequency to registry ~Mhz.
dinput/tests: Use exotic axes ordering for winmm tests.
winevulkan: Use a local instance variable instead of phys_dev->instance.
winevulkan: Search for debug report callback from the start of the chain.
winevulkan: Drop the WINEVULKAN_QUIRK_IGNORE_EXPLICIT_LAYERS quirk.
winevulkan: Fix python linter warnings.
winewayland.drv: Handle and parse Xkb keymap events.
winewayland.drv: Enumerate Xkb layouts and create matching HKL.
win32u: Introduce KbdLayerDescriptor user driver entry.
win32u: Avoid accessing NULL key name string pointer.
win32u: Force US layout in ToUnicode when CTRL is pressed.
win32u: Allow KBDTABLES conversion from CTRL + ALT to WCHAR.
winewayland.drv: Translate Xkb keyboard layouts to KBDTABLES.
winewayland.drv: Add scan2vk tables for azerty, qwertz and dvorak.
win32u: Support SGCAPS attributes in KBDTABLES.
winewayland.drv: Implement CAPLOK and SGCAPS in KBDTABLES.
explorer: Always set the systray icon tooltip text.
explorer: Hide the standalone systray window on close.
win32u: Introduce a new NtUserSystemTrayCall message call.
winemac: Use the new NotifyIcon user driver interface.
win32u: Introduce new SystrayDock driver entry points.
explorer: Use layered windows for the docked systray icons.
winex11: Use the new SystrayDock driver interface.
explorer: Remove now unnecessary wine_notify_icon support.
winevulkan: Use "host" more consistently instead of "native".
winex11: Use "host" instead of "native" in vulkan wrappers.
winemac: Use "host" instead of "native" in vulkan wrappers.
winewayland: Use "host" intead of "native" in vulkan wrappers.
winevulkan: Omit defaults in make_vulkan FUNCTION_OVERRIDES.
winevulkan: Remove unnecessary dispatch from make_vulkan.
ntdll: Set main_(argc|argv|envp) as early as possible.
winevulkan: Replace "loader_thunk" with dedicated dictionaries.
winevulkan: Use a dictionary in make_vulkan for manual unix thunks.
winevulkan: Use a dictionary for user driver entry points.
winevulkan: Remove redundant make_vulkan needs_unwrapping method.
winevulkan: Introduce a new convert_suffix make_vulkan helper.
winevulkan: Use an enumeration for make_vulkan unwrapping kinds.
winevulkan: Unwrap to driver or host depending on the function.
Torge Matthies (3):
winex11.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
winemac.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
wineandroid.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
Vijay Kiran Kamuju (6):
gdiplus: Add GdipDrawImageFX stub.
dsdmo: Add Distortion effect stub.
dsdmo: Add Gargle effect stub.
msvcm80: Add stub for ThrowModuleLoadException(String) function.
msvcm80: Add stub for ThrowModuleLoadException(String, Exception) function.
msvcm80: Add stub for ThrowNestedLoadModuleException function.
Yuxuan Shui (1):
dsound: Set position past the end of the buffer is invalid.
Zebediah Figura (33):
ntdll: Check for some more IP socket options at compile time.
ws2_32: Check for AI_ALL at compile time.
ntdll: Print a warning when LdrGetProcedureAddress() fails.
winmm: Reimplement joystick axis mapping.
ntdll: Allow specifying per-process channels.
winegstreamer: Allow videoconvert to parallelize in the parser.
wined3d: Explicitly bind 0 for a NULL SRV.
wined3d: Release the view's resource after destroying the view.
wined3d: Introduce an API for creating an identity SRV on a texture.
d3d9: Use wined3d_texture_acquire_identity_srv().
wined3d: Set d3d 1-9 textures in the state as SRVs.
wined3d: Remove an outdated comment.
wined3d: Use context->stream_info.position_transformed instead of context->last_was_rhw in state handlers.
wined3d: Check WINED3D_TEXTURE_POW2_MAT_IDENT instead of context->lastWasPow2Texture.
wined3d: Retrieve the FFP projection control flag from the d3d info in get_texture_matrix().
wined3d: Fix masking out the texcoord index in get_texture_matrix().
d3d9/tests: Add another test for drawing from a mapped buffer.
d3d9: Upload mapped dynamic vertex and index buffers before every draw.
d3d10core/tests: Mark a test as no longer todo.
d3d11core/tests: Mark a test as no longer todo.
quartz: Return the rect from get_default_rect() through a pointer.
quartz: Do not forward IVMRFilterConfig::SetRenderingMode() to IVMRFilterConfig9.
quartz: Improve the IVMRFilterConfig::SetNumberOfStreams() stub.
quartz: Do not forward IVMRWindowlessControl::SetVideoClippingWindow() to IVMRWindowlessControl9.
quartz: Split the VMR into two separate filters.
quartz: Specify the mode as a VMRMode.
configure: Use -mpreferred-stack-boundary=2 on i386.
quartz: Stub CLSID_AllocPresenter.
quartz: Stub IVMRSurfaceAllocator on the VMR7 presenter.
quartz: Stub IVMRWindowlessControl on the VMR7 presenter.
quartz: Implement sample allocation in the VMR7 presenter.
wined3d: Use thread-ID alerts instead of events, if available, to wait for CS packets.
wined3d: Sleep when waiting for the CS thread.
Zhiyi Zhang (16):
dplayx: Fix a memory leak (Coverity).
oledb32: Fix a memory leak (Coverity).
ntdll: Fix an out-of-bounds write (Coverity).
ntdll: Fix a memory leak (Coverity).
wined3d: Fix a use after free (Coverity).
ntdll: Fix an out-of-bounds read (Coverity).
wbemprox: Fix a memory leak (Coverity).
win32u: Find the correct DIB driver in windrv_CreateDC().
mciwave: Use matching memory allocator (Coverity).
tasklist: Fix a possible buffer overrun (Coverity).
wininet: Fix a use-after-free (Coverity).
shell32: Fix a memory leak (Coverity).
ntdll: Fix a memory leak (Coverity).
gdiplus: Fix a memory leak (Coverity).
winegstreamer: Fix a memory leak (Coverity).
winegstreamer: Fix wg_transform_get_status() result check (Coverity).
Ziqing Hui (4):
winegstreamer: Avoid media sink command leaking.
winestreamer: Implement {Begin,End}Finalize for media sink.
winegstreamer: Implement wg_muxer_finalize.
winegstreamer: Set streamheader field for h264 caps.
The Wine development release 8.21 is now available.
What's new in this release:
- High-DPI scaling and initial Vulkan support in the Wayland driver.
- Beginnings of support for ARM64EC target.
- Updates to the locale database.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.21.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.21 (total 29):
- #9127 Multiple applications require system stream support in the MPEG-I splitter (Drome Racers, Ninki Seiyuu no Tsukukurikata)
- #22596 PhotoScape unable to change/save files
- #34197 RootMagic 6 error on launch (Invalid operation GDI+ (Code 1))
- #36739 PreSonus Studio One 2.6 user interface/controls text is invisible
- #47609 Multiple apps crash on unimplemented function msvcp140.dll.??0?$codecvt@_UDU_Mbstatet@@@std@@QEAA@_K@Z (Godhood, WechatOCR)
- #52963 d3d10core:d3d10core & d3d11:d3d11 - test_resinfo_instruction() fails on Debian 11 + Intel GPU
- #53287 MxManagementCenter crashes on unimplemented function msvcp140.dll.??0?$codecvt@_SDU_Mbstatet@@@std@@QEAA@_K@Z when adding a camera
- #54554 kernel32:file & ntdll:file get unexpected count values on Windows 11
- #54839 3DMark 2000: missing benchmark information
- #54962 GDI+ text rendering does not handle carriage returns
- #55058 dbghelp:dbghelp - SymRefreshModuleList() sometimes returns 0 in 64-bit Wine
- #55165 Age of Empires II Definitive Edition quits on startup, due to WinVerifyTrust() failing on game binaries.
- #55215 user32:text - test_DrawTextCalcRect() crashes on Windows
- #55403 Office 2021 needs Windows.Management.Deployment.PackageManager
- #55437 Death Stranding: "Start" and "Back" buttons are reversed
- #55504 .NET 7 not working
- #55640 ModOrganizer 2.5.0 beta 5+ (Qt 6.5) requires a better uisettings3::GetColorValue implementation
- #55660 HID with more than 8 axis overwrites inputs after it
- #55709 Flutter apps that use the local_auth package need Windows.Security.Credentials.UI.UserConsentVerifier
- #55770 Port Royale 2: flickering in the menus and during gameplay
- #55788 Wayland driver: GNOME: no cursor over Wine windows when 2 monitors connected
- #55795 .NET 8 SDK Installer does not finish setup
- #55847 SetThreadDpiHostingBehavior not implemented
- #55886 No more audio (FreeBSD and OSS) since Wine 8.15
- #55888 Quicken stopped working after upgrading to wine 8.20
- #55898 WinSCP crashes with wine-8.20
- #55909 wine does not start with free(): invalid pointer when compiling without xrandr
- #55918 printf() can overrun the "p10s" buffer with certain values when using 24-bit precision
- #55929 wined3d: wined3d_state_get_ffp_texture() breaks DragonAge Origins
----------------------------------------------------------------
Changes since 8.20:
Alex Henrie (9):
user32/tests: Allocate clipboard data with HeapAlloc.
gdi32/tests: Free what GdiConvertToDevmodeW returns with HeapFree.
winmm/tests: Use calloc instead of HeapAlloc.
sapi: Use CRT allocation functions.
ntoskrnl/tests: Put test_input on the stack in the main_test function.
d3dcompiler_43/tests: Use CRT allocation functions.
d3dcompiler_43: Use CRT allocation functions.
comctl32/tests: Use CRT allocation functions.
d3d8: Allocate what Validate(Vertex|Pixel)Shader return with HeapAlloc.
Alexandre Julliard (72):
winebuild: Add a helper to build an ARM64EC function name.
winebuild: Include x86-64 entry points in ARM64EC builds.
makefiles: Avoid generating the .tab.c file twice with bison.
makefiles: Remove support for obsolete source variables.
winecrt0: Implement setjmp/longjmp for ARM64EC.
ntdll: Add a stub ARM64EC CPU backend.
ntdll: Don't use x86-64 assembly on ARM64EC.
ntdll: Export __chkstk_arm64ec().
makefiles: Use --defines instead of --header for compatibility with older bison.
ntdll: Set function pointers in the ARM64EC metadata on dll load.
ntdll: Implement __os_arm64x_check_call().
ntdll: Implement __os_arm64x_get/set_x64_information().
ntdll: Redirect PE function pointers through the ARM64EC redirection map.
ntdll: Remove DECLSPEC_HIDDEN usage.
make_specfiles: Generate a list of syscalls from the corresponding spec files.
ntdll: Use the generated syscall list.
win32u: Use the generated syscall list.
wow64: Use the generated syscall list.
wow64win: Use the generated syscall list.
wow64: Remove DECLSPEC_HIDDEN usage.
wow64cpu: Remove DECLSPEC_HIDDEN usage.
ntdll: Build the syscall argument array from the generated syscall list.
win32u: Set the syscall dispatcher on the PE side.
win32u: Build the syscall argument array from the generated syscall list.
win32u: Store the service table entry directly into the ntdll variable.
wow64: Build the syscall argument array from the generated list.
winebuild: Stop generating the syscall argument array and related data.
win32u: Remove DECLSPEC_HIDDEN usage.
tools: Upgrade the config.guess/config.sub scripts.
explorer: Remove DECLSPEC_HIDDEN usage.
wusa: Remove DECLSPEC_HIDDEN usage.
ntdll: Generate syscall entry points from the C code with asm macros.
win32u: Generate syscall entry points from the C code with asm macros.
winebuild: Stop generating syscall entry points.
ntdll: Add syscall entries for ARM64EC.
win32u: Add syscall entries for ARM64EC.
tiff: Fix size_t type size detection on 64-bit.
fluidsynth: Use a signed atomic type to avoid warnings.
faudio: Fix a few printf formats.
ntdll: Store the syscall table in the TEB on i386.
ntdll: Store the syscall table in the TEB on ARM.
ntdll: Directly access the syscall table variable on x86-64.
ntdll: Directly access the syscall table variable on ARM64.
ntdll: Add a syscall_cfa member to the ARM64 syscall frame.
ntdll: Add a syscall_cfa member to the ARM syscall frame.
ntdll: Connect syscall frames across user callbacks on ARM64.
ntdll: Connect syscall frames across user callbacks on ARM.
ntdll: Switch to the kernel stack to abort a thread on i386.
ntdll: Switch to the kernel stack to abort a thread on x86-64.
ntdll: Switch to the kernel stack to abort a thread on ARM64.
ntdll: Switch to the kernel stack to abort a thread on ARM.
ntdll: Get rid of the thread exit frame on i386.
ntdll: Get rid of the thread exit frame on x86-64.
ntdll: Get rid of the thread exit frame on ARM64.
ntdll: Get rid of the thread exit frame on ARM.
ntdll: Remove the signal_exit_thread wrapper.
nls: Update locale data to CLDR version 44.
fluidsynth: Make glib replacement functions inline to avoid unused function warnings.
jxr: Fix some clang compiler warnings.
vkd3d: Disable printf format checks.
bcrypt: Remove DECLSPEC_HIDDEN usage.
crypt32: Remove DECLSPEC_HIDDEN usage.
mmdevapi: Remove DECLSPEC_HIDDEN usage.
netapi32: Remove DECLSPEC_HIDDEN usage.
secur32: Remove DECLSPEC_HIDDEN usage.
mountmgr: Remove DECLSPEC_HIDDEN usage.
nsiproxy.sys: Remove DECLSPEC_HIDDEN usage.
winebus.sys: Remove DECLSPEC_HIDDEN usage.
ws2_32: Remove DECLSPEC_HIDDEN usage.
ntdll: Use RtlFindExportedRoutineByName to simplify loader initialization.
ntdll: Convert the ARM64EC context to ARM64 for syscalls.
winedump: Display PE section offsets using their virtual address.
Alexandros Frantzis (26):
win32u: Assume thread dpi for rect in NtUserIsWindowRectFullScreen.
win32u: Respect per-monitor thread dpi awareness when getting window from point.
winewayland.drv: Prepare to handle different coordinate spaces.
winewayland.drv: Present surfaces with the correct scale.
winewayland.drv: Refactor cursor code to prepare for scaling support.
winewayland.drv: Present cursors with the correct scale.
winewayland.drv: Ignore spurious size hints.
winewayland.drv: Add skeleton Vulkan driver.
winewayland.drv: Implement vkEnumerateInstanceExtensionProperties.
winewayland.drv: Implement vkCreateInstance.
winewayland.drv: Implement vkDestroyInstance.
winewayland.drv: Implement vkGetDeviceProcAddr and vkGetInstanceProcAddr.
winewayland.drv: Implement vkCreateWin32SurfaceKHR.
winewayland.drv: Implement vkDestroySurfaceKHR.
winewayland.drv: Use a client area subsurface as the Vulkan target.
winewayland.drv: Set client area subsurface position.
winewayland.drv: Set client area subsurface size.
winewayland.drv: Forward all client surface pointer events to parent.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceSupportKHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceFormats(2)KHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceCapabilities(2)KHR.
winewayland.drv: Implement vkCreateSwapchainKHR.
winewayland.drv: Implement vkDestroySwapchainKHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfacePresentModesKHR.
winewayland.drv: Implement vkGetPhysicalDeviceWin32PresentationSupportKHR.
winewayland.drv: Implement vkGetSwapchainImagesKHR.
Alfred Agrell (6):
winegstreamer: Store duration in the duration field.
winegstreamer: Add wg_format_from_caps_audio_wma function.
winegstreamer: Implement WMA <-> AMT conversion.
winegstreamer: Switch WMA decoder to use wg_format internally.
winegstreamer: Implement DMO interface for WMA decoder.
mf/tests: Test IMediaObject_GetOutputSizeInfo.
Alistair Leslie-Hughes (7):
dbghelp: Remove DECLSPEC_HIDDEN usage.
include: Add DBPROPVAL_MR_* defines.
msdasql: GetAvailableColumns correct assignment of DBCOLUMN data.
rpcrt4: Remove DECLSPEC_HIDDEN usage.
msado15: Updating recordset EditMode when field value changes.
msado15: Correct logic when setting field value.
msdasql: Check rowset pointer before assignment in ICommandText::Execute.
Anton Baskanov (14):
dmsynth: Move instrument search to synth_preset_noteon().
dmsynth: Get rid of instrument reference counting.
dmsynth: Factor out instrument and region search.
dmsynth: Fall back to the Standard drum set when there is no matching instrument or region.
dmsynth: Use FLUID_MOD_KEY for CONN_SRC_KEYNUMBER.
dmime: Factor out timeout computation.
dmime: Don't queue messages with immediate delivery type.
dmime: Always queue messages with non-immediate delivery type.
dmime: Correctly requeue messages with changed time.
dmime/tests: Move scale_music_time() and check_dmus_note_pmsg() up.
dmime/tests: Test output tool note requeueing.
dmime: Requeue the note message instead of directly queueing MIDI note-off.
dmsynth: Preserve event order when positions are equal.
dmsynth: Use time instead of position to order events.
Bartosz Kosiorek (2):
msvcrt: Fix _mbsspn_l implementation.
msvcrt: Add _mbsspnp_l implementation.
Bernhard Übelacker (2):
uxtheme: Add stub for RefreshImmersiveColorPolicyState.
notepad: Use GetDesktopWindow() when main window is not yet created.
Brendan Shanks (1):
ntdll: Don't use sysconf(_SC_PHYS_PAGES) on macOS.
Daniel Lehman (8):
msxml3/tests: Remove unused test field.
msxml3/tests: Add tests for get_xml.
msxml3/tests: Test for specific HRESULT in some tests.
msxml6/tests: Add tests for default namespace.
msxml4/tests: Add tests for default namespace.
msxml3/tests: Add tests for default namespace.
msxml4/tests: Copy create namespace tests.
msxml6/tests: Copy create namespace tests.
Davide Beatrici (1):
wineoss: Fix sound not working.
Dmitry Timoshkov (5):
user32/tests: Add some tests for font charset returned by SPI_GETICONTITLELOGFONT and SPI_GETNONCLIENTMETRICS.
user32: Return DEFAULT_CHARSET from SPI_GETICONTITLELOGFONT and SPI_GETNONCLIENTMETRICS.
shell32: Improve FolderView2::GetViewModeAndIconSize() stub.
shell32: Return S_OK from IFolderView2::SetViewModeAndIconSize() stub.
shell32: Implement IFolderView2::Items(&IID_IShellItemArray).
Eric Pouech (13):
dbghelp: Remove DMT_ entries for .DBG and .PDB files.
dbghelp: Expose some internal information about modules to winedbg.
dbghelp: No longer decorate ELF/Mach-O module names.
dbghelp: Expose PE native vs builtin information to winedbg.
dbghelp: Pretend mach-o is present in case of failure.
msvcrt/tests: Test passing environment in child process.
ucrtbase/tests: Introduce environment tests.
msvcrt: Lazily initialize ___winitenv.
msvcrt: Allocate environment variables in separate allocation chunks.
msvcrt: Fix ucrtbase environment initialization.
regsvr32: Use message boxes by default for output.
regedit: Use message boxes by default for output.
winedbg: Use dbghelp extended module info.
Esme Povirk (1):
user32/tests: Accept another variation in send_message_5.
Fabian Maurer (1):
winex11: Free correct pointer when using xf86vm.
François Gouget (2):
advapi32/tests: Fix a service stop race condition.
user32/tests: Add a trailing linefeed to ok() and skip() calls.
Hans Leidekker (5):
wldp: Improve the WldpGetLockdownPolicy() stub.
fusion: Bump version to 4.6.1590.0.
wineusb.sys: Add support for URB_FUNCTION_VENDOR_DEVICE.
ntoskrnl: Stub EtwRegisterClassicProvider() and EtwUnregister().
winhttp: Use an unsigned integer for number values in query_headers().
Jacek Caban (13):
configure: Add arm64ec PE target support.
tools: Initial ARM64EC target support.
winebuild: Use COMDAT sections for ARM64EC functions.
winecrt0: Initial ARM64EC support.
include: Don't use dllexport attribute for Wine PE modules.
msi: Store Context as MSIINSTALLCONTEXT in MSIPACKAGE.
msi/tests: Initialize pathkey in test_installprops.
gdiplus: Remove unused variable.
ole32/tests: Remove unused variable.
mshtml: Store Gecko inner window in HTMLInnerWindow and use it in HTMLTxtRange_select.
mshtml: Use Gecko inner window in HTMLXMLHttpRequestFactory_create.
mshtml: Use Gecko inner window in get_ns_selection.
mshtml: Use Gecko inner window in get_clipboard_commands.
Jactry Zeng (1):
msvcp140: Add codecvt<char32> class stub.
Louis Lenders (2):
wbemprox: Add StandardCimv2 namespace.
shcore: Add stub for RegisterScaleChangeEvent.
Marc-Aurel Zent (2):
ntdll: Implement thread-ID alerts using kqueue/kevent.
ntdll: Use IOPowerSources API to fill battery info on macOS.
Matteo Bruni (1):
opengl32: Skip filter_extensions_index() on GL contexts < 3.0.
Michael Stefaniuc (9):
dmime: Remove redundant NULL check before free().
dmime/tests: Remove superfluous casts to self.
dmime: Remove superfluous casts to self.
dmsynth: Remove superfluous casts to self.
dmusic: Remove superfluous casts to self.
gdiplus: Remove redundant NULL check before free().
sane.ds: Use ARRAY_SIZE instead of open coding it.
winegstreamer: Remove redundant NULL check before free().
quartz: Remove redudant NULL checks before CoTaskMemFree().
Myah Caron (1):
windows.ui: Support accent colors in uisettings3_GetColorValue.
Nell Hardcastle (3):
winebus.sys: Identify DualSense Edge as a DualSense controller.
mmdevapi: Override product strings for DualSense Edge.
hidclass.sys: Add DualSense Edge to device_strings.
Nikolay Sivov (6):
d3dx9/effect: Rename effect initialization helper.
evr/presenter: Handle failure to initialize D3D9.
evr/tests: Skip tests if D3D9 is unusable.
dxva2/tests: Skip tests if D3D9 is unusable.
d3dcompiler/tests: Do not crash on device creation.
oleaut32: Remove some deadcode from VarMod().
Paul Gofman (14):
combase/tests: Add tests for implicit MTA with RoGetActivationFactory().
combase: Ensure MTA existence in RoGetActivationFactory().
winepulse.drv: Change device description.
dnsapi: Handle IP address as DNS name in DnsQuery_UTF8().
gdiplus: Round width and height in gdip_format_string().
windowscodecs: Enable WICPixelFormat32bppBGRA in BMP encoder.
msvcp110: Implement std::_Xbad_function_call().
include: Add Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation runtimeclass.
include: Fix ID3DXLoadUserData definition.
d3dx9/tests: Add test for user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Implement loading top and frame user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Unify calling parse_mesh helper functions.
d3dx9: Factor out mesh_get_parse_func().
d3dx9: Support loading mesh user data in D3DXLoadMeshHierarchyFromXInMemory().
Paweł Ulita (1):
user32: Add stubs for GetWindowDpiHostingBehavior and SetThreadDpiHostingBehavior.
Piotr Caban (6):
msvcrt: Avoid temporary buffer allocation in _mbsrev_l.
msvcrt: Add _mbsrev tests.
msvcrt: Factor out env_get_index helper.
msvcrt: Factor out wenv_get_index helper.
msvcrt: Hold _ENV_LOCK when accessing environment variables.
msvcp140: Add codecvt<char16> class stub.
Rémi Bernon (47):
dmime/tests: Avoid discarding old notifications in test.
dmime/tests: Test that IDirectMusicPerformance_Stop clears messages.
dmime: Clear all pending messages in IDirectMusicPerformance_Stop.
dmime: Send MIDI_SYSTEM_RESET message on performance reset.
dmsynth: Reset synthesizer defaults on MIDI_SYSTEM_RESET.
dmime: Split segment_state_play_chunk helper.
dmime: Implement segment state repeat and looping.
gitlab: Install libxkbcommon and libxkbregistry dependencies.
winewayland.drv: Basic handling of Wayland keyboard events.
winebus.sys: Ignore events on unsupported axes.
windows.gaming.input: Fix inverted start / select gamepad buttons.
winebus.sys: Fix incorrect hid_device_set index check.
evr: Set last presented sample atomically.
ntdll: Add comments to stack switches in dispatchers.
ntdll: Remove unnecessary stack pointer CFI rules.
ntdll: Add a syscall_cfa member to the i386 syscall frame.
ntdll: Add a syscall_cfa member to the x86_64 syscall frame.
ntdll: Connect syscall frames across user callbacks on i386.
ntdll: Connect syscall frames across user callbacks on x86-64.
winewayland.drv: Configure win32u keyboard repeat delay and speed.
win32u: Implement opt-in auto-repeat for WM_(SYS)KEYDOWN messages.
mfplat: Add support for internal MFVideoFormat_A2B10G10R10.
mfplat: Add MFCreateAMMediaTypeFromMFMediaType stub.
mfplat: Add MFInitAMMediaTypeFromMFMediaType stub.
mfplat/tests: Add tests for MFInitAMMediaTypeFromMFMediaType.
mfplat/tests: Add tests for MFCreateAMMediaTypeFromMFMediaType.
mfplat/tests: Add IMFMediaType_GetRepresentation tests.
mfplat: Only convert MEDIASUBTYPE for the formats which need it.
mfplat: Use bits per pixel in uncompressed formats metadata.
mfplat: Implement MFInitAMMediaTypeFromMFMediaType.
mfplat: Implement MFCreateAMMediaTypeFromMFMediaType.
mfplat: Implement IMFMediaType_(Get|Free)Representation.
twinapi.appcore: Stub implement EasClientDeviceInformation runtimeclass.
twinapi.appcore: Succeed some EasClientDeviceInformation stub calls.
include: Use nested namespaces in windows.system.userprofile.idl.
include: Add Windows.Globalization.GeographicRegion runtimeclass.
windows.globalization: Stub Windows.Globalization.GeographicRegion factory.
windows.globalization: Stub Windows.Globalization.GeographicRegion runtimeclass.
windows.globalization: Implement GeographicRegion_get_CodeTwoLetter.
include: Add Windows.System.Profile.AnalyticsInfo runtimeclass.
twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo factory.
twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo runtimeclass.
twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamily.
twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamilyVersion.
include: Add Windows.System.UserProfile.AdvertisingManager runtimeclass.
twinapi.appcore: Stub Windows.System.UserProfile.AdvertisingManager factory.
twinapi.appcore: Return success from AdvertisingManager_get_AdvertisingId stub.
Santino Mazza (4):
mlang/tests: Test GetStrCodePages with different codepages character.
mlang: Fix GetStrCodePages for characters with different codepages.
mlang/tests: Test for codepages priority.
mlang: Implement codepages priority.
Tim Clem (3):
msvcrt: Pass INT_MAX as the length in implementations of the _mbscoll family.
winemac.drv: Move surface-related logs to the bitblt channel.
winemac.drv: Return success from query_ime_char_rect.
Zebediah Figura (18):
d3d8: Pass NOOVERWRITE to redundantly discarded maps.
wined3d: Create the XFB counter BO in wined3d_context_vk_bind_stream_output_buffers().
wined3d: Provide a null counter BO for slots with no corresponding XFB buffer bound.
wined3d: Introduce a wined3d_state_get_ffp_texture() helper.
wined3d: Trigger constant update when an SRV requiring NPOT fixup is bound.
wined3d: Set the active texture in sampler_texdim().
wined3d: Set the active texture in nvts_texdim().
ws2_32/tests: Test sending data to a peer which is closed.
http.sys: Keep connection sockets open after sending a 400 response.
ws2_32/tests: Test send() after TCP reset.
ws2_32/tests: Work around a Linux bug.
server: Return ERROR_CONNECTION_RESET when trying to recv() on a reset socket.
server: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in window messages.
ws2_32: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in WSAEnumNetworkEvents().
msvcrt: Perform a base-10 logarithm using integer math.
wined3d: Revert uses of wined3d_state_get_ffp_texture() for non-FFP textures.
ddraw/tests: Add a test for drawing to a flippable surface.
ddraw: Read the current RTV before flipping any surfaces.
Zhiyi Zhang (13):
uiribbon: Fix IUIFramework::SetUICommandProperty() prototype.
msdasql/tests: Fix memory leaks.
msdasql/tests: Add more IDBProperties::GetProperties() tests.
msdasql: Return all initialization properties if no property ID is specified in dbprops_GetProperties().
oledb32: Add missing const modifiers.
oledb32/tests: Use wide-char string literals.
oledb32/tests: Remove test_odbc_provider().
oledb32/tests: Fix memory leaks.
oledb32/tests: Add more IDataInitialize::GetInitializationString() tests.
oledb32: Remove the trailing semicolon.
oledb32: Fix property count in datainit_GetInitializationString().
oledb32: Quote values containing semicolons.
oledb32: Remove unnecessary properties in datainit_GetInitializationString().
Ziqing Hui (2):
winestreamer: Introduce media_sink_write_stream.
winegstreamer: Implement wg_muxer_read_data.
The Wine development release 8.20 is now available.
What's new in this release:
- More DirectMusic implementation.
- Protocol associations exported to the Unix desktop.
- Code cleanups in preparation for code freeze.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.20.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.20 (total 20):
- #22904 Register URL protocol handlers under Linux
- #52716 Sending key stroke (using [System.Windows.Forms.SendKeys]::SendWait) fails (seems to go into a loop?)
- #53213 d3d10core:d3d10core & d3d11:d3d11 - test_texture() fails in the TestBot VMs
- #53217 d3d10core:d3d10core & d3d11:d3d11 - test_cube_maps() crashes on gitlab-debian-32
- #53218 d3d10core:d3d10core & d3d11:d3d11 - test_uint_shader_instructions() fails on llvmpipe
- #54399 d3d11:d3d11 - test_vertex_formats() fails on Windows 11 + AMD
- #54519 d3d9:visual - test_mipmap_upload() fails on AMD and Nvidia GPUs
- #54780 UndertaleModTool display regression since wine-staging 8.4
- #55316 d3d10core:d3d10core & d3d11:d3d11 fail systematically on w11pro64-amd
- #55608 NAM won't open on new update
- #55679 warframe doesn't start in experimental wow64 mode
- #55715 Folio Views 4 crashes when storing a changed file
- #55742 wine crashes when launching Captvty V3
- #55782 System.Windows.Forms expects CreateActCtx() to succeed with truncated ACTCTX structure
- #55789 Spectralayers 9 Pro crashes on audio playback
- #55797 Max Payne (2001) has no sound
- #55838 wget.exe fails to download anything (regression)
- #55839 NtCreateSymbolicLinkObject fails with STATUS_OBJECT_TYPE_MISMATCH
- #55842 Neverwinter Nights 2 Complete (GOG.com) crashes while starting a new game from the menu
- #55856 cygwin hangs during installation at libzstd1-1.5.5-1
----------------------------------------------------------------
Changes since 8.19:
Alex Henrie (63):
find/tests: Use CRT allocation functions.
msscript: Use CRT allocation functions.
uninstaller: Use CRT allocation functions.
uxtheme/tests: Use CRT allocation functions.
loader: Associate Wine with internet shortcuts.
winemenubuilder: Disallow desktop integration for internet shortcuts.
d3d10core/tests: Use CRT allocation functions.
d3d11/tests: Use CRT allocation functions.
d3d8: Use CRT allocation functions.
d3d8/tests: Use CRT allocation functions.
d3d9: Use CRT allocation functions.
d3d9/tests: Use CRT allocation functions.
ddraw: Use CRT allocation functions.
ddraw/tests: Use CRT allocation functions.
dxgi: Use CRT allocation functions.
dxgi/tests: Use CRT allocation functions.
dplayx: Use CRT allocation functions.
ninput: Use CRT allocation functions.
browseui: Use the wcsdup function instead of reimplementing it.
fsutil/tests: Use CRT allocation functions.
user32/tests: Use CRT allocation functions.
sechost: Use CRT allocation functions.
quartz: Use debugstr_fourcc instead of debugstr_an.
adsldp: Remove unused heap.h include.
avrt: Use CRT allocation functions.
dhcpcsvc: Use CRT allocation functions.
dhcpcsvc/tests: Use CRT allocation functions.
diasymreader: Use CRT allocation functions.
dsuiext: Use CRT allocation functions.
iccvid: Use CRT allocation functions.
inseng: Use CRT allocation functions.
jsproxy: Use CRT allocation functions.
mp3dmod: Use CRT allocation functions.
msado15: Remove unused heap.h include.
msasn1: Use CRT allocation functions.
msdasql: Use CRT allocation functions.
msident: Use CRT allocation functions.
mspatcha: Use CRT allocation functions.
mstask: Use CRT allocation functions.
msvfw32/tests: Use CRT allocation functions.
netio: Use CRT allocation functions.
wtsapi32: Use CRT allocation functions.
gdiplus/tests: Use CRT allocation functions.
include: Annotate MIDL_user_allocate with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
gdi32/tests: Use CRT allocation functions.
winmm/tests: Use CRT allocation functions.
setupapi/tests: Use CRT allocation functions.
virtdisk/tests: Use CRT allocation functions.
vulkan-1/tests: Use CRT allocation functions.
winemenubuilder: Create .desktop files for programs that open URIs.
winecfg: Mention protocol associations.
winegstreamer: Remove unused heap.h include.
msiexec: Use CRT allocation functions.
windows.media.devices: Use CRT allocation functions.
winecoreaudio: Remove unused heap.h include.
shdocvw: Use CRT allocation functions.
urlmon/tests: Use CRT allocation functions.
ddrawex: Use CRT allocation functions.
devenum: Use CRT allocation functions.
wmvcore: Use CRT allocation functions.
Revert "dsound: Get rid of the global device GUID arrays.".
dsound: Dynamically allocate the global device GUID arrays.
nsi: Use CRT allocation functions.
Alexandre Julliard (58):
server: Fix returned error when creating an existing symlink.
user32: Enable a few more hook tests.
ntdll: Also update code ranges for pure ARM64EC binaries.
ntdll: Remove an unused global variable.
ntdll: Only check Wow64 system directories for 32-bit platforms.
kernelbase: Only support Wow64 system directories for 32-bit platforms.
wow64: Only support Wow64 system directories for 32-bit platforms.
server: Only create Wow64 system directories for 32-bit platforms.
winegcc: Use a temp file for the implicitly created import library.
makefiles: Always use the global SOURCES variable for .idl files.
makefiles: Always use the global SOURCES variable for .rc files.
makefiles: Always use the global SOURCES variable for .c files.
msvcrt: Use the public definitions for the UNDNAME_ flags.
winedump: Re-import the demangling code from msvcrt.
opengl32: Make the GL driver function table const.
odbc32: Make the Unix function table const.
include: Make sure that Unix function tables are always const.
include: Use NTSYSAPI for all ntdll exports.
include: Use proper dllimports for win32u functions.
include: Use proper dllimports for dbghelp functions.
include: Use proper dllimports for iphlpapi functions.
include: Use proper dllimports for setupapi functions.
include: Use proper dllimports for uxtheme functions.
include: Use proper dllimports for cryptdlg functions.
include: Use proper dllimports for eventlog functions.
include: Use proper dllimports for httpapi functions.
include: Use proper dllimports for url functions.
include: Use proper dllimports for mimeole functions.
include: Use proper dllimports for winmm functions.
include: Use proper dllimports for pathcch functions.
include: Use proper dllimports for propsys functions.
include: Use proper dllimports for userenv functions.
include: Use proper dllimports for credui functions.
include: Use proper dllimports for winscard functions.
include: Use proper dllimports for slc functions.
include: Use proper dllimports for wmi functions.
include: Use proper dllimports for olectl functions.
include: Use proper dllimports for more wininet functions.
ddraw: Use SecureZeroMemory to clear the clipper vtbl.
include: Remove DECLSPEC_HIDDEN from standard Dll* functions.
include: Remove DECLSPEC_HIDDEN from winecrt0 functions.
include: Remove DECLSPEC_HIDDEN from RPC functions.
include: Remove DECLSPEC_HIDDEN from GUID definitions.
widl: Remove DECLSPEC_HIDDEN from generated files.
configure: Use hidden visibility also when building Unix libraries.
wineoss.drv: Allocate the MIDI device array dynamically.
winealsa.drv: Allocate the MIDI device array dynamically.
rpcrt4: Generate stubless thunks at compile time.
rpcrt4: Generate vtbl delegating thunks at compile time.
win32u: Fix handling of process default DPI awareness.
winevdm: Don't claim that 16-bit apps are DPI aware.
makefiles: Support arch-specific IDL flags.
widl: Make the alignment option generic instead of win32/win64-specific.
configure: Remove no longer used WINE_TRY_SHLIB_FLAGS macro.
configure: Assume that pthread.h is present.
configure: Consistently use HOST_ARCH for platform checks.
opengl32: Remove DECLSPEC_HIDDEN usage.
winevulkan: Remove DECLSPEC_HIDDEN usage.
Alfred Agrell (14):
winegstreamer: Don't read format from unparsed MPEG audio.
winegstreamer: Clamp QoS events to stay inside the stream's running time.
winegstreamer: Seek to end of stream instead of to stream duration.
winegstreamer: Include the framerate when converting video format to GstCaps.
winegstreamer: Improve and clean up some debug logs.
winegstreamer: Implement IAMStreamSelect::Count in CLSID_MPEG1Splitter.
winegstreamer: Implement parts of IAMStreamSelect::Info in CLSID_MPEG1Splitter.
winegstreamer: Add output_compressed parameter to wg_parser_create().
winegstreamer: Use the new output_compressed property instead of mpegaudioparse in MPEG splitter.
winegstreamer: Add WG_MAJOR_TYPE_VIDEO_MPEG1 media type.
winegstreamer: Add program stream and video output support to CLSID_MPEG1Splitter.
winegstreamer: Implement CLSID_CMpegVideoCodec.
quartz/tests: Add tests for new CLSID_MPEG1Splitter functionality.
quartz/tests: Add tests for CLSID_CMpegVideoCodec.
Alistair Leslie-Hughes (26):
include: Add some DBCOLUMN defines.
msdasql: Use DBINITCONSTANTS to get guid values.
hlink: Remove DECLSPEC_HIDDEN usage.
msimtf: Remove DECLSPEC_HIDDEN usage.
sechost: Remove DECLSPEC_HIDDEN usage.
browseui: Remove DECLSPEC_HIDDEN usage.
wintrust: Remove DECLSPEC_HIDDEN usage.
uiautomationcore: Remove DECLSPEC_HIDDEN usage.
gameux: Remove DECLSPEC_HIDDEN usage.
propsys: Remove DECLSPEC_HIDDEN usage.
hnetcfg: Remove DECLSPEC_HIDDEN usage.
sti: Remove DECLSPEC_HIDDEN usage.
advpack: Remove DECLSPEC_HIDDEN usage.
mstask: Remove DECLSPEC_HIDDEN usage.
uiribbon: Remove DECLSPEC_HIDDEN usage.
itss: Remove DECLSPEC_HIDDEN usage.
rsaenh: Remove DECLSPEC_HIDDEN usage.
ntoskrnl.exe: Remove DECLSPEC_HIDDEN usage.
mpr: Remove DECLSPEC_HIDDEN usage.
msdasql: IColumnsRowset::GetAvailableColumns return 3 meta columns to allow updating of a row.
comdlg32: Remove DECLSPEC_HIDDEN usage.
msacm32: Remove DECLSPEC_HIDDEN usage.
uxtheme: Remove DECLSPEC_HIDDEN usage.
wmiutils: Remove DECLSPEC_HIDDEN usage.
msi: Remove DECLSPEC_HIDDEN usage.
winhttp: Remove DECLSPEC_HIDDEN usage.
Anton Baskanov (12):
dmsynth: Offset the loop points by 8 frames.
dmsynth: Handle pitch bend events.
dmsynth: Use correct transform for controls.
dmsynth: Correctly handle internal connections with controls.
dmsynth: Activate reverb and chorus according to effect flags.
dmsynth: Return void from add_mod_from_connection().
dmsynth: Keep track of voice/wave mapping.
dmsynth: Use generators to set root key and fine tune.
dmsynth: Create one FluidSynth sample per wave.
dmsynth: Remove useless private data checks.
dmsynth: Free the allocated presets manually.
dmsynth: Don't leak modulators.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (35):
gdiplus/tests: Add default tension tests for GdipAddPath*Curve.
gdiplus: Fix default tension for GdipAddPathCurve and GdipAddPathClosedCurve.
gdiplus/tests: Add tests for GdipSetPenTransform.
gdiplus: Add additional check to GdipSetPenTransform.
gdiplus/tests: Extend AddPathCurve3 test with offset and nseg.
gdiplus: Move main Curve implementation from GdipAddPathCurve2 to GdipAddPathCurve3.
gdiplus: Fix GdipAddPathCurve3 curve calculation with offset and nseg variables.
msvcrt: Add _mbsdec_l implementation.
msvcrt: Add _mbslwr_l implementation.
msvcrt: Add _mbsrchr_l implementation.
msvcrt: Add _cprintf_l implementation.
msvcrt: Add _cwprintf_l implementation.
msvcrt: Add _mbsnbcat_l implementation.
msvcrt: Add _mbsbtype_l implementation.
msvcrt: Fix _mbslwr_s_l implementation.
msvcrt: Add _mbsupr_l implementation.
msvcrt: Add _mbsnbcmp_l implementation.
msvcrt: Add _mbsnbcnt_l implementation.
msvcrt: Add _mbsncpy_l implementation.
msvcrt: Add _mbsnicmp_l implementation.
msvcrt: Fix _strnicmp and _strnicmp_l implementation.
msvcrt: Add _mbsnbcat_s_l implementation.
msvcrt: Add _mbsnbcpy_l implementation.
msvcrt: Add _mbsnbicmp_l implementation.
msvcrt: Add _mbsnbset_l implementation.
msvcrt: Add _mbsncat_l implementation.
msvcrt: Add _mbsnccnt_l implementation.
msvcrt: Add _mbsnset_l implementation.
msvcrt: Add _mbspbrk_l implementation.
msvcrt: Add __iswcsym implementation.
msvcrt: Add __iswcsymf implementation.
msvcrt: Add _mbsncmp_l implementation.
msvcrt: Add _mbsrev_l implementation.
msvcrt: Add _mbsset_l implementation.
msvcrt: Add _mblen_l implementation.
Brendan Shanks (5):
localspl: Ensure unixlib function tables and enum stay in sync.
qcap: Ensure unixlib function tables and enum stay in sync.
winemac.drv: Fix minimizing windows programmatically from Win32 when Stage Manager is enabled.
ntdll/unix: Replace some malloc/sprintf calls with asprintf.
ntdll/unix: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
Christian Costa (1):
wined3d: Add entry info for NVidia RTX 3070.
Connor McAdams (5):
uiautomationcore: Implement IRawElementProviderFragment::GetEmbeddedFragmentRoots for MSAA providers.
uiautomationcore: Don't return failure from ::GetEmbeddedFragmentRoots stub on the default BaseHwnd provider.
uiautomationcore: Don't set HRESULT when attempting to advise currently focused HUIANODE.
uiautomationcore: Return TRUE from UiaClientsAreListening().
oleaut32: Lock ITypeLib2 interface reference count behind the typelib cache critical section on Release.
Daniel Lehman (4):
msxml4/tests: Use wide string literals.
msmxl4/tests: Add tests for get_xml.
msxml6/tests: Use wide string literals.
msxml6/tests: Add tests for get_xml.
Dmitry Timoshkov (9):
kernel32/tests: Add some tests for CreateActCtx() with different structure sizes.
kernel32: Add ACTCTX field limit checks to CreateActCtxA().
ntdll: Add ACTCTX field limit checks to RtlCreateActivationContext().
uxtheme/tests: Move the IsThemePartDefined() test before hTheme handle is closed.
uxtheme/tests: Add a test for OpenThemeData("explorer::treeview").
uxtheme: Parse app/class name in OpenThemeData().
uxtheme/tests: Add a test for SetWindowTheme/OpenThemeData sequence.
uxtheme: Move fall back to default class to MSSTYLES_OpenThemeClass().
uxtheme: If the application class is already set then OpenThemeData() should fail.
Eric Pouech (22):
dpnsvr: Move to GUI subsystem (as native).
spoolsv: Move to GUI subsystem (as native).
svchost: Move to GUI subsystem (as native).
services: Move to GUI subsystem (as native).
pdh: Zero out magic fields with SecureZeroMemory().
dssenh: Use SecureZeroMemory to clear magic fields.
secur32: Use SecureZeroMemory to clear magic fields.
user32: Use SecureZeroMemory to clear magic fields.
winscard: Use SecureZeroMemory() to clear magic fields.
wintrust: Use SecureZeroMemory() to clear magic fields.
wsdapi: Use SecureZeroMemory() to clear magic fields.
wininet: Use SecureZeroMemory() to clear magic fields.
msvcrt/tests: Improve environment tests (initial conditions).
msvcrt/tests: Add tests about allocation of environment entries.
msvcrt/tests: Add tests about intricating kernel32 and msvcrt env calls.
msvcrt/tests: Test adding Unicode env variables.
msvcrt: Use msvcrt heap for allocating envionment data.
msvcrt: Fix getmainargs() family to return correct environment block.
taskmgr: No longer use console/file output APIs.
wordpad: Remove unneeded output messages.
mshta: No longer use console / crt API.
winebrowser: Remove misleading comment.
Esme Povirk (1):
user32/tests: Improve timer measurement method.
Fabian Maurer (2):
winegstreamer: Implement IWMResamplerProps.
msvcrt: Fsetpos resets EOF flag.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (24):
mshtml: Keep ref from the document node to the inner window.
mshtml: Properly traverse document nodes.
mshtml/tests: Test parent window links after navigation.
mshtml: Keep ref from the ImageElementFactory to the inner window.
mshtml: Keep ref from the OptionElementFactory to the inner window.
mshtml: Keep ref from the XMLHttpRequestFactory to the inner window.
mshtml: Keep ref from LocalStorage and SessionStorage to the inner window.
mshtml: Keep ref from the OmHistory to the inner window.
mshtml: Keep refs from the Attributes and AttributeCollection to the Element.
mshtml: Keep ref from the associated Style to the Element.
mshtml: Traverse and unlink the Element referenced from the CurrentStyle.
mshtml: Traverse and unlink the style_sheet referenced from the StyleElement.
mshtml: Release the returned lists from Gecko's QuerySelectorAll even on error.
mshtml: Fix window leak on error in async_stop_request.
jscript: Fix EnumVARIANT leak in enumerators.
jscript: Fix value leak in Array.shift.
jscript: Fix array leak in Array.filter.
jscript: Don't addref before calling jsdisp_propput_name.
jscript: Fix value arg leak in transform_json_object.
jscript/tests: Fix variant leak after conversion when testing VariantChangeType.
jscript/tests: Fix Date object leak in test_default_value.
mshtml/tests: Fix BindInfo leak in htmldoc test.
mshtml: Return outer window to external callers.
mshtml: Don't NULL out the doc's window when unlinking the window.
Hans Leidekker (4):
gdi32/tests: Skip broken Noto Color Emoji font in character width test.
win32u: Get rid of a special case for non-scalable fonts in NtGdiGetCharABCWidthsW().
ntdll: Bump current build number to 19043 (Win10 2009).
advapi32/tests: Get rid of an unreliable eventlog test.
Jacek Caban (14):
configure: Disable -Wmicrosoft-enum-forward-reference warnings.
msctf: Avoid implicit enum casts.
qmgr: Avoid implicit enum casts.
shcore: Avoid implicit enum casts.
webservices: Store xmlbuf encoding as unsigned int.
gdiplus/tests: Avoid implicit casts from MetafileType to EmfType.
gdiplus: Avoid implicit enum casts.
d3d11: Explicitly convert enums in d3d_depthstencil_state_create.
d3d11/tests: Use D3D11_INPUT_CLASSIFICATION variant of D3D10_INPUT_CLASSIFICATION.
d3d8: Use designated initializers in tss_lookup.
ddraw: Use designated initializers in tss_lookup.
kernel32/tests: Remove unused variable.
msvcrt/tests: Don't define structs types inside other struct declaration.
msvcp60: Use char type for FROZEN macro.
Louis Lenders (2):
uxtheme: Add stub for SetPreferredAppMode.
uxtheme: Add stub for AllowDarkModeForWindow.
Nikolay Sivov (6):
include: Correct ID3D10EffectPool interface uuid.
shell32: Fix string size condition check (Coverity).
mf/samplegrabber: Release current media type on shutdown.
mf/samplegrabber: Check shutdown state when setting the clock.
mf/samplegrabber: Reset the clock before OnShutdown().
mf/samplegrabber: Use OnSetPresentationClock() on shutdown as well.
Owen Rudge (1):
comdlg32: Perform case-insensitive comparison of extension in file dialog.
Paul Gofman (13):
mfplat/buffer: Use absolute pitch in memory_1d_2d_buffer_[Un]Lock().
mfplat/tests: Add more tests for copying 2d buffers.
mfplat/buffer: Do not flip in memory_2d_buffer_ContiguousCopy{From|To}().
mfplat/sample: Refactor sample_CopyToBuffer().
mfplat/sample: Optimize copying to 2d buffer.
ntdll: Handle LFH blocks allocated in large blocks in heap_validate_ptr().
ntdll: Fix pending free block validation in heap_validate() for LFH blocks.
kernelbase: Don't inherit all the handles in conhost.exe.
user32: Return empty string from LoadStringW() if resource is not found.
user32: Put 0 to output string even for 1 char buffer in LoadStringW().
kernelbase: Return empty string from LoadStringW() if resource is not found.
kernelbase: Put 0 to output string even for 1 char buffer in LoadStringW().
winmm: Fix pszSound allocation in PlaySound_Alloc().
Rémi Bernon (24):
dmime: Send notification messages with DMUS_PMSGF_TOOL_IMMEDIATE.
dmime/tests: Add a track and longer segment to notifications tests.
dmime: Use the current time if PlaySegmentEx start_time is 0.
dmime: Send DMUS_NOTIFICATION_SEGALMOSTEND before DMUS_NOTIFICATION_SEGEND.
dmime/tests: Check more notification / dirty messages fields.
dmime: Fix performance message requeue-ing from the message thread.
dmband: Support start_time and end_time Play parameters.
dmime: Support start_time and end_time Play parameters.
dmime: Implement segment state chunked playback.
dmime: Send notification messages from segment_play_chunk.
dmime/tests: Test IDirectMusicPerformance_GetSegmentState.
dmime: Implement IDirectMusicPerformance_GetSegmentState semi-stub.
dmime/tests: Test tempo track Play and DMUS_PMSGT_TEMPO messages.
dmime/tests: Test tempo track GetParam with GUID_TempoParam.
dmime: Fix tempo track GetParam with GUID_TempoParam implementation.
dmime/tests: Add helpers to scale and check music time with tempo.
dmime/tests: Test playing tempo track effect on performance times.
dmime: Support playing secondary and control segments.
dmime: Better implement performance times with tempo track.
dmime: Rename struct pchannel_block to struct channel_block.
dmime: Use a dedicated struct channel to hold performance channels.
dmime: Introduce a new performance_get_channel helper.
dmime: Simplify and rename channel_block_set to channel_block_init.
dmime: Avoid leaking performance channel block ports.
Santino Mazza (1):
mf: Handle errors with source event generator in session.
Shaun Ren (2):
msttsengine: Add stub dll.
msttsengine: Add ISpTTSEngine stub.
Sven Baars (1):
advapi32/tests: Fix a typo (Coverity).
Tim Clem (1):
msvcrt: Promote the log from _wassert from a trace to an error.
Victor Chiletto (1):
msvcrt, ucrtbase: Introduce rewind_preserve_stack.
Yuxuan Shui (2):
include: Add InterlockedExchangeAdd16.
ntdll: Tweak the binary representation of SRWLOCK.
Zebediah Figura (28):
ws2_32/tests: Add a regression test for interaction of sock_reselect() with event select.
server: Only set sock->event when the event is first noticed.
d3d11/tests: Do not test the w component for DXGI_FORMAT_B8G8R8X8_UNORM in test_vertex_formats().
d3d9/tests: Do not test sysmem textures in test_mipmap_upload().
d3d8/tests: Do not test sysmem textures in test_mipmap_upload().
d3d10core/tests: Do not test GSInvocations in test_pipeline_statistics_query().
d3d11/tests: Do not test GSInvocations in test_pipeline_statistics_query().
d3d10core/tests: Use slightly different values in test_sample_c_lz().
d3d11/tests: Use slightly different values in test_sample_c_lz().
wined3d: Pass a wined3d_texture to wined3d_sampler_desc_from_sampler_states().
wined3d: Handle texture LOD in wined3d_sampler_desc_from_sampler_states().
wined3d: Pass shader type and unmodified index to context_preload_texture().
d3d8: Store the texture's parent device as a d3d8_device pointer.
wined3d: Translate sampler states to sampler objects in wined3d_device_apply_stateblock().
wined3d/glsl: Clamp ftou lower bound to zero.
wined3d/glsl: Clamp ftou upper bound to UINT_MAX.
wined3d/glsl: Clamp ftoi lower bound to INT_MIN.
wined3d/glsl: Clamp ftoi upper bound to INT_MAX.
wined3d/glsl: Flush NaN to zero in ftoi.
gitlab: Enable d3d10core:d3d10core and d3d8:visual.
mfplat/tests: Shut down the media source in test_create_from_file_handler_callback_Invoke().
d3d9/tests: Test that GetDC() records a dirty rect.
wined3d: Record a dirty rect in wined3d_texture_create_dc().
wined3d: Introduce a texture_binding_might_invalidate_ps() helper.
wined3d: Check the wined3d resource type and usage instead of the GL target in texture_binding_might_invalidate_ps().
wined3d: Invalidate all sampler slots to which a texture is bound in texture_resource_unload().
wined3d: Remove the no longer used "sampler" field of struct wined3d_texture.
wined3d: Do not use atomics to update the resource bind count.
Zhiyi Zhang (6):
user32/tests: Add more parameter checks for SetWindowsHookExA().
win32u: Return ERROR_GLOBAL_ONLY_HOOK when a thread ID is specified for global hooks.
win32u: Return ERROR_ACCESS_DENIED for WH_JOURNALRECORD and WH_JOURNALPLAYBACK.
ddraw/tests: Test WS_EX_TOPMOST restoration.
ddraw: Restore WS_EX_TOPMOST in exclusive fullscreen mode if it got removed.
uxtheme: Fix a test failure.
Ziqing Hui (10):
winegstreamer: Use NTSTATUS value in wg_muxer_create.
winegstreamer: Introduce link_src_to_sink.
winegstreamer: Use gst_element_get_compatible_pad.
winegstreamer: Introduce find_element_factories.
winegstreamer: Introduce factory_create_element.
winegstreamer: Implement wg_muxer_add_stream.
winegstreamer: Create parser for muxer stream.
winegstreamer: Implement wg_muxer_start.
winegstreamer: Implement ProcessSample for media sink.
winegstreamer: Implement wg_muxer_push_sample.
The Wine development release 8.19 is now available.
What's new in this release:
- Mono engine updated to version 8.1.0.
- More DirectMusic implementation.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.19.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.19 (total 44):
- #8174 Ares P2P 2.x embedded media player fails to play .mpg files
- #9027 No sound for rise of nations - all versions
- #23489 Buccaneer: quits silently when entering the Tavern
- #32395 Neverwinter Nights 2 : Broken sky with anti-aliasing turned on
- #32896 Serious Sam: The Random Encounter has no sound
- #34751 Aura: Fate of the Ages: sounds aren't played, but music works fine
- #43372 valgrind shows a definite leak in dlls/d3dx9_36/tests/texture.c
- #45072 Enabling csmt causes 100% CPU use in MikuMikuDance
- #45135 Black Rockman Shooter has no sound
- #45144 GED Keeper 2 (.NET 2.x based genealogical database app) fails to run with Wine-Mono
- #45893 Midtown Madness: Extremely Slow with csmt on
- #47767 Airport Mania First Flight - Very long loading times and awful performance
- #49731 Shtriga: Summer Camp freezes with a black screen (PE-build only)
- #49804 Multiple WPF 4.5+ .NET applications fail to run with Wine-Mono due to missing support of Ribbon control 'System.Windows.Controls.Ribbon' (OpenGL Extensions Viewer 6.1.2, CapFrameX v1.6.0)
- #52014 Memento Mori freezes on launch
- #52396 Stack overflows when running any 64-bit .Net 6 (.Net Core) program
- #53264 mmdevapi:capture - test_audioclient() fails systematically on Windows 10 1909+
- #54704 Black screen with Dungeon Keeper 2 and Wine v8.4
- #55223 d3dx10_34:d3dx10, d3dx10_35:d3dx10, d3dx10_39:d3dx10 & d3dx10_42:d3dx10 sometimes fail on w11pro64-amd
- #55228 kernel32:loader - test_ResolveDelayLoadedAPI() fails on Windows 10+
- #55267 gdi32:font - The 64-bit test_RealizationInfo() gets invalid parameter errors on Windows 8+
- #55269 ntdll:info - The 32-bit test_query_process_debug_port() gets a bad len on Windows 8 64-bit
- #55555 secur32:secur32 - test_ticket_cache() crashes when Kerberos support is missing
- #55560 The 64-bit dbghelp:dbghelp times out in Wine
- #55577 advapi32:registry - The 64-bit test_performance_keys() sometimes crashes on Windows 10
- #55580 The 32-bit uiautomationcore:uiautomation sometimes times out in Wine
- #55605 winmm:mci sometimes gets an assertion in GitLab CI's Wine tests
- #55650 dbghelp:dbghelp fails on macOS
- #55654 Multiple Direct3D 8/9 applications have increased memory usage / run out of memory since Wine 8.14
- #55688 dmusic:dmusic - test_default_gm_collection() crashes on macOS
- #55718 Word 2007 is not able to print multiple copies of a page
- #55720 msxml3:domdoc - test_domnode() fails in Wine
- #55722 dmime:dmime - test_band_track_play() fails on macOS
- #55725 The 32-bit amstream:amstream gets an assert and times out on the GitLab CI
- #55744 psapi:psapi_main fails in Wine
- #55745 tasklist.exe:tasklist - test_filter() fails to list ntdll.dll in Wine
- #55746 wscript.exe:run - Dispatch_Invoke() gets wrong WScript.FullName in Wine
- #55771 uxtheme:system - test_ShouldSystemUseDarkMode() fails on Windows 7 to 10 1909
- #55772 uxtheme:system - test_EnableThemeDialogTexture() fails on Windows 7
- #55777 user32:win - test_GetWindowModuleFileName() sometimes unexpectedly gets a filename on Windows 7
- #55790 Unreal II The Awakening: general protection fault when loading a level
- #55792 Tron 2.0 crashes before the menu appears
- #55808 Catalan translation inserted twice in wine.desktop
- #55817 Myst V (GOG.com, demo): access violation when NPC begins to talk
----------------------------------------------------------------
Changes since 8.18:
Akihiro Sagawa (1):
cmd: Reset totals after trailer output.
Alex Henrie (13):
evr: Use debugstr_fourcc instead of debugstr_an.
iccvid: Use debugstr_fourcc instead of debugstr_an.
d3d10: Use debugstr_fourcc instead of debugstr_an.
dwrite: Use the debugstr_fourcc function instead of reimplementing it.
d3dx9_36: Use debugstr_fourcc instead of debugstr_an.
d3dcompiler_43: Use debugstr_fourcc instead of debugstr_an.
loader: Associate Wine with batch files.
winemenubuilder: Disallow desktop integration for batch files.
loader: Translate wine.desktop to Catalan.
loader: Add separating dash to Spanish translation of wine.desktop.
win32u: Use debugstr_fourcc instead of debugstr_an.
wined3d: Use debugstr_fourcc instead of debugstr_an.
commdlg: Set lCustData the same in GetSaveFileName as GetOpenFileName.
Alexandre Julliard (20):
makefiles: Always use the global SOURCES variable for .man.in files.
makefiles: Always use the global SOURCES variable for .svg files.
makefiles: Always use the global SOURCES variable for .l files.
makefiles: Always use the global SOURCES variable for .y files.
ntdll: Move the relay trace on thread startup to LdrInitializeThunk().
ntdll: Move RtlUserThreadStart implementation to the CPU backends.
ntdll: Use .seh handler in RtlUserThreadStart on ARM64.
ntdll: Also send segment registers to the server on suspend.
zydis: Disable assertions.
dbghelp: Fix a compiler warning on ARM64.
Revert "loader: Translate wine.desktop to Catalan".
ntdll: Simplify platform checks for exception handling functions.
msvcrt: Simplify platform checks for exception handling functions.
msvcrt: Export more exception handling functions on ARM platforms.
kernel32: Export the Ums functions on ARM64.
kernelbase: Export the extended context functions on all platforms.
ntdll: Export RtlCopyMemory on ARM platforms.
vcruntime140_1: Only build for x86-64.
winebuild: Always use .balign for alignment.
shlwapi: Remove unneeded UNALIGNED attributes.
Alexandros Frantzis (2):
winewayland.drv: Ensure outputs can access xdg information robustly.
winewayland.drv: Ensure the logical output dimensions have sane values.
Alistair Leslie-Hughes (4):
msxml: Always increase error count when detected.
msxml3: Don't call qsort if we have no data (Coverity).
msxml3: Move tid_NULL out of possible enum values.
msxml3: Do not leak bind context on error paths (Coverity).
Arkadiusz Hiler (1):
winex11.drv: Send missed KEYUP events on KeymapNotify.
Bartosz Kosiorek (4):
gdiplus: Optimize GDI32_GdipDrawPath (via prepare_dc function).
gdiplus: Improve performance of units_to_pixels by not using division.
gdiplus/tests: Add test for GdipIsOutlineVisiblePathPoint.
gdiplus: Fix transformation in GdipIsOutlineVisiblePathPoint.
Brendan Shanks (9):
configure: Only build Wayland if linux/input.h is present.
winemac.drv: Replace sprintf with snprintf to avoid deprecation warnings.
makedep: Replace sprintf with snprintf to avoid a deprecation warning on macOS.
ctapi32: Ensure unixlib function tables and enum stay in sync.
dnsapi: Ensure unixlib function tables and enum stay in sync.
wpcap: Ensure unixlib function tables and enum stay in sync.
winscard: Ensure unixlib function tables and enum stay in sync.
winemac.drv: Disable declaration-after-statement warnings in ObjC files.
winemac.drv: Fix minimizing windows when Stage Manager is enabled.
Connor McAdams (15):
uiautomationcore: Release node lresult upon failure to allocate a node in uia_node_from_lresult().
uiautomationcore/tests: Add tests for COM API EVENT_OBJECT_FOCUS translation.
uiautomationcore: Potentially raise focus event for serverside providers in response to EVENT_OBJECT_FOCUS.
uiautomationcore: Potentially raise focus event on the currently focused serverside provider in response to EVENT_OBJECT_FOCUS.
uiautomationcore: Add support for translating EVENT_OBJECT_FOCUS for native MSAA IAccessibles.
uiautomationcore/tests: Add tests for cached value helper functions in the COM API.
uiautomationcore: Implement IUIAutomationElement::get_CachedControlType.
uiautomationcore: Implement IUIAutomationElement::get_CachedHasKeyboardFocus.
uiautomationcore: Implement IUIAutomationElement::get_CachedIsKeyboardFocusable.
uiautomationcore: Implement IUIAutomationElement::get_CachedName.
uiautomationcore: Implement IUIAutomationElement::get_CachedBoundingRectangle.
uiautomationcore: Remove accidentally leftover FIXME.
uiautomationcore: Only print FIXME messages for missing default clientside providers once.
uiautomationcore/tests: Fix test failure on Win10v1709.
uiautomationcore: Don't return failure from ::get_FragmentRoot stub on the default BaseHwnd provider.
Daniel Lehman (1):
advapi32/tests: Add ReadEventLogW tests for direction.
Dmitry Timoshkov (4):
crypt32: Avoid truncating unicode chars.
crypt32/tests: Add some tests for quoted RDN values.
crypt32: Add support for CERT_NAME_STR_NO_QUOTING_FLAG to CertNameToStr().
cryptui: Use CertNameToStr(CERT_NAME_STR_NO_QUOTING_FLAG) to disable quoting.
Eric Pouech (9):
wbemprox: Use correct string id.
dsound: Forward error code when device cannot be found.
quartz: Return correct error when no audio devices are present.
mmdevapi: Don't fail when no audio backends are present.
dbghelp: Rename internal field (system -> host).
dbghelp: Use is_host_64bit for handling bitness of mach-o libs.
dbghelp: Set the machine type for mach-O modules.
dbghelp: Simplified module_find_by_addr().
dbghelp: Remove unneeded parameter to pe_map_file.
Esme Povirk (2):
user32/tests: Reduce size demand in test_hvredraw.
mscoree: Update Wine Mono to 8.1.0.
Fabian Maurer (2):
mf/tests: Increase buffer to prevent stack corruption.
ntdll: Add WinSqmSetIfMaxDWORD stub.
Gabriel Ivăncescu (4):
jscript: Fix Array.map when last element doesn't exist.
jscript: Fix Array.reduce when last element doesn't exist.
mshtml: Set outer window to uninitialized page when document obj is released.
mshtml: Return proper errors when navigating with no browser.
Gerald Pfeifer (1):
readme: Update FreeBSD information.
Hans Leidekker (3):
kernelbase: Trace global memory counters in decimal.
advapi32/tests: Get rid of workarounds for old Windows versions.
advapi32/tests: Skip WoW64 registry tests on 32-bit.
Helix Graziani (1):
uxtheme/tests: Skip the test if the SystemUsesLightTheme value isn't found.
Jacek Caban (9):
dwrite: Use DWRITE_FONT_FEATURE_TAG for tags argument type in shape_get_typographic_features.
dwrite/tests: Avoid implicit DWRITE_RENDERING_MODE to DWRITE_RENDERING_MODE1 casts.
dwrite: Avoid implicit casts between DWRITE_RENDERING_MODE and DWRITE_RENDERING_MODE1.
d2d1/tests: Use D2D1_INTERPOLATION_MODE constants in DrawImage calls.
d2d1: Pass interpolation mode as D2D1_INTERPOLATION_MODE to d2d_device_context_draw_bitmap.
d2d1: Don't cast D2D1_THREADING_MODE to D2D1_FACTORY_TYPE in D2D1CreateDevice.
wined3d: Use return type to return result from read_dword.
wined3d: Remove unused parallel_point_count variable.
wined3d: Use unsigned type for res_type bit field.
Jeff Smith (4):
gdiplus/tests: Add tests related to setting the page tranform.
gdiplus: Implement GdipResetPageTransform.
gdiplus: Fix a GdipSetPageScale return status.
gdiplus: Fix GdipSetPageUnit parameter validation.
Jinoh Kang (1):
ntdll/tests: Use win_skip() for missing APIs in test_query_process_debug_port_custom_dacl.
Louis Lenders (1):
uxtheme: Add ShouldAppsUseDarkMode.
Matteo Bruni (5):
wined3d: Fix handling of system-memory GL vertex buffers.
wined3d: Handle NULL push constant buffers with the ARB shader backend.
wined3d: Allow FFP blits to non-render targets with the 'none' shader backend.
wined3d: Implement shadow sampling for the ARB shader backend.
wined3d: Don't skip setting clip planes if the view transform state is dirty.
Mohamad Al-Jaf (16):
windows.media.mediacontrol/tests: Remove flakey ref count test.
include: Add ISystemMediaTransportControlsDisplayUpdater interface definition.
windows.media.mediacontrol: Implement ISystemMediaTransportControls::get_DisplayUpdater().
windows.media.mediacontrol/tests: Add ISystemMediaTransportControlsDisplayUpdater::get/put_Type() tests.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get/put_Type().
include: Add IMusicDisplayProperties interface definition.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get_MusicProperties().
windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Title() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Title().
windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Artist() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Artist().
include: Add IMusicDisplayProperties2 interface definition.
windows.media.mediacontrol: Add IMusicDisplayProperties2 stub interface.
windows.media.mediacontrol/tests: Add IMusicDisplayProperties2::get/put_AlbumTitle() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties2::get/put_AlbumTitle().
windows.media.mediacontrol: Return success in ISystemMediaTransportControlsDisplayUpdater::Update().
Nikolay Sivov (7):
mfmediaengine/tests: Use a single helper to create engine instances.
include: Add IMFMediaEngineAudioEndpointId definition.
mfmediaengine: Keep engine extension pointer.
mfmediaengine: Use extension object in CanPlayType().
maintainers: Add EVR to the Media Foundation section.
mfmediaengine: Mask some source flags returned from GetResourceCharacteristics().
d3d10_1/tests: Add some more tests for fx_4_1 blend states.
Paul Gofman (8):
ntdll: Use .seh handler instead of __TRY in RtlUserThreadStart() on x64.
ntdll: Set EH_NESTED_CALL flag in call_stack_handlers() on x64.
ntdll: Use .seh handler in call_handler() on x64.
ntdll/tests: Add test for collided unwind.
ntdll: Use .seh handler in call_unwind_handler() on x64.
winegstreamer: Add AVDecVideoAcceleration_H264 attribute for h264 decoder MFT.
ntdll: Define heap block's BLOCK_FLAG_LFH as 0x80.
shell32: Use SearchPathW() for %l/%L in SHELL_ArgifyW().
Piotr Caban (1):
gdi32: Fix leak in GdiDeleteSpoolFileHandle.
Rémi Bernon (56):
include: Fix debugstr_fourcc printf format to print at most 4 chars.
dmime: Rewrite message thread with a condition variable.
dmusic: Set synth sink master clock when creating port.
dmsynth: Do nothing in IDirectMusicSynth_SetMasterClock.
dmusic: Forward IDirectMusicPort_Activate to synth and sink.
dmime: Use port latency time for messages with -1 time.
dmime: Update performance latency time with port latency.
dmime: Use latency time to decide when to process messages.
dmsynth: Create a render thread on sink activation.
dmsynth: Implement sink rendering to DirectSound buffer.
dmsynth: Correctly lookup instrument from the default drum bank.
dmsynth: Avoid using fluid_ prefix for internal helpers.
dmsynth: Fix DLS2 to FluidSynth conversion for CONN_SRC_CCx.
dmsynth: Fix FluidSynth generators for direct connections.
dmsynth: Convert modulator values from DLS2 to SF2 convention.
dmsynth: Set default modulators according to the DLS2 spec.
dmband: Download segment tracks if performance auto-download is set.
dmband: Set DMUS_PATCH_PMSG bank LSB/MSB from instrument patch.
dmime: Only use index if group is set in IDirectMusicSegment_SetParam.
dmime: Don't interrupt track iteration if SetParam failed.
dmime: Adjust MIDI message time with DMUS_NOTE_PMSG nOffset.
dmusic: Use a dmusic_midi.h header for MIDI messages.
dmime: Translate some DMUS_CURVE_PMSG messages to MIDI.
dmime: Remove FIXME from methods now mostly implemented.
dmime: Avoid crashing when purging notification messages.
dmime: Return S_OK from wave track SetParam GUID_UnloadFromAudioPath.
dmime: Return hr from wave track SetParam GUID_DownloadToAudioPath.
dmusic: Implement IDirectMusicObject interface on wave objects.
dmusic: Use the IDirectMusicObject interface for waves.
dswave: Use the dmusic wave object implementation.
dmime: Avoid releasing the newly created graph twice.
dmime/tests: Remove flaky track playing state test.
dmime/tests: Avoid checking message segment state reference count.
dmime/tests: Ignore failure on missing gm.dls in test_band_track_play.
dmusic/tests: Skip test_default_gm_collection if gm.dls is missing.
dmsynth: Set loop and sample generators on the fluid_voice.
dmime: Force recompute MIDI message reference time.
dmband: Skip band / band track chunk on parsing failure.
dmime: Skip sequence track chunk on parsing failure.
dmime: Skip segment chunk on parsing failure (or success).
dmime: Ignore badly formed wave if format and data have been found.
dmime: Remove shadowing local hr variable.
dmusic: Ignore some known wave chunks.
gitlab: Run tests with LP_NUM_THREADS=4 env var.
mf/tests: Avoid crashing if MF_BYTESTREAM_EFFECTIVE_URL is missing.
dmime: Pass IDirectMusicPerformance8 to segment state functions.
dmime: Pass PlaySegmentEx start time as track time offset.
dmband: Use time_offset to align track start with music time.
dmime: Use time_offset to align track start with music time.
dmime: Use an internal performance message for segment end.
dmstyle: Rename IDirectMusicStyle8Impl method prefix to style.
dmstyle: Get rid of the IDirectMusicStyle8Impl typedef.
dmstyle: Rewrite style part list parsing.
dmstyle: Rewrite style pref chunk parsing.
dmstyle: Rename style_motif to style_pattern.
dmstyle: Rewrite style pttn list parsing.
Sven Baars (2):
wined3d: Don't override the default renderer in wined3d_dll_init().
nsiproxy.sys: Return STATUS_SUCCESS from ipv6_forward_enumerate_all() on non-Linux.
Yuxuan Shui (1):
mfmediaengine: Don't send event notify when engine is shutdown.
Zebediah Figura (18):
advapi32: GetNamedSecurityInfo() takes a const name argument.
advapi32/tests: Use StringFromGUID2().
advapi32: Fix rewinding the last path segment in SetSecurityInfo().
advapi32/tests: Add more tests for GetSecurityInfo().
advapi32: Respect object type in GetSecurityInfo().
advapi32: Respect object type in SetSecurityInfo().
user32/tests: Add basic tests for GetUserObjectSecurity().
advapi32: Implement GetSecurityInfo(SE_WINDOW_OBJECT).
wined3d: Rename buffer dirty ranges fields.
wined3d: Use wined3d_array_reserve() to pre-allocate the buffer dirty ranges array.
wined3d: Do not track dirty ranges for buffers without WINED3D_BUFFER_USE_BO.
d3d10core/tests: Avoid POINT sampling exactly halfway between two mip levels.
d3d11/tests: Avoid POINT sampling exactly halfway between two mip levels.
include: Convert d3d10shader.h to an IDL.
include: Convert d3d10effect.h to an IDL.
ntdll: Do not reject data directories at the end of a file.
ws2_32/tests: Make sure that WSARecv() completes synchronously in test_WSARecv().
ws2_32/tests: Wait for AFD_POLL_RESET in test_get_events_reset().
The Wine development release 8.18 is now available.
What's new in this release:
- Bundled FluidSynth library for DirectMusic.
- More window management in the Wayland driver.
- More effect support in Direct3D 10.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.18.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.18 (total 44):
- #32574 Patrician 4 fails to start (Error in 'App::Initialize')
- #41645 Unreal Tournament 2004 crashes
- #43017 Unreal Tournament 2004/UT2004.exe crashes due to "intel_do_flush_locked failed: Cannot allocate memory"
- #43185 "Battle Bugs" game in unresponsive once game starts
- #44275 Shadow of Memories demo hangs at graphic setting screen
- #44276 Poor resolution change handling with Shadow of Memories demo
- #48905 Inner Chains Launches to Black Screen With Mouse Cursor
- #52641 Feeding Frenzy 2 crashes while loading
- #53276 comctl32:edit & user32:edit - test_paste() sometimes fails to access the clipboard on Windows
- #54069 ddraw:ddraw7 - test_texture_wrong_caps() sometimes fails on Windows 8+
- #54156 comctl32:edit & user32:edit - test_paste() sometimes gets an empty string on Windows
- #54420 preloader warning "failed to reserve range" macOS Ventura
- #54430 user32:menu - test_menu_input()'s test 0 sometimes fails on Windows 7
- #54441 windows.media.speech:speech - test_Recognition() sometimes gets unexpected recognizer state on Windows 10
- #54699 Motorola Ready For Assistant does not start, RoOriginateLanguageException in Windows.Networking
- #54744 explorerframe:taskbarlist - test_ITaskbarList() sometimes gets E_NOTIMPL on Windows
- #54783 cryptowinrt:crypto - test_Credentials_Statics() sometimes gets unexpectedly high refcount in Wine
- #54791 explorerframe:nstc - test_events() sometimes gets unexpected events on Windows 7
- #55108 xaudio2_8:xaudio2 fails on Windows 10+
- #55211 Print file not truncated before new print job is started with same target file
- #55236 scrrun:dictionary - The 64-bit test_hash_value() gets bad hashes on Windows
- #55241 The 64-bit winmm:capture & winmm:wave crash on Windows 8
- #55245 ntdll:om - The 32-bit test_all_kernel_objects() gets an access violation on the w8 VM
- #55272 The 64-bit ntdll:exception crashes on Windows 10 1607 & 1709
- #55273 ntdll:wow64 - The 64-bit test_cpu_area() gets bad offsets on Windows 10 1607 & 1709
- #55528 Vitis 2020.1 can't find its libraries (cmd.exe bug with nested one-line if statement that sets PATH)
- #55606 Finale 27 printing - incorrect linecap
- #55627 secur32:negotiate & secur32:ntlm crash from a NULL dereference on macOS
- #55631 ntdll:file - test_file_rename_information fails on Windows 10 1607 and older
- #55632 ntdll:file - test_file_link_information() fails on Windows 10 1709 and older
- #55634 Genshin Impact uses very long URLs
- #55648 ntdll:wow64 - test_peb_teb() crashes on macOS
- #55652 A FindResourceW() call prevents windows.applicationmodel:model from running on Windows 8
- #55656 user32:dialog - test_IsDialogMessage() fails in the hi-u8 and mx-MX locales on Windows
- #55658 msinfo32 fails to start on macOS / wow64 (was psapi:psapi_main - test_EnumProcessModules*() fails on macOS)
- #55670 Wordpad is no longer able to print multiple copies of a page
- #55674 64-bit wineserver/wine-preloader hangs on macOS 14.
- #55686 msvcr120:msvcr120 - test_StructuredTaskCollection() sometimes fails in Wine
- #55696 msvfw32:mciwnd - The 64-bit test_MCIWndCreate() crashes in Wine
- #55701 Sniper Elite 5 launcher opens Wine Internet Explorer instead of Options window
- #55708 cpython 3.12.0 fails to run on wine, needs unimplemented function propsys.dll.VariantToString
- #55713 mspaint.exe crashes with: Unhandled exception: unimplemented function propsys.dll.PropVariantToUInt32WithDefault
- #55732 kernel32:loader - The 64-bit test_import_resolution() fails in Wine
- #55733 ntdll:file - test_file_rename_information_ex() fails on Windows 10 1607 & 1709
----------------------------------------------------------------
Changes since 8.17:
Alex Henrie (14):
http: Use the strdup function instead of reimplementing it.
riched20: Use CRT allocation functions.
mfplat: Rename debugstr_fourcc to mf_debugstr_fourcc.
winecoreaudio: Rename wine_dbgstr_fourcc to coreaudio_dbgstr_fourcc.
include: Introduce wine_dbgstr_fourcc and debugstr_fourcc.
comctl32: Use the debugstr_fourcc function instead of reimplementing it.
ddraw: Use the debugstr_fourcc function instead of reimplementing it.
mciavi32: Use the debugstr_fourcc function instead of reimplementing it.
mscms: Use the debugstr_fourcc function instead of reimplementing it.
msvfw32: Use the debugstr_fourcc function instead of reimplementing it.
cmd: Reset ignoreBracket when moving to the next line.
uninstaller: Don't overallocate in FetchFromRootKey.
msvcrt/tests: Check errno after strdup(NULL).
msvcrt/tests: Add tests for wcsdup.
Alexandre Julliard (34):
nls: Update character tables to Unicode 15.1.0.
mpg123: Import upstream release 1.32.2.
tiff: Import upstream release 4.6.0.
zlib: Import upstream release 1.3.
xml2: Import upstream release 2.11.5.
ldap: Import upstream release 2.5.16.
faudio: Import upstream release 23.10.
kernel32/tests: Add some dynamic base tests.
kernel32/tests: Delete the correct manifest file.
ntdll: Do an explicit mmap address search for any range not covering the entire address space.
ntdll: Add a helper to find a mapping address for a PE image.
ntdll: Always allocate dynamically relocatable dlls top-down.
ntdll: Fix relocation of the 32-bit ntdll.
ntdll: Move the module relocation support to virtual.c.
ntdll: Support relocating the main exe.
server: Set the dynamically relocated flag when relocations are present.
server: Assign a system-wide mapping address for dynamic base modules.
ntdll: Relocate dynamic base modules when mapping them.
winegcc: Enable dynamic base by default.
server: Remove some leftover code from a failed rebase.
ntdll: Only create the main module on the 32-bit side for wow64.
ntdll: Add a separate helper to build the main module on Wow64.
ws2_32: Make htonl/htons/ntohl/ntohs proper functions.
include: Stop pretending to support big-endian.
winebuild: Add a helper to output an asm function header.
ntdll: Use the standard syscall calling convention for NtFlushProcessWriteBuffers.
makefiles: Remove unnecessary imports of version.dll.
makefiles: Remove unnecessary imports of usp10.dll.
makefiles: Always use the global SOURCES variable for .mc files.
makefiles: Always use the global SOURCES variable for .po files.
makefiles: Always use the global SOURCES variable for .m files.
makefiles: Always use the global SOURCES variable for .sfd files.
makefiles: Always use the global SOURCES variable for .in files.
ntdll: Move LdrInitializeThunk to the CPU backends.
Alexandros Frantzis (7):
winewayland.drv: Respect the compositor requested surface config.
winewayland.drv: Handle xdg_toplevel tiled states.
winewayland.drv: Store and use the latest window config for a wayland_surface.
winewayland.drv: Handle application-initiated fullscreen state.
winewayland.drv: Use surface geometry to satisfy state size constraints.
winewayland.drv: Rename wayland_surface_configure_is_compatible for consistency.
winewayland.drv: Avoid resizing fullscreen windows.
Alistair Leslie-Hughes (6):
d3dxof: Remove DECLSPEC_HIDDEN usage.
msxml3: IXMLDOMElement::selectSingleNode always assign a value to the output parameter.
wpcap: Return NULL on error in get_broadcast.
msado15: Move to newly created row in Recordset::AddNew.
msado15: Show fixme only if field_list needs to be used in Recordset::AddNew.
d3dx9: Support empty mesh in D3DXLoadMeshHierarchyFromXInMemory().
Ally Sommers (1):
server: Move getpeername() implementation from ntdll/unix.
Arkadiusz Hiler (1):
xinput1_3: Hold module reference while the hid thread is running.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (7):
configure: Don't use -Wl,-z,defs if it causes link errors with 'environ'.
winemac.drv: Use @autoreleasepool instead of NSAutoreleasePool.
winemac.drv: Simplify control flow where possible after the removal of NSAutoreleasePool.
winemac.drv: Use ObjC literals.
wow64cpu: Use RTL_CONSTANT_STRING.
cfgmgr32: Add stub for CM_Get_Device_Interface_PropertyW.
winemac.drv: Fix redundant calls to [NSCursor set].
Connor McAdams (17):
uiautomationcore/tests: Add another test for IProxyProviderWinEventHandler child HWND scope checking.
uiautomationcore: Introduce uia_event_for_each function for iterating through registered events.
uiautomationcore: Check if we should try to invoke IProxyProviderWinEventHandler::RespondToWinEvent for registered UIA events.
uiautomationcore: Create HUIANODE for WinEvents that should invoke IProxyProviderWinEventHandler::RespondToWinEvent.
uiautomationcore: Add support for ignoring ProviderOptions_UseComThreading when creating an HUIANODE.
uiautomationcore: Add support for marking the root IAccessible as known on non-root IAccessibles upon proxy provider creation.
uiautomationcore: Pass WinEvent data to IProxyProviderWinEventHandler::RespondToWinEvent.
uiautomationcore: Add support for raising events passed to our IProxyProviderWinEventSink interface.
uiautomationcore/tests: Add tests for COM event handler event advisement.
uiautomationcore: Add support for passing WinEvents to the COM API.
uiautomationcore: Separate checking if a node is within the scope of a registered event from event invocation.
uiautomationcore: Use EVENT_OBJECT_SHOW to advise providers of events being listened for in the COM API.
win32u: Fix NtUserIsCurrent{Process/Thread}Window enum typo.
uiautomationcore/tests: Add tests for IUIAutomationFocusChangedEventHandler event advisement behavior.
uiautomationcore: Query EVENT_OBJECT_FOCUS HWND for a serverside provider if there is a registered focus change event handler.
uiautomationcore: Use EVENT_OBJECT_FOCUS to advise HWND providers of focus change events in the COM API.
uiautomationcore: Use EVENT_OBJECT_DESTROY to remove HWNDs from the COM API focus change HWND map.
Daniel Lehman (5):
advapi32/tests: Add ReadEventLogW tests for EventLogStarted.
advapi32/tests: Add ReadEventLogA tests for EventlogStarted.
msxml4/tests: Copy namespaces as attributes tests.
msxml6/tests: Copy namespaces as attributes tests.
advapi32/tests: Skip ReadEventLog on failure to open System log.
Eric Pouech (6):
winemac.drv: Use NtCallbackReturn to send back app's icons to unixlib.
msvfw32: Correctly store internal pointer.
dbghelp: Simplify allocation code.
dbghelp: Read debuggee environment by page.
winedbg: Set first LDT entry value as ntdll does.
winedbg: Correctly read LDT entries for wow64 debuggee.
Esme Povirk (1):
user32/tests: Print regions in test_hvredraw failure case.
Etaash Mathamsetty (1):
gdi32: Add stub for D3DKMTQueryAdapterInfo.
Fabian Maurer (1):
propsys: Implement PropVariantToUInt32WithDefault.
François Gouget (9):
winewayland.drv: Add a trailing linefeed to a TRACE() message.
dmsynth: Add a trailing linefeed to TRACE() messages.
nsiproxy.sys: Add a trailing linefeed to a TRACE() message.
secur32/tests: Skip the tests instead of crashing if Kerberos is not supported.
user32/tests: Don't test GetWindowModuleFileName() on windows belonging to another process.
advapi32/tests: Better identify OpenEventLogA() failures.
advapi32/tests: Add the read_write info to the failures context.
advapi32/tests: Avoid unneeded reallocations of the ReadEventLog() buffer.
advapi32/tests: Don't check the content of the buffer if ReadEventLog() fails.
Gabriel Ivăncescu (11):
mshtml: Call handle_event on the proper dispex object.
mshtml: Remove unused IUnknown_iface in func_disp_t.
mshtml: Traverse EventTarget listeners.
mshtml: Implement SuperNavigate undocumented flag 2.
shdoclc: Add a basic generic html page for navigation errors.
ieframe: Implement IEHTMLWindow2_get_document.
ieframe: Navigate to a basic error page on failed navigation.
ieframe: Use the original URL for error pages' address bar.
ieframe: Send the original URL for error pages in FireNavigationComplete2 notification.
ieframe: Send the original URL for error pages in FireDocumentComplete notification.
ieframe: Implement DocObjectService_IsErrorUrl.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.267.
Hans Leidekker (2):
mmdevapi/tests: Don't initialize the audio client twice.
mmdevapi/tests: Relax a capture test.
Helix Graziani (3):
nsiproxy.sys: Implement ipv6_forward_enumerate_all.
winecfg: Change system theme alongside app theme.
uxtheme: Add ShouldSystemUseDarkMode.
Jactry Zeng (1):
user32: Add more builtin string resources.
Joel Holdsworth (7):
ntdll: Initial implementation of FileRenameInformationEx.
ntdll: Initial implementation of FileLinkInformationEx.
ntdll/tests: Add tests for FILE_RENAME_IGNORE_READONLY_ATTRIBUTE.
ntdll/tests: Add tests for FILE_LINK_IGNORE_READONLY_ATTRIBUTE.
server: Don't allow read-only files to be replaced by File{Rename,Link}Information{,Ex}.
ntdll: Add support for FILE_{RENAME,LINK}_IGNORE_READONLY_ATTRIBUTE.
ntdll/tests: Fix FILE_RENAME_INFORMATION_EX test failures on Windows 10 1607 & 1709.
Marcus Meissner (1):
user32/tests: Use correct size to LoadStringW.
Martin Storsjö (1):
configure: Fix restoring CFLAGS after the test for -Wl,-z,defs.
Matteo Bruni (1):
d3dx9/tests: Get rid of unnecessary branches in D3DXLoadMeshTest().
Mohamad Al-Jaf (17):
windows.storage.applicationdata: Add stub DLL.
windows.storage.applicationdata: Add IApplicationDataStatics stub interface.
windows.storage.applicationdata/tests: Add IApplicationDataStatics::get_Current() tests.
windows.storage.applicationdata: Implement IApplicationDataStatics::get_Current().
include: Add ISystemMediaTransportControls interface definition.
windows.media.mediacontrol: Add stub DLL.
include: Add systemmediatransportcontrolsinterop.idl file.
windows.media.mediacontrol: Add ISystemMediaTransportControlsInterop stub interface.
windows.media.mediacontrol/tests: Add ISystemMediaTransportControlsInterop::GetForWindow() tests.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsInterop::GetForWindow().
windows.media.mediacontrol/tests: Add some ISystemMediaTransportControls properties tests.
windows.media.mediacontrol: Implement some ISystemMediaTransportControls properties.
include: Add windows.security.credentials.ui.idl file.
windows.security.credentials.ui.userconsentverifier: Add stub DLL.
windows.security.credentials.ui.userconsentverifier: Add IUserConsentVerifierStatics stub interface.
windows.security.credentials.ui.userconsentverifier: Implement IUserConsentVerifierStatics::CheckAvailabilityAsync().
windows.security.credentials.ui.userconsentverifier/tests: Add IUserConsentVerifierStatics::CheckAvailabilityAsync() tests.
Nikolay Sivov (25):
d3d10/effect: Add support for 'buge'/'bult' instructions.
d3d10/tests: Compact returned arrays checks.
d3d10/effect: Add support for 'ceil' instruction.
d3d10/effect: Add support for 'floor' instruction.
d3d10/effect: Add support for 'dot' instruction.
propsys: Partially implement VariantToString().
propsys: Handle VT_I4 type in VariantToString().
d3d10/effect: Add support for 'imul' instruction.
d3d10/tests: Use vector helpers in more places.
d3d10/effect: Add support for 'sqrt' instruction.
d3d10/effect: Add support for 'rsq' instruction.
d3d10/effect: Add support for 'log' instruction.
d3d10/effect: Add support for 'exp' instruction.
d3d10/effect: Add support for 'not' instruction.
d3d10/effect: Add support for 'or' instruction.
d3d10/effect: Add support for shift instructions.
d3d10/tests: Add a test for log2/log10/exp2 functions in expressions.
gdi32/emf: Fix miter limit serialization.
gdi32/tests: Add some tests for SetMiterLimit() argument validation.
gdi32: Reject invalid values in SetMiterLimit().
gdi32/emf: Add SetMetaRgn() recording.
winedump/emf: Add EMR_SETMITERLIMIT record dumping.
gdi32/emf: Add SetBrushOrgEx() recording.
gdi32/tests: Add some tests for FixBrushOrgEx().
d3dx9: Check for tx_1_0 blob magic earlier in D3DXCreateTextureShader().
Paul Gofman (5):
secur32: Synchronize access to schannel handle table.
server: Hold socket reference in sock_poll_event().
ntdll: Map EDESTADDRREQ to STATUS_INVALID_CONNECTION.
imagehlp: Import functions instead of forwarding.
ntdll: Implement NtQueryValueKey(KeyValuePartialInformationAlign64).
Piotr Caban (16):
msvcr110: Reset chore task_collection earlier to prevent occasional test failure.
gdi32: Pass default DEVMODE to winspool in CreateDC.
gdi32: Add partial support for creating EMREXTCREATEPEN records.
wineps: Add support for EMR_EXTCREATEPEN record playback.
localspl: Add ResetPrinter implementation.
winspool.drv: Add ResetPrinterW implementation.
gdi32: Update printer DEVMODE in ResetDCW.
gdi32: Fix METADC handling in PlayMetaFile.
gdi32: Test PlayMetaFile on METADC.
include: Add winppi.h header.
gdi32: Add GdiGetSpoolFileHandle stub.
gdi32: Add GdiDeleteSpoolFileHandle stub.
gdi32: Add GdiGetDevmodeForPage stub.
gdi32: Add GdiGetDevmodeForPage implementation.
wineps.drv: Use first page DEVMODE to determine number of copies and collation.
localspl: Truncate output file when printing to file.
Rémi Bernon (40):
dmime: Rename DirectMusicSegmentState8 method prefix to segment_state.
dmime: Get rid of the IDirectMusicSegmentState8Impl typedef.
dmime: Implement some segment state default values.
dmime: Redirect IDirectMusicPerformance_PlaySegment to PlaySegmentEx.
dmime: Introduce a new segment_state_create constructor.
dmime/tests: Tests interaction between CloseDown and notifications.
dmime: Keep messages with the same time ordered.
dmime: Free all pending messages after CloseDown.
dmime: Send DMUS_PMSGT_DIRTY messages from the performance.
dmime: Send DMUS_PMSGT_NOTIFICATION messages from the performance.
dmime: Implement IDirectMusicPerformance_GetNotificationPMsg.
dmime: Call IDirectMusicTrack_(Init|End)Play from the segment state.
include: Avoid narrowing warning in wine_dbgstr_fourcc.
dmime/tests: Queue the message before calling SendPMsg twice.
dmsynth: Import and use FluidSynth 2.3.3.
fluidsynth: Use Wine debugging facility for traces.
dmsynth: Simplify IDirectMusicSynth8_Open checks.
dmsynth: Create a fluid_synth instance on Open.
dmsynth: Create and register a fluid_sfont instance.
server: Send WM_WINE_SETCURSOR with the thread input cursor handle.
dmime: Get rid of the IDirectMusicWaveTrack typedef.
dmime: Include dmobject.h in dmime_private.h.
dmusic: Split wave entry points to dmusic_wave.h.
dmime: Create a wave track when loading a segment from a .wav.
dmime: Implement GUID_(Download|Unload)FromAudioPath for wave track.
dmime: Implement IDirectMusicTrack_Play for the wave track.
dmime: Play direct sound buffer from DMUS_PMSGT_WAVE message.
dmsynth: Fix synth download of articulations list.
dmsynth: Improve debug traces of DLS2 connections.
dmsynth: Guard synth members with a CS.
dmsynth: Parse MIDI events in IDirectMusicSynth_PlayBuffer.
dmsynth: Play some MIDI events in IDirectMusicSynth_Render.
dmsynth: Create fluid_preset and fluid_voice from instrument.
dmband: Download / unload bands when initializing / ending band track.
dmime: Implement sequence track IDirectMusicTrack_Play.
dmime: Implement band track IDirectMusicTrack_Play.
dmime: Output DMUS_MIDI_PMSG into a music buffer on the port.
dmime: Translate DMUS_PMSGT_NOTE to DMUS_PMSGT_MIDI messages.
dmime: Translate DMUS_PMSGT_PATCH to DMUS_PMSGT_MIDI messages.
winex11: Forcefully unmap the clipping window when it loses focus.
Stefan Dösinger (1):
wined3d: Reference the push constant buffers.
Zebediah Figura (15):
objsel: Remove unnecessary includes.
objsel: Remove DLL refcount tracking.
objsel: Merge factory.c into objsel.c.
objsel: Do not check for a NULL interface in COM methods.
objsel: Do not create an object from IClassFactory::QueryInterface().
wined3d: Rename WINED3D_MAX_TEXTURES to WINED3D_MAX_FFP_TEXTURES.
wined3d: Rename the "textures" field of struct wined3d_gl_limits to "ffp_textures".
wined3d: Rename the "MaxSimultaneousTextures" field of struct fragment_caps to "max_textures".
wined3d: Rename the "MaxTextureBlendStages" field of struct fragment_caps to "max_blend_stages".
wined3d: Store the "wined3d_caps" field of struct fragment_caps as separate bool flags.
wined3d: Store a fragment_caps structure in struct wined3d_d3d_info.
shell32: Fix parsing empty arguments in parse_dde_command().
ddraw: Do not check for DDRAW_NO3D in wined3d_resource_desc_from_ddraw().
ddraw: Refactor how bind flags are computed.
ddraw: Always create surfaces with WINED3D_BIND_SHADER_RESOURCE if possible.
Zhiyi Zhang (2):
mf: Avoid a double free of presentation clock timers.
winex11.drv: Set _NET_WM_FULLSCREEN_MONITORS only when necessary.
The Wine development release 8.17 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.9.
- Initial window management in the Wayland driver.
- SoundFont support in DirectMusic.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.17.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.17 (total 19):
- #34789 MeGUI: Wrong icon for file chooser
- #38823 Sumatra PDF 3.0: tabs don't work correctly
- #43137 The Elder Scrolls: Oblivion crashes after opening logo screens.
- #46483 Cemu 1.12.0 crashes on unimplemented function msvcp140.dll.?_Throw_C_error@std@@YAXH@Z
- #48969 RageMP crashes on unimplemented function msvcp140.dll.?_Throw_future_error@std@@YAXAEBVerror_code@1@@Z
- #51327 GdipCreateFont initializes font with ANSI_CHARSET
- #54588 iphlpapi:iphlpapi - test_GetExtendedTcpTable() sometimes fails because the buffer is too small in Wine
- #55001 ToneX by IK Multimedia needs unimplemented function msvcp140.dll.?_Throw_C_error@std@@YAXH@Z
- #55184 Dwarf Fortress (Steam) crashes on unimplemented function msvcp140_atomic_wait.dll.__std_acquire_shared_mutex_for_instance
- #55240 The 64-bit winmm:capture & winmm:wave get BADDEVICEID on Windows 10+
- #55486 Finale 27 printing mangled
- #55522 SoftEther VPN Server Manager
- #55529 Text in SRPG Studio games ends with a tofu/missing character glyph.
- #55587 quartz:vmr9 - test_changed3ddevice() crashes on Windows 8+
- #55592 Separable Subsurface Scattering needs 'mov' opcode support for fx_4_0 effect
- #55599 Metatrader 4 - not possible to add any indicator to a chart
- #55614 ReCore crashes on unimplemented function msvcp110.dll.?_Winerror_map@std@@YAPEBDH@Z
- #55635 mfreadwrite:mfplat - test_interfaces() crashes on Windows 7 & 8
- #55651 d3d10:effect - test_effect_fx_4_1_blend_state() fails on Windows 7+
----------------------------------------------------------------
Changes since 8.16:
Akihiro Sagawa (3):
cmd/tests: Add dir built-in command test.
cmd/tests: Test file time stamp format.
cmd: Always outputs leading zeros when listing file time information.
Alex Henrie (24):
include: Move RTL functions that belong in winnt.h from winternl.h to winnt.h.
oleaut32: Use CRT allocation functions in connpt.c.
oleaut32: Use CRT allocation functions in hash.c.
oleaut32: Use CRT allocation functions in olepicture.c.
oleaut32: Use CRT allocation functions in typelib.c.
advpack: Use CRT allocation functions.
gameux: Use CRT allocation functions.
mciwave: Use CRT allocation functions.
msvfw32: Use CRT allocation functions.
ncrypt: Use the wcsdup function instead of reimplementing it.
shell32: Use the wcsdup function instead of reimplementing it.
wshom: Use the wcsdup function instead of reimplementing it.
dsound: Use malloc and free instead of _recalloc.
conhost: Use the wcsdup function instead of reimplementing it.
dxdiag: Use CRT allocation functions.
reg: Use the wcsdup function instead of reimplementing it.
regedit: Use the wcsdup function instead or reimplementing it.
sc: Use CRT allocation functions.
wordpad: Use the wcsdup function instead of reimplementing it.
avifil32: Use CRT allocation functions.
wpcap: Use the strdup function instead of reimplementing it.
include: Move RTL functions that belong in ntddk.h from winternl.h to ntddk.h.
include: Correct conflicting definition of PSID.
include: Correct conflicting definition of PSECURITY_DESCRIPTOR.
Alexandre Julliard (26):
winebuild: Add a separate helper for .seh annotations.
winebuild: Remove unnecessary .cfi_startproc/endproc annotations.
winebuild: Add a few more SEH annotations.
winebuild: Make the syscall thunks position-independent on ARM64.
oleaut32: Add SEH annotations to ARM64 assembly code.
rpcrt4: Add SEH annotations to ARM64 assembly code.
vcomp: Add SEH annotations to ARM64 assembly code.
ntdll: Remove unneeded SEH annotations in Unix code.
kernel32/tests: Comment out one more test that can crash on Windows.
kernel32/tests: Don't make assumptions about argv[0] of the main process.
kernel32/tests: Unaligned SRW locks crash on ARM platforms.
kernel32/tests: Update dll characteristics to make the module loadable on ARM64.
vkd3d: Import upstream release 1.9.
server: Don't zero out the PE optional header regardless of specified size.
winedump: Don't zero out the PE optional header regardless of specified size.
ntdll: Consistently use the IMAGE_FIRST_SECTION helper macro.
dbghelp: Consistently use the IMAGE_FIRST_SECTION helper macro.
imagehlp: Use the IMAGE_FIRST_SECTION helper macro.
krnl386: Use the IMAGE_FIRST_SECTION helper macro.
widl: Use the IMAGE_FIRST_SECTION helper macro.
kernel32/tests: Fix loader tests on Windows ARM64.
winebuild: Set ASLR-related dll flags by default.
server: Require ASLR support on non-x86 platforms.
ntdll: Release the low address space reservation for 64-bit apps.
ntdll: Don't release the low address space reservation on wow64.
ntdll: Don't free reserved memory on 64-bit macOS.
Alexandros Frantzis (7):
winewayland.drv: Remove wayland_surface destruction double locking.
winewayland.drv: Handle xdg_toplevel close event.
winewayland.drv: Handle xdg_toplevel configure event size hint.
winewayland.drv: Handle xdg_toplevel maximized state.
winewayland.drv: Handle client-initiated user-driven window move.
winewayland.drv: Handle client-initiated user-driven window resize.
winewayland.drv: Fix removal of wl_seat globals.
Alistair Leslie-Hughes (9):
mfreadwrite/reader: Update to IMFSourceReaderEx.
d3drm: Correctly query for the returned interface.
msado15: Recordset::Open - Correctly update count/index values.
mfreadwrite/tests: Move test_interfaces after test_factory.
msado15: _Recordset::Filter set index on value.
d3dx9: Trace pointer value in D3DXValidMesh().
msado15: Implement _Recordset::get_ActiveConnection.
msado15: _Recordset::Open store active connection parameter.
msado15: Update editMode in AddNew/Cancel/Update functions.
Ally Sommers (2):
server: Return WSAEOPNOTSUPP on listen() if the socket's type is SOCK_DGRAM.
ws2_32/tests: Add more tests for SO_REUSEADDR.
Andrew Brobston (1):
d2d1: Support GUID_WICPixelFormat32bppRGB.
Bartosz Kosiorek (1):
gdiplus/tests: Add tests of InterpolationMode Bilinear for GdipDrawImagePointsRect.
Biswapriyo Nath (19):
include: Add ID3D12VideoDecoder in d3d12video.idl.
include: Add ID3D12VideoDevice in d3d12video.idl.
include: Add ID3D12VideoDecoderHeap in d3d12video.idl.
include: Add ID3D12VideoDecodeCommandList in d3d12video.idl.
include: Add video decode profile guids in d3d12video.idl.
include: Add D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT in d3d12video.idl.
include: Add ID3D12VideoDevice1 in d3d12video.idl.
include: Add ID3D12VideoExtensionCommand in d3d12video.idl.
include: Add ID3D12VideoDevice2 in d3d12video.idl.
include: Add ID3D12VideoEncoder in d3d12video.idl.
include: Add ID3D12VideoEncoderHeap in d3d12video.idl.
include: Add ID3D12VideoDevice3 in d3d12video.idl.
include: Add ID3D12VideoMotionEstimator in d3d12video.idl.
include: Add ID3D12VideoMotionVectorHeap in d3d12video.idl.
include: Add ID3D12VideoEncodeCommandList in d3d12video.idl.
include: Add ID3D12VideoDecodeCommandList1 in d3d12video.idl.
include: Add ID3D12VideoEncodeCommandList1 in d3d12video.idl.
include: Add ID3D12VideoEncodeCommandList2 in d3d12video.idl.
include: Add some structures in d3d12video.idl.
Brendan Shanks (3):
winecoreaudio: Stop using the deprecated kAudioObjectPropertyElementMaster constant.
winecoreaudio: Use os_unfair_lock when available instead of OSSpinLock.
msv1_0: Implement ntlm_fork() using posix_spawn().
Connor McAdams (21):
uiautomationcore: Add UiaHasServerSideProvider stub.
uiautomationcore: Add a common helper function for creating HUIANODEs.
uiautomationcore: Implement UiaHasServerSideProvider.
include: Add missing WinEvent definitions.
uiautomationcore/tests: Add method expect definitions for all Accessible test interfaces.
uiautomationcore/tests: Add support for debug printing Accessible method calls.
uiautomationcore/tests: Add support for debug printing Provider method calls.
uiautomationcore: Add stub IRawElementProviderFragmentRoot implementation for MSAA providers.
uiautomationcore: Add a common helper function for querying IServiceProvider on IAccessible interfaces.
uiautomationcore: Implement IRawElementProviderFragment::get_FragmentRoot for MSAA providers.
uiautomationcore: Don't return oleacc proxy IAccessibles from GetIAccessible for MSAA providers.
uiautomationcore/tests: Increase wait timeout for cross-process event with navigation.
uiautomationcore: Pass through failure HRESULTS on MSAA accState based property IDs for MSAA providers.
uiautomationcore: Implement IRawElementProviderFragmentRoot::GetFocus for MSAA providers.
uiautomationcore: Add stub IProxyProviderWinEventHandler implementation for MSAA providers.
uiautomationcore: Handle EVENT_SYSTEM_ALERT in IProxyProviderWinEventHandler::RespondToWinEvent() for MSAA providers.
uiautomationcore/tests: Add tests for IProxyProviderWinEventHandler based MSAA to UIA event bridging.
uiautomationcore: Check providers for an IProxyProviderWinEventHandler interface when attaching events.
uiautomationcore: Add WinEvent hook on the UIA event thread.
uiautomationcore: Track HWNDs that need WinEvent translation.
uiautomationcore: Make sure event thread is started when listening for WinEvents.
Eric Pouech (3):
dbghelp: Check that dwarf unwinder did actually unwind.
ntdll: Allow empty application nodes in actctx.
winedump: Improve dumping DEBUG directory entries in PE images.
Esme Povirk (4):
user32/tests: Account for some messages from dual-monitor setups.
user32/tests: Fix WM_WINDOWPOSCHANGED entries.
user32/tests: Use a child window for test_PeekMessage3.
user32/tests: Use open_clipboard helper in msg tests.
François Gouget (1):
tests: Update the documentation.
Gabriel Ivăncescu (22):
mshtml: Move some Element methods around.
mshtml: Move some AnchorElement methods up.
mshtml: Move some AreaElement methods up.
mshtml: Move some FormElement methods up.
mshtml: Move some FrameElement methods down.
mshtml: Move some IFrame methods down.
mshtml: Move some ObjectElement methods up.
mshtml: Move some SelectElement methods up.
mshtml: Move node vtbl QI methods around.
mshtml: Move node vtbl destructor methods down.
mshtml: Get rid of useless element destructors.
mshtml: Use specific dispex vtbls for remaining HTML elements.
mshtml: Use specific dispex for each SVG element.
mshtml: Use the dispex's query_interface for DocumentType nodes.
mshtml: Use the dispex's query_interface for Document nodes and fragments.
mshtml: Use the dispex's query_interface for DOMTextNodes.
mshtml: Use the dispex's query_interface for the remaining nodes.
mshtml: Use the dispex's destructor for all nodes.
mshtml: Use the dispex's get_dispid for all nodes.
mshtml: Use the dispex's get_name for all nodes.
mshtml: Use the dispex's invoke for all nodes.
mshtml: Use the event_target vtbl's handle_event for all nodes.
Hans Leidekker (6):
winmm/tests: Avoid truncating the handle passed to waveInGetDevCapsW().
wbemprox: Get Win32_OperatingSystem.BuildType from the registry.
wbemprox: Fix Win32_OperatingSystem.TotalVirtual/VisibleMemorySize.
wbemprox: Implement Win32_OperatingSystem.InstallDate.
systeminfo: Add an implementation on top of WMI.
secur32: Only return success from initialize_package() when initialization fully succeeds.
Henri Verbeet (2):
wined3d: Don't validate the frontbuffer's DRAWABLE location in wined3d_swapchain_resize_buffers() when NO3D is set.
d3d11/tests: Properly mark the indexed sample position test as succeeding with the Vulkan backend.
Huw D. M. Davies (1):
gdiplus: Copy the compound array in GdipClonePen().
Jacek Caban (4):
mshtml: Remove unused functions.
include: Support ARM64EC target in intrin.h.
include: Move __getReg intrinsic to intrin.h.
include: Support ARM64EC target in winnt.h.
Jactry Zeng (5):
msi: Use CreateFileW() for handling path from cabinet_open() instead.
cabinet/tests: Initialize CURR_DIR globally.
msxml3: Store ValidateOnParse property in domdoc_properties instead.
msxml3: Add ValidateOnParse support for IXMLDOMDocument3_{get,set}Property().
msxml3/tests: Add tests of ValidateOnParse property.
Jeff Smith (2):
gdiplus/tests: Test GdipCreateFont character set initialization.
gdiplus: Fix GdipCreateFont character set initialization.
Jinoh Kang (1):
wbemprox: Fix out-of-bounds access caused by codepoints above U+00FF.
Joel Holdsworth (6):
include: Add flags to FILE_RENAME_INFORMATION used by FileRenameInformationEx.
ntdll/tests: Test both FileRenameInformation and FileRenameInformationEx in test_file_rename_information.
include: Add flags to FILE_LINK_INFORMATION used by FileLinkInformationEx.
ntdll/tests: Test both FileLinkInformation and FileLinkInformationEx in test_file_link_information.
ntdll/tests: Skip FileRenameInformationEx tests on older Windows versions.
ntdll/tests: Skip FileLinkInformationEx tests on older Windows versions.
Martin Storsjö (2):
include: Update the d3d12 headers from vkd3d.
include: Update the d3d12 header from vkd3d.
Mohamad Al-Jaf (7):
windows.applicationmodel: Add IPackageStatics stub interface.
windows.applicationmodel: Implement IPackageStatics::get_Current().
windows.applicationmodel: Implement IPackage::get_InstalledLocation().
windows.applicationmodel: Add IStorageItem stub interface.
windows.applicationmodel/tests: Add IStorageItem::get_Path() tests.
windows.applicationmodel: Implement IStorageItem::get_Path().
windows.applicationmodel/tests: Use PathRemoveFileSpecW() instead of PathCchRemoveFileSpec().
Nikolay Sivov (6):
d3d10/effect: Implement 'mov' opcode for expressions.
d3d10/effect: Implement instructions used for signed integer division.
d3d10/effect: Add signed integer compare instructions for expressions.
d3d10/tests: Add some tests for D3D10.1 blend state in effects.
d3dcompiler: Add support for matrix majority compiler flags.
d3d10/tests: Test for correct return value.
Paul Gofman (7):
mf/tests: Add tests for AAC decoder with different input number of channels.
winegstreamer: Handle missing or zero channel count in _GetOutputAvailableType in AAC decoder.
winegstreamer: Correct output available types attrs in AAC decoder for channel count > 2.
winegstreamer: Validate maximum channel count in _SetInputType in AAC decoder.
winegstreamer: Also return output with 2 channels for multichannel inputs from AAC decoder.
shell32: Avoid stack corruption with long name in SHELL_TryAppPathW().
shell32: Handle long command line in execute_from_key().
Piotr Caban (7):
msvcp110: Add _Winerror_map implementation.
msvcr110: Simplify _StructuredTaskCollection finished task counter updating.
msvcr110: Use Context blocking functions in _StructuredTaskCollection class.
msvcp140_atomic_wait: Add __std_acquire_shared_mutex_for_instance implementation.
wineps.drv: Remove unused hmtx_tab field from TYPE42 structure.
wineps.drv: Don't crash if specified font is missing required table in T42_download_header.
msvcp90: Silence FIXME in _Locinfo::_Locinfo_ctor and _Locinfo::_Locinfo_Addcats functions.
Rémi Bernon (74):
dmusic: Avoid swallowing collection Load failures.
dmusic: Rewrite downloading instrument to port.
dmusic: Parse collection wave table.
dmusic: Parse collection wave lists.
dmusic: Keep an internal ref on the instrument's collection.
dmusic: Implement downloading wave to port.
dmusic: Parse instrument regions articulation lists.
dmusic: Implement instrument articulation downloads.
dmime/tests: Test that SendPMsg also converts reference time.
dmime: Convert DMUS_PMSG music and reference times in SendPMsg.
dmime: Get rid of the DMUS_PMSGItem typedef.
dmime: Use a struct list to keep performance messages.
dmime: Remove unnecessary struct message members.
dmime: Rename DMUS_PMSGToItem to message_from_DMUS_PMSG.
dmime: Pass the DMUS_PMSG through the performance graph.
dmband: Rename IDirectMusicBandImpl prefix to band.
dmband: Get rid of the IDirectMusicBandImpl typedef.
dmband: Get rid of the IDirectMusicBandTrack typedef.
dmband: Avoid leaking bands on band track Release.
dmband: Avoid leaking collection on band release.
dmband: Rewrite band lbin list parsing.
dmband: Rewrite band lbil list parsing.
dmband: Rewrite band dmbd chunk parsing.
dmband: Rewrite band IPersistStream_Load.
dmime: Rename IDirectMusicSegment8Impl method prefix to segment.
dmime: Use one-liners for segment parameter checks.
dmime: Get rid of the IDirectMusicSegmentImpl typedef.
dmime: Avoid leaking tracks in IDirectMusicSegment_Release.
dmime: Rewrite segment IDirectMusicSegment_GetTrack.
dmime: Rewrite segment IDirectMusicSegment_GetTrackGroup.
dmime: Rewrite segment IDirectMusicSegment_InsertTrack.
dmime: Rewrite segment IDirectMusicSegment_RemoveTrack.
dmime: Use segment_append_track in Clone and parse_track_form.
dmime/tests: Add some DMUS_NOTIFICATION_PMSG tests.
dmime/tests: Test wave segments and DMUS_WAVE_PMSG.
dmime/tests: Test sequence track and DMUS_NOTE_PMSG.
dmime/tests: Test band track and DMUS_PATCH_PMSG.
dmusic/tests: Fixup chunk alignment in steam_end_chunk.
dmusic: Keep the original instrument patch in the entry.
dmband: Rewrite band track lbdl/lbnd lists parsing.
dmband: Rewrite band track DBMT chunk parsing.
dmband: Rewrite band track IPersistStream_Load.
dmime: Get rid of the IDirectMusicSeqTrack typedef.
dmime: Implement DirectMusicSeqTrack IPersistStream_Load.
dmloader: Rename IDirectMusicLoaderImpl method prefix to loader.
dmloader: Get rid of the IDirectMusicLoaderImpl typedef.
dmloader: Initialize ref to 1, and release after QueryInterface.
dmloader: Introduce a new loader_stream_create helper.
dmloader: Get rid of the custom generic stream wrapper.
dmime/tests: Remove some duplicated tests.
dmime/tests: Move performance tests into dmime.c.
dmime/tests: Test performance Init with a created port.
dmime: Set the port direct sound before activating it.
dmime: Initialize performance in Init rather than InitAudio.
dmime: Return DMUS_E_AUDIOPATHS_IN_USE when audio paths are in use.
dmime: Return DMUS_E_AUDIOPATH_INACTIVE when audio paths are not enabled.
dmloader: Use a simpler file stream implementation.
dmusic/tests: Test default gm.dls sound font instruments.
dmloader: Remove invalid default DLS collection check.
dmloader: Add fallbacks if the configured GMFilePath doesn't exist.
dmusic: Avoid leaking articulations when freeing regions.
dmusic: Avoid crashing in traces if wave doesn't have a WSMPL.
dmusic: Implement SoundFont2 collection parsing.
dmusic: Implement SoundFont2 wave sample parsing.
dmusic: Implement SoundFont2 instrument parsing.
dmime/tests: Add some tests for GUID_ConnectToDLSCollection.
dmime/tests: Test segment state and playing a custom track.
dmime: Implement IDirectMusicSegment_SetParam.
dmband: Implement band track GUID_ConnectToDLSCollection parameter.
dmime: Implement IDirectMusicSegment_(Download|Unload).
dmband: Implement IDirectMusicBand_(Download|Unload).
dmband: Implement band track GUID_UnloadFromAudioPath parameter.
dmband: Implement band track GUID_DownloadToAudioPath parameter.
dmime: Implement IDirectMusicPerformance_DownloadInstrument.
Yuxuan Shui (4):
gdi32: Make GetStockObject hotpatchable.
user32: Make CallWindowProcA hotpatchable.
user32: Add hotpatchable wrapper for GetWindowLongA.
rtworkq: Fix leak of thread pool work items.
Zebediah Figura (5):
wined3d: Pass a wined3d_stateblock_state to wined3d_device_validate_device().
d3d10core/tests: Test performing a full clear after a draw.
wined3d: Remove invalid parameter checks from internal wined3d_device_set_*() functions.
wined3d: Make wined3d_stateblock_state_{init,cleanup}() static.
wined3d: Move struct wined3d_stateblock into stateblock.c.
Zhiyi Zhang (2):
user32/tests: Fix test failures in Hindi UTF-8 and mixed locales.
user32: Enable IsDialogMessageA() ASCII to Unicode mapping only when the user default lang ID is CJK.
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.
The Wine development release 8.13 is now available.
What's new in this release:
- Wow64 support in WineGStreamer.
- WeakMap support in JScript.
- Georgian translation.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.13.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.13 (total 36):
- #24614 Multiple games crash or hang on startup due to D3DXAssembleShader not handling apostrophes in comments (Medieval II: Total War, Yu-Gi-Oh! ONLINE 3 client)('winetricks -q d3dx9_xx' is a workaround)
- #35690 Steam network hang ups.
- #35701 League of Legends: Right click contextual menu on friends list is invisible
- #35866 AvP 2000 game: some ingame text has red boxes around it with built-in d3dx9 libraries
- #41466 Steam: Tray icon menu sometimes flickers
- #42867 steam store doesnt work
- #44223 FrameMaker 7.2/8.0: Console window minimized and not (re)drawn
- #44529 [Steam] Process remaining after exiting
- #45042 Steam doesn't uninstall applications, gets stuck saying "deleting %game%" and the other popup is barely visible
- #45564 Kolab E14 Client installation fails with "Copy failed"
- #46221 League of Legends 8.23 crash after champion select
- #46888 Office 2007 word does not export to PDF/A
- #47328 Steam crashes when loading the Store tab (Assertion Failed: killing unresponsive browser for URL)
- #49371 Incorrect output buffer length check in WSAIoctl with SIO_GET_INTERFACE_LIST
- #50771 msys2 unlink() fails on read-only files [needs CreateFile(FILE_WRITE_ATTRIBUTES)]
- #50868 League of Legends: infinite loading after login
- #51383 S.T.A.L.K.E.R.: Call of Pripyat rendering is messed up with Enhanced full dynamic lighting (DX10)
- #51950 Iperf 2.0.8 hangs in parallel dual mode on localhost
- #51982 When installing Kobo for Desktop, user data meant for AppData\Local\Kobo is instead placed inside an arbitrary folder of the program's installation.
- #53446 Total War Shogun 2 crashes on Intel Iris Plus Graphics G4
- #53723 Star Ocean The Last Hope HD exits to desktop on start after NtUserSystemParametersInfo change.
- #53890 comctl32:edit - test_ime() fails in Korean on Windows
- #54166 Compilation fails with gcc 4.8.4 (error: ‘HTTP_STATUS_CONTINUE’ undeclared)
- #54503 d3dx9_36:math - test_D3DXSHMultiply3() fails on Debian Testing
- #54609 32-bit Softerra LDAP Administrator crashes due to proxy use-after-free
- #54688 ntdll:info - test_query_cpu() fails on Windows 7
- #54871 kernel32:console - testScroll() fails on Windows 10 1909
- #54932 Fallout 3: Black screen when using the experimental wow64 mode
- #55032 Multiple games have laggy rendering in DX12 mode (Kena: Bridge of Spirits, Total Conflict: Resistance)
- #55078 Powerpoint 2007: "Print to file" broken
- #55114 secur32:schannel - The 32-bit test_connection_shutdown() crashes on Windows <= 8
- #55177 Hatching not printed in Framemaker 8
- #55181 Recent versions of chromium broken again, need ProcessPrng
- #55187 winedbg --auto crashes if target process terminates after attaching.
- #55247 Assertion in riched20 while installing Office 2007
- #55276 Dying Light 2: Stay Human crashes on launch
----------------------------------------------------------------
Changes since 8.12:
Alex Henrie (6):
webservices: Add missing const to url parameter of WsOpenListener.
include: Add WS_STRING_VALUE and WS_XML_STRING_VALUE.
webservices/tests: Use WS_STRING_VALUE and WS_XML_STRING_VALUE.
include: Annotate IoAllocate functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
shell32: Free item lists with ILFree.
include: Annotate SHAlloc with __WINE_(DEALLOC|MALLOC).
Alexandre Julliard (101):
comctl32: Use nameless unions/structs.
comdlg32: Use nameless unions/structs.
dinput: Use nameless unions/structs.
dplayx: Use nameless unions/structs.
riched20: Use nameless unions/structs.
urlmon: Use nameless unions/structs.
wintrust: Use nameless unions/structs.
wow64: Implement backend notification functions.
gitlab: Upgrade the Debian image to bookworm.
ntdll: Fix returned length for some info classes in NtQueryInformationProcess().
ntdll: Return the 32-bit PEB for NtQueryInformationProcess(ProcessWow64Information).
psapi/tests: Use MAX_PATH size for arrays holding file paths.
kernelbase: Use ProcessWow64Information to retrieve the 32-bit PEB.
wow64: Use ProcessWow64Information to retrieve the 32-bit PEB.
ntdll: Implement RtlWow64GetSharedInfoProcess().
adsldp: Use nameless unions/structs.
amstream: Use nameless unions/structs.
appwiz.cpl: Use nameless unions/structs.
cryptdlg: Use nameless unions/structs.
cryptnet: Use nameless unions/structs.
cryptui: Use nameless unions/structs.
dmloader: Use nameless unions/structs.
dmsynth: Use nameless unions/structs.
dmusic: Use nameless unions/structs.
dxdiagn: Use nameless unions/structs.
gitlab: Install the gstreamer packages from deb-multimedia.org.
d3drm: Use nameless unions/structs.
ddraw: Use nameless unions/structs.
ddrawex: Use nameless unions/structs.
explorerframe: Use nameless unions/structs.
fusion: Use nameless unions/structs.
gdiplus: Use nameless unions/structs.
hhctrl.ocx: Use nameless unions/structs.
ieframe: Use nameless unions/structs.
inetcomm: Use nameless unions/structs.
inetcpl.cpl: Use nameless unions/structs.
inetmib1: Use nameless unions/structs.
include: Add some new information classes.
configure: Always disable winegstreamer if gst/gst.h is broken.
mscoree: Use nameless unions/structs.
mshtml: Use nameless unions/structs.
msi: Use nameless unions/structs.
msxml3: Use nameless unions/structs.
ndis.sys: Use nameless unions/structs.
netio.sys: Use nameless unions/structs.
netprofm: Use nameless unions/structs.
oledb32: Use nameless unions/structs.
oledlg: Use nameless unions/structs.
gitlab: Make sure that the tags are fetched before building.
pdh: Use nameless unions/structs.
prntvpt: Use nameless unions/structs.
quartz: Use nameless unions/structs.
sane.ds: Use nameless unions/structs.
usbd.sys: Use nameless unions/structs.
wbemprox: Use nameless unions/structs.
wevtapi: Use nameless unions/structs.
wined3d: Use nameless unions/structs.
wineandroid.drv: Use nameless unions/structs.
winemac.drv: Use nameless unions/structs.
winex11.drv: Use nameless unions/structs.
winhttp: Use nameless unions/structs.
wininet: Use nameless unions/structs.
winmm: Use nameless unions/structs.
winspool.drv: Use nameless unions/structs.
strmbase: Use nameless unions/structs.
krnl386: Use nameless unions/structs.
mmsystem: Use nameless unions/structs.
ver: Use nameless unions/structs.
comctl32/tests: Use nameless unions/structs.
comdlg32/tests: Use nameless unions/structs.
compstui/tests: Use nameless unions/structs.
crypt32/tests: Use nameless unions/structs.
cryptui/tests: Use nameless unions/structs.
devenum/tests: Use nameless unions/structs.
dmsynth/tests: Use nameless unions/structs.
dplayx/tests: Use nameless unions/structs.
fusion/tests: Use nameless unions/structs.
gdi32/tests: Use nameless unions/structs.
gdiplus/tests: Use nameless unions/structs.
ieframe/tests: Use nameless unions/structs.
imagehlp/tests: Use nameless unions/structs.
inetcomm/tests: Use nameless unions/structs.
iphlpapi/tests: Use nameless unions/structs.
kernel32/tests: Use nameless unions/structs.
mfplat/tests: Use nameless unions/structs.
mshtml/tests: Use nameless unions/structs.
msi/tests: Use nameless unions/structs.
ntdll/tests: Use nameless unions/structs.
oledb32/tests: Use nameless unions/structs.
pdh/tests: Use nameless unions/structs.
quartz/tests: Use nameless unions/structs.
rpcrt4/tests: Use nameless unions/structs.
shlwapi/tests: Use nameless unions/structs.
urlmon/tests: Use nameless unions/structs.
user32/tests: Use nameless unions/structs.
wevtapi/tests: Use nameless unions/structs.
windowscodecs/tests: Use nameless unions/structs.
wininet/tests: Use nameless unions/structs.
winmm/tests: Use nameless unions/structs.
winspool.drv/tests: Use nameless unions/structs.
wintrust/tests: Use nameless unions/structs.
Alistair Leslie-Hughes (37):
appwiz: Remove DECLSPEC_HIDDEN usage.
sxs: Remove DECLSPEC_HIDDEN usage.
netprofm: Remove DECLSPEC_HIDDEN usage.
adsldp: Remove DECLSPEC_HIDDEN usage.
explorerframe: Remove DECLSPEC_HIDDEN usage.
wintab32: Remove DECLSPEC_HIDDEN usage.
msdaps: Remove DECLSPEC_HIDDEN usage.
mscms: Remove DECLSPEC_HIDDEN usage.
shlwapi: Remove DECLSPEC_HIDDEN usage.
widl: Remove unnecessary null check (Coverity).
windowscodecs: Remove misleading comment.
windowscodecs: Remove DECLSPEC_HIDDEN usage.
d3d10: Remove DECLSPEC_HIDDEN usage.
d3dcompiler_43: Remove DECLSPEC_HIDDEN usage.
d3d8: Remove DECLSPEC_HIDDEN usage.
d3drm: Remove DECLSPEC_HIDDEN usage.
d3d9: Remove DECLSPEC_HIDDEN usage.
wbemdisp: Remove DECLSPEC_HIDDEN usage.
mf: Remove DECLSPEC_HIDDEN usage.
mfreadwrite: Remove DECLSPEC_HIDDEN usage.
mfplat: Remove DECLSPEC_HIDDEN usage.
kernelbase: Remove DECLSPEC_HIDDEN usage.
fusion: Remove DECLSPEC_HIDDEN usage.
wnaspi32: Remove DECLSPEC_HIDDEN usage.
msctf: Remove DECLSPEC_HIDDEN usage.
taskschd: Remove DECLSPEC_HIDDEN usage.
msado15: Remove DECLSPEC_HIDDEN usage.
twain_32: Remove DECLSPEC_HIDDEN usage.
gdiplus: Remove DECLSPEC_HIDDEN usage.
d3drm/tests: Show that viewport::render does not clear the background.
ddrawex: Remove DECLSPEC_HIDDEN usage.
dxgi: Remove DECLSPEC_HIDDEN usage.
d3d11: Remove DECLSPEC_HIDDEN usage.
d3dx10_43: Remove DECLSPEC_HIDDEN usage.
d2d1: Remove DECLSPEC_HIDDEN usage.
ddraw: Remove DECLSPEC_HIDDEN usage.
d3dx9_36: Remove DECLSPEC_HIDDEN usage.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (2):
mfmediaengine/tests: Add tests for audio effects.
mfmediaengine: Add support for inserting audio effects.
Billy Laws (5):
wineboot: Always attempt setup for all machine types.
ntdll: Fix NtContinue from within exception context on ARM64.
ntdll/tests: Test that NtContinue restores all register state on arm64.
ntdll: Add aarch64 DWARF register definitions.
ntdll: Avoid storing a second ctx copy in the aarch64 raise trampoline.
Biswapriyo Nath (5):
include: Add ID2D1SpriteBatch in d2d1_3.idl.
include: Add ID2D1SvgGlyphStyle in d2d1_3.idl.
include: Add ID2D1DeviceContext3 in d2d1_3.idl.
include: Add ID2D1DeviceContext4 in d2d1_3.idl.
include: Add more CLSIDs in d2d1effects.idl.
Brendan Shanks (10):
win32u: Set zero_bits correctly for large address aware applications on Wow64.
winecoreaudio: Set zero_bits correctly for large address aware applications on Wow64.
winealsa: Set zero_bits correctly for large address aware applications on Wow64.
wineoss: Set zero_bits correctly for large address aware applications on Wow64.
winepulse: Set zero_bits correctly for large address aware applications on Wow64.
ntdll: Don't release address space on 64-bit macOS.
configure: Only attempt to build macOS preloader on Intel, and remove unnecessary flag checks.
loader: On 64-bit macOS, reserve the low 8GB using a zerofill section.
loader: In macOS preloader, add __program_vars section.
winecoreaudio: Fix missing struct member in get_position() Wow64 thunk.
Chris Denton (1):
bcryptprimitives: ProcessPrng stub.
Connor McAdams (8):
uiautomationcore: Allow for refusal of HWND providers on node creation by non-nested node providers.
uiautomationcore: Add support for matching serverside events through navigation.
ole32/tests: Extend test_marshal_channel_buffer() test to include IRpcProxyBufferWrapper checks.
combase: Use correct destination context in CoUnmarshalInterface when using the standard marshaler.
uiautomationcore/tests: Add IUIAutomationEventHandler tests.
uiautomationcore: Partially implement IUIAutomation::AddAutomationEventHandler.
uiautomationcore: Implement IUIAutomation::RemoveAllEventHandlers.
uiautomationcore: Implement IUIAutomation::RemoveAutomationEventHandler.
David Kahurani (1):
gdiplus: Dump both variable address and internal values for matrices.
Davide Beatrici (2):
mmdevapi: Don't link to uuid.
mmdevapi: Implement get_audio_session.
Ekaterine Papava (1):
po: Add Georgian translation.
Eric Pouech (1):
conhost: Fix ctrl-c handling.
Fabian Maurer (2):
geolocation: Rename from windows.devices.geolocation.geolocator.
user32/tests: Remove DrawTextEx tests that overrun stack variable.
François Gouget (4):
user32/tests: Use win_skip() for missing APIs.
uxtheme/tests: Use win_skip() for missing APIs.
msvcrt/tests: Check that some functions are only available in 32-bit code.
riched20/tests: Make the editor paste test failures more informative and unique.
Gabriel Ivăncescu (10):
mshtml: Grab the binding while aborting it.
jscript: Convert unlink_props to a helper that unlinks the entire object.
jscript: Implement WeakMap instance stub and constructor.
jscript: Implement WeakMap.set().
jscript: Implement WeakMap.get().
jscript: Implement WeakMap.delete().
jscript: Implement WeakMap.clear().
jscript: Implement WeakMap.has().
mshtml/tests: Add tests for WeakMap.
jscript: Properly set JS_E_WRONG_THIS as a TypeError.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.258.
Giovanni Mascellani (7):
dxgi: Introduce a worker thread for the D3D12 swapchain.
dxgi: Move presentation to the worker thread.
dxgi: Move buffer resizing to the worker thread.
dxgi: Remove the worker event, which is now useless.
dxgi: Do not allow vkd3d_acquire_vk_queue() to fail.
dxgi: Acquire and release the Vulkan queue inside d3d12_swapchain_queue_present().
dxgi: Wait before acquiring the Vulkan queue for presenting.
Hans Lehnert (1):
wininet: Handle http headers correctly when length is 0.
Hans Leidekker (5):
secur32/tests: Fix a test failure and extend tests.
include: Add Uri runtime class and related definitions.
include: Add ProcessorArchitecture winrt enum.
include: Add windows.storage.idl.
include: Add windows.applicationmodel.idl.
Jacek Caban (12):
user32: Return result from dispatch_win_proc_params.
win32u: Return result from dispatch_win_proc_params.
win32u: Remove no longer needed result pointer from win_proc_params.
win32u: Always use result returned directly from call_window_proc.
user32: Always use NtCallbackReturn in User32DrawText.
wow64win: Define more 32-bit types.
wow64win: Support in place conversion in 64to32 struct conversion helpers.
wow64win: Convert parameters in place in wow64_NtUserCallWinProc.
wow64win: Convert parameters in place in wow64_NtUserCallWindowsHook.
user32: Always use NtCallbackReturn to pass result from User32CallWindowsHook.
win32u: Pass module name before packed lparam in win_hook_params.
win32u/tests: Add tests for handling LPARAM in window procs and hooks.
Jacob Czekalla (1):
comdlg32: Add parent folder button to IFileDialog.
Jeff Smith (10):
gdiplus: Dash pattern scaling does not shrink below line width 1.0.
gdiplus/tests: Fix mangled test output when dumping data in hex format.
gdiplus/tests: Use consistent no-alternate value for image properties.
gdiplus/tests: Add GIF to image properties tests.
gdiplus/tests: Use test context for test ran in a loop.
gdiplus/tests: Pare down image property tests that are not run for Wine.
gdiplus: Fix GdipGetPropertySize return value when no properties exist.
gdiplus: Fix GdipGetAllPropertyItems return value when no properties exist.
windowscodecs: Factor out common GIF palette copying logic.
windowscodecs: Allow GIF with no color table.
Jinoh Kang (11):
riched20: Wrap marked paragraphs at Text Services initialization.
riched20/tests: Add tests for change notifications caused by EM_SETSEL{,EX}.
riched20: Don't call ME_UpdateRepaint inside set_selection().
ntdll: Fail loudly if RtlActivateActivationContextEx fails to allocate memory.
riched20: Factor out device context acquisition from ME_MakeFirstParagraph.
riched20: Don't call wrap_marked_paras_dc() before the editor is fully initialized.
msi: Fully initialize the control structure in dialog_line_control().
msi: Make insertion order of line controls consistent with other controls.
msi: Don't open code dialog_add_control() in dialog_line_control().
ntdll: Fix restoring X16 and X17 in ARM64 syscall dispatcher.
winegcc: Enable SafeSEH only on i386.
Kurt Kartaltepe (3):
winegstreamer: Replace pointers with handles in PE->Unix transition.
winegstreamer: Replace ambiguously sized/aligned elements.
winegstreamer: Implement Wow64 entrypoints in the Unix library.
Maxim Karasev (5):
include: Add UNICODE_NULL.
include: Update _SECURITY_INTEGER.
include: Add missing Kerberos related defines.
klist: Add a program that lists Kerberos tickets.
include: Add more Kerberos cache info types.
Nikolay Sivov (3):
d3dcompiler/tests: Add some tests for matrix packing order compile flags.
windows.globalization: Use separate AddRef/Release methods for the language factory.
d3dcompiler/tests: Add another test for matrix majority flags.
Paul Gofman (8):
d3d11/tests: Add basic test for shared resources.
include: Add initial ioring definitions.
kernelbase: Add stub for QueryIoRingCapabilities().
ntdll/tests: Add test for async cancel on pipe's last process handle close.
ws2_32/tests: Add test for async cancel on socket's last process handle close.
server: Cancel socket asyncs when the last handle in process is closed.
server: Cancel pipe asyncs when the last handle in process is closed.
user32/tests: Change display mode for correct monitor in check_preferred_mode().
Petrichor Park (1):
notepad: Use GetDpiForWindow().
Piotr Caban (6):
wineps: Fix SetTextJustification playback with 0 count parameter.
wineps: Buffer data sent to printer port.
services: Exit early in process_send_start_message if ConnectNamedPipe fails.
msvcrt: Pass correct buffer to locale_to_sname helper in create_locinfo.
msvcrt: Improve locale_to_sname error handling.
msvcrt: Set sname_match in locale_to_sname when returning cached result.
Shaun Ren (16):
sapi: Invoke AddRef in mmaudio SetObjectToken.
sapi: Invoke AddRef in ISpVoice::SetVoice.
sapi/tests: Fix intermittent duration test failure in mmaudio.
sapi/tests: Fix ISpObjectToken::CreateInstance E_ACCESSDENIED error.
include: Fix ISpTTSEngineSite::GetActions return type.
sapi: Handle queue not initialized in async_empty_queue.
sapi: Reset empty event after queuing a task in async_queue_task.
sapi: Implement ISpVoice::Speak SPF_PURGEBEFORESPEAK.
sapi: Partially implement ISpVoice::Speak SPF_ASYNC.
sapi: Implement synchronous ISpVoice::Speak.
sapi: Introduce ISpTTSEngineSite stub.
sapi: Implement ISpVoice::Speak speak_proc.
sapi: Implement ISpTTSEngineSite::Write.
sapi: Implement ISpTTSEngineSite::GetActions/Rate/Volume.
sapi: Return wait status in async_wait_queue_empty.
sapi: Implement ISpVoice::WaitUntilDone.
Sven Baars (6):
wow64win: Call NtUserSetClassLongPtr() from wow64_NtUserSetClassLongPtr().
wow64: Return STATUS_NOT_IMPLEMENTED from wow64_NtSetInformationToken().
ntdll: Test against the correct limit in get_extended_params().
ntdll/tests: Update some more todos that succeed with the new wow64 architecture.
kernel32/tests: Update a todo that succeeds with the new wow64 architecture.
wow64win: Always use NtUserSetWindowLongPtr() for GWLP_HINSTANCE and GWLP_WNDPROC.
Tim Clem (4):
wow64win: Consistently marshal HINSTANCEs and HMODULEs as pointers.
shell32: Don't fall back to $HOME for missing user special folders.
wmp: Don't release a NULL typelib.
wmp: Release filter graph and interfaces if WMPControls::play fails.
Torge Matthies (1):
ntdll: Implement efficiency class reporting for Intel hybrid CPUs.
Victor Chiletto (9):
msvcr110/tests: Add tests for new setlocale behaviors.
msvcr120/tests: Check ___lc_locale_name_func with neutral Chinese locales.
msvcrt: Use snames instead of LCIDs in create_locinfo.
msvcrt: Convert locale_to_LCID to snames.
msvcrt: Skip exhaustive locale search with valid snames.
msvcrt: Simplify set_lc_locale_name.
msvcrt: Remap synonyms to snames.
msvcrt: Use GetLocaleInfoEx to compare locale info.
user32: Add hotpatch prologue to RegisterRawInputDevices.
Yuxuan Shui (1):
msvcrt: Fix out-of-bound access in create_locinfo.
Zebediah Figura (14):
wined3d: Move struct wined3d_device_vk to wined3d_vk.h.
wined3d: Move struct wined3d_texture_vk to wined3d_vk.h.
wined3d: Move struct wined3d_sampler_vk to wined3d_vk.h.
wined3d: Move struct wined3d_buffer_vk to wined3d_vk.h.
wined3d: Move struct wined3d_rendertarget_view_vk to wined3d_vk.h.
wined3d: Move struct wined3d_shader_resource_view_vk to wined3d_vk.h.
opengl32: Copy to the wow64 buffer even for write maps.
opengl32: Correctly interpret glMapBuffer() access in wow64 mapping.
wined3d: Move struct wined3d_unordered_access_view_vk to wined3d_vk.h.
wined3d: Move struct wined3d_swapchain_vk to wined3d_vk.h.
wined3d: Move struct wined3d_format_vk to wined3d_vk.h.
wined3d: Move remaining wined3d_context_vk functions to wined3d_vk.h.
wined3d: Move vk_aspect_mask_from_format() functions to wined3d_vk.h.
wined3d: Move the wined3d_vk.h include to individual files.
Zhao Yi (2):
comctl32/tests: Add a test case to get syslinkid.
comctl32/syslink: Check item type before increasing link ID in SYSLINK_LinkAtPt().
Zhiyi Zhang (3):
comctl32/tests: Add Korean IME specific test sequences.
user32/tests: Add Korean IME specific test sequences.
winex11.drv: Move the dummy parent window to (0, 0).
The Wine stable release 8.0.2 is now available.
What's new in this release:
- Various bug fixes
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.0.2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.0.2 (total 27):
- #11436 Pepakura viewer: err:wgl:X11DRV_wglShareLists Could not share display lists, context already created !
- #35254 Freemake Video Converter 4.1 installer complains about running Freemake processes (builtin 'findstr' stub app always returns "match")
- #49964 32-bit dxdiag doesn't support '/64bit' command line switch (launch 64-bit dxdiag)
- #51178 The Bat! v9.3.4.12: Missing content in TTreeViews on Windows versions higher than 8
- #52322 wineserver memory leak during HTTPs download (Genshin Impact Launcher, Qt5)
- #53073 mfplat: unimplemented function while loading Devil May Cry 1
- #53704 Bible Black ~La Noche de Walpurgis~ won't start
- #53781 Multiple apps crash on unimplemented function CFGMGR32.dll.CM_MapCrToWin32Err (Matrix Awakens MegaCity Unreal Engine 5.1 demo, Hogwarts Legacy)
- #53794 Sins of the Solar Empire Rebellion (Gog 1.975.1) crashes on unimplemented function concrt140.dll.?_CheckTaskCollection@_UnrealizedChore@details@Concurrency@@IAEXXZ
- #53826 Attempting to install / update battle.net fails with Qt error
- #53983 Chromium broken sandbox, needs NtQueryInformationProcess with ProcessHandleTable
- #54110 CubicSDR crashes on unimplemented function msvcp140.dll.?_Rethrow_future_exception@std@@YAXVexception_ptr@1@@Z
- #54618 VARA FM crashes on unimplemented function pdh.dll.PdhVbGetDoubleCounterValue
- #54640 Treecomp listviews and possibly other widgets are not drawn
- #54675 Chocolatey OpenSSH installer fails
- #54687 LibreVR Revive fails to run (CertGetNameStringW with dwType=CERT_NAME_ATTR_TYPE and pvTypePara missing additional fallbacks)
- #54702 ldp.exe crashes when attempting to add, delete, modify, or compare an entry without a name
- #54724 LDAP bind over SSL to a server and port that do not support SSL hangs forever
- #54728 Pro Evolution Soccer 2008 demo takes +- 9 minutes to complete extracting 'Pro Evolution Soccer 2008 DEMO.msi' (disabling 'Light' theme works around)
- #54733 Notepad3 crashes on unimplemented function SHLWAPI.dll.StrFormatByteSizeEx
- #54799 wininet:internet - test_InternetGetConnectedStateExA() fails in the Japanese and Chinese locales in Wine
- #54808 Access violation in ntdll when running Adolix Split and Merge PDF with .NET Framework installed
- #54819 DnsQuery_A() mishandles CNAME DNS records
- #54882 Conemu fails to start (cannot attach to process)
- #54939 Dotted files are shown - but "don't show dotted" files is active
- #54960 winhttp:winhttp - test_websocket() fails on Windows and Wine
- #55008 wininet:http - test_secure_connection() fails on Windows and Wine
----------------------------------------------------------------
Changes since 8.0.1:
Alex Henrie (12):
comctl32/treeview: Ignore the lParam to WM_PRINTCLIENT and add tests.
wldap32: Handle null DN or null message in ldap_add* and add tests.
wldap32: Handle null DN or null message in ldap_modify* and add tests.
wldap32: Handle null DN or null attr in ldap_compare* and add tests.
wldap32/tests: Use the same context in test_ldap_(add|modify_compare).
wldap32: Handle null DN or null message in ldap_delete* and add tests.
winex11: Simplify confusing condition and error messages in wglShareLists.
opengl32/tests: Make the wglShareLists tests comprehensive.
winex11: Allow replacing either context in wglShareLists.
kernel32/tests: Check that lpSectionBase != NULL before dereferencing.
ntdll: Increment offset by len in build_clr_surrogate_section.
winemenubuilder: Skip desktop integration for certain associations.
Alexandre Julliard (3):
kernelbase: Move to a higher address on 64-bit.
ntdll: Fix typo in the check for hidden files.
wininet/tests: Update expected WineHQ certificate.
Alistair Leslie-Hughes (1):
activeds: Free memory on error paths (coverity).
Bernhard Übelacker (1):
ntoskrnl: Do not leak memory by setting input buffer to NULL.
Biswapriyo Nath (2):
include: Fix c++ compiler error with msxml2.idl.
include: Fix IDirectXVideoDecoderService declaration in dxva2api.idl.
Brendan Shanks (7):
include/msvcrt: Add __WINE_(DEALLOC|MALLOC) attributes to _strdup and _wcsdup.
msvcrt: Fix crash when rethrowing after a non-C++ exception on x86_64.
winemac: Fix memory leak in UpdateDisplayDevices.
winemac: Refactor constrain_window_frame() to use separate origin and size arguments.
winemac: Set the Cocoa window contentMaxSize to the size limits from constrain_window_frame().
winemac: Don't constrain surface dimensions to the onscreen part of a window.
winemac: Initialize retina_on to avoid incorrect cached display data in high-res/retina mode.
David Kahurani (1):
shlwapi: Implement StrFormatByteSizeEx.
Eric Pouech (3):
winedbg: Don't crash when no search path has been set.
evr: Fix incorrect integral computation.
winedump: Fix out of bounds access (spotted by GCC13).
François Gouget (2):
wininet/tests: Dump the state string if it is not as expected.
wininet: InternetGetConnectedStateExA() must always null-terminate the state string.
Gabriel Ivăncescu (8):
mshtml: Fix nsevent leak in create_document_event.
mshtml: Fix nsscript leak in bind_event_scripts.
mshtml: Fix nsuri leak if create_channelbsc failed.
mshtml: Fix nsparser leak if script_elem_from_nsscript failed.
mshtml: Fix factory leak in init_nsio.
mshtml: Fix nsIFile dir leak in init_xpcom.
mshtml: Fix URI leak in NewURI on failure.
mshtml: Store minimum compat mode required for events in the ctor table.
Hans Leidekker (3):
ldap: Return an error when the server doesn't respond to the SSL handshake.
ws2_32: Skip non-address records in dns_only_query().
winhttp/tests: Fix a test failure.
Jactry Zeng (1):
wordpad: Resize buttons of toolbar to make them align with height of the font list combox.
Jinoh Kang (2):
kernel32/tests: Test for manifest file open share mode in CreateActCtxW.
ntdll: Open application manifest files with FILE_SHARE_DELETE.
Louis Lenders (1):
wine.inf: Add EditionID to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion.
Michael Stefaniuc (2):
dmsynth: Don't crash when Open() gets a DMUS_PORTPARAMS7.
threadpoolwinrt: Forward a Release() to a Release() method.
Mohamad Al-Jaf (4):
pdh: Implement PdhVbGetDoubleCounterValue().
pdh/tests: Add PdhVbGetDoubleCounterValue() tests.
cfgmgr32: Implement CM_MapCrToWin32Err.
cfgmgr32/tests: Add CM_MapCrToWin32Err tests.
Nikolay Sivov (1):
mfplat: Implement MFCreatePathFromURL().
Olivier F. R. Dierick (1):
dxdiag: Ignore option /64bit on the commandline.
Paul Gofman (2):
ntdll: Add stub for NtQueryInformationProcess( ProcessHandleTable ).
ntdll: Avoid integer overflow in block_get_subheap().
Piotr Caban (1):
localspl: Don't pass original document name to cupsStartDocument.
Sven Baars (1):
wine.inf: Put the Clients key in the right place.
Tim Clem (1):
winemac.drv: Force a window in front of its peers if its level is decreased.
Torge Matthies (4):
ntdll/tests: Add test for file attributes of files with names beginning with a dot.
ntdll: Handle hidden file names inside get_file_info instead of after it.
ntdll: Only infer hidden attribute from file name if xattr is not present.
ntdll: Set xattr in NtCreateFile if inferred and requested attributes don't match.
Tyson Whitehead (2):
crypt32: Add some CertGetNameStringW fallback cases.
crypt32/tests: Test for CertGetNameStringW fallback cases.
Vijay Kiran Kamuju (2):
msvcr100: Add _UnrealizedChore::_CheckTaskCollection stub.
msvcp110: Add std::_Rethrow_future_exception implementation.
Zebediah Figura (1):
ntdll: Make fd_set_file_info() static.
Zhiyi Zhang (4):
light.msstyles: Use border fill background for progress parts.
light.msstyles: Don't draw a border for progress fill parts.
findstr: Add basic functionality.
wined3d: Add GPU information for AMD Raphael.
Ziqing Hui (1):
mfreadwrite: Fix an address of operator typo.
The Wine development release 8.12 is now available.
What's new in this release:
- Initial support for painting windows in the Wayland driver.
- Command stream performance improvements in WineD3D.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.12.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.12 (total 31):
- #7767 Zero G Software 'InstallAnywhere' installers crash or silently exit (Rosetta Stone, Reading Counts, World Religions, Parashara's Light Professional 7.0.1)
- #9378 Combat Mission Shock Force DEMO: 'Could not initialize OpenGL graphics.'
- #17868 tools/widl.c: warning: initialization discards qualifiers from pointer target type
- #38938 SlingPlayer 1.5 crashes when moving the main window
- #47089 32-bit Winamp 5.80 installer crashes in 64-bit WINEPREFIX after pressing 'Next'
- #49772 Memory safety issues in widl
- #53085 Free Video Converter complains about being unable to install .Net 2.0
- #53086 Free Video Converter needs certutil.exe
- #53907 SierraChart Freezes when allocating more than one account
- #54257 Missing support for Windows 2003 (5.2) in OleAut version detection
- #54532 msidb.exe: page fault on read access to 00000007 when importing a .idt file
- #54978 vbscript fails to compile Sub when End Sub on same line
- #54996 msys2: gpg.exe fails because "NtSetInformationFile Unsupported class (64)" / FileDispositionInformationEx
- #55053 Prometheus exporter for Windows needs DISPATCH_PROPERTYGET support in object_Invoke
- #55062 Starcraft II Graphics Only Work When Window is Out of Focus
- #55096 Moving loader to PIE removed loaded modules chain view from debuggers
- #55099 Excel 2016 crashes on date cell formatting
- #55101 DesignDoll Declaring An Error After Loading All Component In Splash Screen
- #55110 quartz:vmr7 & quartz:vmr9 sometimes exit prematurely in Wine
- #55114 secur32:schannel - The 32-bit test_connection_shutdown() crashes on Windows <= 8
- #55120 kernel32:debugger - test_debug_loop_wow64() gets wrong ntdll count in the new WoW mode
- #55124 Can't run Flutter SDK (cmd.exe doesn't support redirecting stderr for a block)
- #55126 Flutter application needs Windows.Devices.Geolocation.Geolocator
- #55128 dbghelp:dbghelp & dbghelp:path - Call to SymSetExtendedOption() prevents running on Windows 7, 8 & 10 <= 1607
- #55137 Missing support for SCARD_AUTOALLOCATE
- #55141 virtual desktop not rendering with some dual monitor setups (regression: 8.10 -> 8.11)
- #55144 Error when I run Navigraph FMS Data Manager
- #55146 Virtual desktop is fullscreen regardless of the desktop size setting in winecfg
- #55160 Loading Bay / Harry Potter Magic Awakened: Unable to install
- #55194 oleaut32:vartest - test_VarImp() fails in Wine
- #55201 Wine fails to build with clang-11.0.1 due to recent nameless unions/structs VARIANT changes
----------------------------------------------------------------
Changes since 8.11:
Alex Henrie (12):
dbghelp: Allocate real_path with the CRT and copy it to the module heap.
winegstreamer: Fix double free on error path in media_source_constructor (scan-build).
regedit: Fix memory leak on error path in RenameKey (scan-build).
shell32: Don't overallocate in Dde_OnRequest (scan-build).
include: Use correct header guard name in winstring.h.
include: Introduce wine_dbgstr_hstring and debugstr_hstring.
winspool: Declare JobW as a void pointer in SetJobA.
winhttp: Use specific types insted of sizeof(ULONG_PTR) in alloc_handle.
cmd: Allow numbered redirects at the beginning of a line.
vbscript: Use correct pointer type in add_match (scan-build).
include: Add REPARSE_(GUID_)DATA_BUFFER and related constants.
include: Add IsReparseTagNameSurrogate.
Alexandre Julliard (34):
ntdll/tests: Add some tests for NtQueryVirtualMemory(MemoryImageInformation).
ntdll: Implement NtQueryVirtualMemory(MemoryImageInformation).
ntdll: Implement RtlIsCurrentProcess/Thread.
faudio: Import upstream release 23.07.
png: Import upstream release 1.6.40.
tiff: Import upstream release 4.5.1.
uiautomationcore: Fix some long/LONG mismatches.
oleaut32: Get rid of the DECIMAL access macros.
oleaut32: Use nameless unions/structs.
oleaut32/tests: Use nameless unions/structs.
ole32: Use nameless unions/structs.
ole32/tests: Use nameless unions/structs.
shell32: Use nameless unions/structs.
shell32/tests: Use nameless unions/structs.
shlwapi: Use nameless unions/structs.
oleaut32: Fix a typo introduced by last change.
combase: Use nameless union/structs.
crypt32: Use nameless union/structs.
dbghelp: Use nameless union/structs.
mountmgr.sys: Use nameless union/structs.
ntoskrnl.exe: Use nameless union/structs.
rpcrt4: Use nameless union/structs.
ws2_32: Use nameless union/structs.
include: Disallow Win32 va_list in Unix libraries.
include: Define LONG_PTR as int on llvm-mingw to avoid printf format warnings.
configure: Allow using clang as cross-compiler for multiple archs.
configure: Define __STDC__ to work around clang breakage in MSVC mode.
configure: Don't try to use a non-compliant cross-compiler.
advapi32/tests: Avoid sizeof() in traces.
dmstyle: Avoid sizeof() in traces.
kernel32/tests: Avoid sizeof() in traces.
ntoskrnl.exe/tests: Avoid sizeof() in traces.
wmvcore/tests: Avoid sizeof() in traces.
wtsapi32/tests: Avoid sizeof() in traces.
Alexandros Frantzis (10):
winewayland.drv: Introduce per-window driver data.
winewayland.drv: Basic Wayland toplevel surface support.
winewayland.drv: Ensure Wayland surface handlers don't access invalid data.
winewayland.drv: Introduce window_surface for Wayland.
winewayland.drv: Implement a simple window_surface flush.
winewayland.drv: Do not commit buffers to unconfigured surfaces.
winewayland.drv: Use a buffer queue for window_surface.
winewayland.drv: Track damaged buffer regions.
winewayland.drv: Update only the flushed bounds from the window_surface.
winewayland.drv: Send surface damage region to the compositor.
Alistair Leslie-Hughes (56):
wined3d: Rename shader_extract_from_dxbc to wined3d_shader_extract_from_dxbc.
dpnet: Remove DECLSPEC_HIDDEN usage.
dplayx: Remove DECLSPEC_HIDDEN usage.
dpvoice: Remove DECLSPEC_HIDDEN usage.
dpnet/tests: Remove DECLSPEC_HIDDEN usage.
msdasql: Remove DECLSPEC_HIDDEN usage.
mfsrcsnk: Remove DECLSPEC_HIDDEN usage.
infosoft: Remove DECLSPEC_HIDDEN usage.
mapi32: Remove DECLSPEC_HIDDEN usage.
sapi: Remove DECLSPEC_HIDDEN usage.
inetcomm: Remove DECLSPEC_HIDDEN usage.
dsdmo: Add Chorus effect stub.
dsdmo: Add Flanger effect stub.
dmsynth: Remove DECLSPEC_HIDDEN usage.
dmstyle: Remove DECLSPEC_HIDDEN usage.
dmband: Remove DECLSPEC_HIDDEN usage.
dmcompos: Remove DECLSPEC_HIDDEN usage.
dmusic: Remove DECLSPEC_HIDDEN usage.
dmscript: Remove DECLSPEC_HIDDEN usage.
dswave: Remove DECLSPEC_HIDDEN usage.
dmime: Remove DECLSPEC_HIDDEN usage.
dmloader: Remove DECLSPEC_HIDDEN usage.
oleaut32: Fix OaBuildVersion return for available windows versions.
oleaut32: Changed default return value to match prefix default.
msscript.ocx: Fake success in OnAmbientPropertyChange.
msscript.ocx: Fake success in IPersistStreamInit Load.
msscript.ocx: Fake success in FreezeEvents.
jscript: Remove DECLSPEC_HIDDEN usage.
vbscript: Remove DECLSPEC_HIDDEN usage.
amstream: Remove DECLSPEC_HIDDEN usage.
devenum: Remove DECLSPEC_HIDDEN usage.
qasf: Remove DECLSPEC_HIDDEN usage.
qcap: Remove DECLSPEC_HIDDEN usage.
qdvd: Remove DECLSPEC_HIDDEN usage.
qedit: Remove DECLSPEC_HIDDEN usage.
quartz: Remove DECLSPEC_HIDDEN usage.
oledb32: Remove DECLSPEC_HIDDEN usage.
ole32: Remove DECLSPEC_HIDDEN usage.
oleaut32: Remove DECLSPEC_HIDDEN usage.
oleacc: Remove DECLSPEC_HIDDEN usage.
oledlg: Remove DECLSPEC_HIDDEN usage.
combase: Remove DECLSPEC_HIDDEN usage.
riched20: Remove DECLSPEC_HIDDEN usage.
localspl: Remove DECLSPEC_HIDDEN usage.
spoolss: Remove DECLSPEC_HIDDEN usage.
winspool.drv: Remove DECLSPEC_HIDDEN usage.
wineps.drv: Remove DECLSPEC_HIDDEN usage.
urlmon: Remove DECLSPEC_HIDDEN usage.
shdocvw: Remove DECLSPEC_HIDDEN usage.
wininet: Remove DECLSPEC_HIDDEN usage.
xaudio2_7: Remove DECLSPEC_HIDDEN usage.
dsound: Remove DECLSPEC_HIDDEN usage.
winmm: Remove DECLSPEC_HIDDEN usage.
msi: Remove DECLSPEC_HIDDEN usage.
advapi32: Remove DECLSPEC_HIDDEN usage.
dinput: Remove DECLSPEC_HIDDEN usage.
Ally Sommers (2):
ntdll/unix: Skip address conversion for SOCK_STREAM sockets in try_send().
ws2_32/tests: Add test for sendto() and recvfrom() on TCP sockets.
Andrey Gusev (1):
ntoskrnl.exe: Add PsSetLoadImageNotifyRoutineEx semi-stub.
Arkadiusz Hiler (1):
win32u: Don't affect nonclient area unless requested.
Bernhard Kölbl (5):
widl: Add basic support for the [deprecated] attribute.
include: Add Windows.Phone.PhoneContract api contract.
include: Add VoiceCommandSet runtimeclass with its dependencies.
mfmediaengine/tests: Add tests for video effects.
mfmediaengine: Add support for inserting video effects.
Billy Laws (3):
ntdll: Avoid using SOL_IPX to detect whether IPX is supported.
ws2_32: Avoid using SOL_IPX to detect whether IPX is supported.
server: Avoid using SOL_IPX to detect whether IPX is supported.
Brendan Shanks (1):
winevulkan: Set zero_bits correctly for large address aware applications on Wow64.
Connor McAdams (5):
uiautomationcore: Introduce UI Automation event thread.
uiautomationcore: Introduce custom uia_event_args structure.
uiautomationcore: Add partial support for raising serverside events.
uiautomationcore: Create a new node when raising serverside events.
uiautomationcore: Add support for invoking serverside event callbacks.
Damjan Jovanovic (1):
opengl32: Implement filtering on all the ChoosePixelFormat() flags that are ignored when unset.
Davide Beatrici (33):
winealsa: Use standard allocator in AudioClient's Initialize.
winecoreaudio: Use standard allocator in AudioClient's Initialize.
wineoss: Use standard allocator in AudioClient's Initialize.
winepulse: Move AudioClient's Initialize into mmdevapi.
winealsa: Use mmdevapi's AudioClient's Initialize.
winecoreaudio: Use mmdevapi's AudioClient's Initialize.
wineoss: Use mmdevapi's AudioClient's Initialize.
winecoreaudio: Refactor AudioClient's Release to match other drivers.
winepulse: Refactor AudioClient's Release to match other drivers.
winepulse: Move AudioClient's Release, AddRef into mmdevapi.
winealsa: Use mmdevapi's AudioClient's Release, AddRef.
winecoreaudio: Use mmdevapi's AudioClient's Release, AddRef.
wineoss: Use mmdevapi's AudioClient's Release, AddRef.
winepulse: Move AudioClient's QueryInterface into mmdevapi.
winealsa: Use mmdevapi's AudioClient's QueryInterface.
winecoreaudio: Use mmdevapi's AudioClient's QueryInterface.
wineoss: Use mmdevapi's AudioClient's QueryInterface.
winepulse: Move AudioClient's vtable into mmdevapi.
winecoreaudio: Return E_UNEXPECTED with invalid dataflow in GetAudioEndpoint.
wineoss: Return E_UNEXPECTED with invalid dataflow in GetAudioEndpoint.
winepulse: Return E_UNEXPECTED with invalid dataflow in GetAudioEndpoint.
winealsa: Refactor get_device_name_from_guid() to allocate memory dynamically.
winecoreaudio: Refactor get_device_name_from_guid() to allocate memory dynamically.
wineoss: Refactor get_device_name_from_guid() to allocate memory dynamically.
winepulse: Refactor get_device_name_from_guid() to allocate memory dynamically.
winepulse: Move session_init_vols into mmdevapi.
winealsa: Move session_init_vols into mmdevapi.
winecoreaudio: Move session_init_vols into mmdevapi.
wineoss: Move session_init_vols into mmdevapi.
winepulse: Move create_session into mmdevapi.
winealsa: Move create_session into mmdevapi.
winecoreaudio: Move create_session into mmdevapi.
wineoss: Move create_session into mmdevapi.
Eric Pouech (9):
dbghelp: Add tests for SymSrvGetFileIndexInfo() for PDB files.
dbghelp: Implement SymSrvGetFileIndexInfo for PDB files.
dbghelp/tests: Don't call SymSetExtendedOption() directly.
dbghelp/tests: Use indirect call for SymSetExtendedOption.
d3dx9/tests: Clean up some ok() messages.
dbghelp: Use nameless union/structs.
winedbg: Cache wow64 status inside struct process.
winedbg: Add 'info system' command.
winedbg: Detect debuggee termination before first exception.
Esme Povirk (2):
win32u: Implement marshaling for CB_GETCOMBOBOXINFO.
win32u: Implement EVENT_OBJECT_SHOW/HIDE for window objects.
Evan Tang (2):
winemac.drv: Give Apple GPUs device IDs.
winemac.drv: Fix compile on macOS 10.14.
Fabian Maurer (14):
widl: Don't crash on nameless structs.
windowscodecs: Fake success in SetMetadataByName.
dcomp: Add stub for DCompositionCreateDevice3.
vbscript: Support one-line sub/function.
user32: Ignore invalid parameters in DrawTextEx when HDC is invalid.
kerberos: Avoid potentially uninitialized variable (clang-scan).
include/windows.foundation: Add double reference.
include: Add windows.devices.geolocation.geolocator.
windows.devices.geolocation.geolocator: Add stub dll.
windows.devices.geolocation.geolocator: Add stubs for IGeolocator.
windows.devices.geolocation.geolocator: Fake success for PositionChanged_add.
windows.devices.geolocation.geolocator: Implement IWeakReferenceSource.
windows.devices.geolocation.geolocator: Implement IWeakReference.
localspl: Add workaround for old versions of cups.h.
François Gouget (1):
user32/tests: Fix a WM_DISPLAYCHANGE broken() condition.
Gabriel Ivăncescu (21):
mshtml: Remove DECLSPEC_HIDDEN usage.
win32u: Don't clip fullscreen windows while capturing mouse pointer.
mshtml: Introduce helper to transfer node ownership to range points when AddRef isn't needed.
mshtml: Fix leak when obtaining previous node of range point.
mshtml: Fix leak when moving to next char in range point.
mshtml: Fix leak in find_prev_space.
mshtml: Fix text node leak in TextRange's text setter.
mshtml/tests: Fix element leak in test_elems.
mshtml/tests: Fix form element leak in test_form_item.
mshtml/tests: Fix attribute leak in test_attr.
mshtml/tests: Fix node leak in test_create_elems.
mshtml/tests: Fix node leaks in test_docfrag.
mshtml/tests: Fix performance leaks in test_document_mode_lock.
mshtml/tests: Fix element leak in test_frameset.
mshtml/tests: Fix node leak in test_replacechild_elems.
mshtml/tests: Fix performance leak in test_window.
mshtml/tests: Fix element leak in get_elem_doc.
mshtml/tests: Fix DispatchEx leak in test set_dispex_value.
mshtml/tests: Fix anchor element leaks in test helpers.
mshtml/tests: Fix area element leaks in test helpers.
mshtml/tests: Fix image element leaks in test helpers.
Georg Lehmann (1):
winevulkan: Keep deferred operation function params alive.
Giovanni Mascellani (6):
dxgi/tests: Test that the back buffer index is updated when Present() is called.
dxgi/tests: Test that the present count is updated when Present() is called.
dxgi: Consider vk_format a frontend field.
dxgi: Free the frontend images memory only once.
dxgi: Pass a VkImage to d3d12_swapchain_queue_present().
dxgi: Split D3D12/Vulkan resource creation and destruction.
Hans Leidekker (7):
winscard: Implement SCARD_AUTOALLOCATE for multi-string return values.
winscard: Map only the reader name in map_states_inA/W().
bcrypt: Add RC4 algorithm stub.
secur32: Fix a couple of return values.
secur32/tests: Get rid of workarounds for old Windows versions.
secur32: Reduce indentation level in schan_QueryContextAttributesA/W().
secur32/tests: Fix a test failure.
Jacek Caban (13):
ntdll: Inherit ConsoleHandle only by CUI processes.
gdi32: Don't use DECLSPEC_HIDDEN.
make_unicode: Don't use DECLSPEC_HIDDEN.
gdi32/uniscribe: Don't use DECLSPEC_HIDDEN.
ieframe: Don't use DECLSPEC_HIDDEN.
winegcc: Disable exporting all symbols on mingw targets.
winedump: Add support for dumping IMPORT_OBJECT_NAME_EXPORTAS symbols.
dbghelp: Use V_INT macro to access VARIANT value.
oleaut32/tests: Don't use __tagBRECORD type.
oleaut32: Don't use __tagBRECORD type.
oleaut32: Use macros to access variant members.
include: Don't force named VARIANT members when __STDC__ is defined.
wow64win: Fix NULL buffer handling in wow64_NtUserBuildHimcList.
Jiajin Cui (1):
shell32: Make sure wcmd has enough space to hold the string.
Joel Holdsworth (9):
include: Define FILE_DISPOSITION_INFORMATION_EX and friends.
ntdll: Initial implementation of FileDispositionInformationEx.
ntdll/tests: Add tests for FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE.
ntdll: Implement FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE.
ntdll/tests: Add tests for FILE_DISPOSITION_ON_CLOSE.
ntdll: Implement FILE_DISPOSITION_ON_CLOSE.
ntdll/tests: Add tests for FILE_DISPOSITION_POSIX_SEMANTICS.
server: Replace unlink member of closed_fd with disp_flags.
ntdll: Implement FILE_DISPOSITION_POSIX_SEMANTICS.
Kevin Schmidt (1):
taskmgr: Use macro for the color black too.
Maarten De Braekeleer (1):
cmd: Fix 'if exist' with a directory/ as a parameter.
Matteo Bruni (14):
wined3d: Increase the CS queue size to 16 MiB on 64-bit architectures.
wined3d: Block in wined3d_cs_emit_present() when we reach the latency limit.
wined3d: Call YieldProcessor() when spinning waiting for CS commands.
wined3d: Make the CS thread yield CPU when it can't block waiting.
wined3d: Reduce CS spin count to 2000.
d3dx9/tests: Increase tolerance for a D3DXSHMultiply3 test.
d3dx9/tests: Get rid of unnecessary checks.
d3dx9/tests: Use test message contexts in test_ID3DXFont().
d3dx9/tests: Get rid of unnecessary checks in test_D3DXCreateRenderToEnvMap().
d3dx9/tests: Use test contexts in test_D3DXCreateRenderToEnvMap().
d3dx9/tests: Use test contexts in test_effect_parameter_value().
d3dx9/tests: Get rid of unnecessary checks in test_effect_states().
d3dx9/tests: Use test contexts in test_effect_preshader_ops().
d3dx9/tests: Use test contexts in test_effect_commitchanges().
Michael Stefaniuc (3):
gdiplus/tests: Remove superfluous casts to self.
windows.gaming.input: Drop superfluous casts to self.
wow64win: Remove dangling space after newline in ERR() message.
Mohamad Al-Jaf (17):
twinapi.appcore: Add RegisterAppConstrainedChangeNotification() stub.
twinapi.appcore: Add UnregisterAppConstrainedChangeNotification() stub.
pnputil: Add stub program.
include: Add windows.devices.radios.idl file.
include: Add windows.devices.bluetooth.idl file.
windows.devices.bluetooth: Add stub DLL.
windows.devices.bluetooth: Add IBluetoothAdapterStatics stub interface.
windows.devices.bluetooth/tests: Add IBluetoothAdapterStatics::GetDeviceSelector() tests.
windows.devices.bluetooth: Implement IBluetoothAdapterStatics::GetDeviceSelector().
include: Add support for BYTE IReference.
include: Add windows.networking.connectivity.idl file.
include: Add windows.networking.idl file.
windows.networking.hostname: Add stub DLL.
windows.networking.hostname: Add IHostNameFactory stub interface.
windows.networking.hostname/tests: Add IHostNameFactory::CreateHostName() tests.
windows.networking.hostname: Implement IHostNameFactory::CreateHostName().
windows.networking.hostname: Implement IHostName::get_RawName().
Nikolay Sivov (3):
mfmediaengine/tests: Allocate notification object on heap for frame transfer tests.
mfmediaengine/tests: Use correct type for url argument in SetSourceFromByteStream().
mfmediaengine/tests: Remove unnecessary broken() result.
Paul Gofman (9):
Revert "crypt32: Do not create persistent container in CRYPT_CreateKeyProv().".
crypt32/tests: Test CertCreateSelfSignCertificate() without provider info.
crypt32/tests: Add test for CryptVerifyCertificateSignature() with ECC public key.
crypt32/tests: Test ECC message signature verification.
crypt32: Add OID info for szOID_ECC_PUBLIC_KEY.
crypt32: Factor out extract_hash() helper.
crypt32: Factor out cng_prepare_signature().
crypt32: Support CNG keys in CDecodeSignedMsg_VerifySignatureWithKey().
bcrypt: Pass GNUTLS_VERIFY_ALLOW_BROKEN to gnutls_pubkey_verify_hash2().
Piotr Caban (1):
gdi32: Fix DIB_PAL_INDICES usage handling in EMR_CREATEMONOBRUSH playback.
Rémi Bernon (26):
mfplat: Use QueryPerformanceCounter in MFGetSystemTime.
explorer: Use CRT allocation functions.
explorer: Use unprefixed debug macros.
explorer: Use wide string literals.
maintainers: Assume GStreamer media source maintainership.
winegstreamer: Keep a reference on the media source start descriptor.
winegstreamer: Lookup stream descriptors before starting streams.
winegstreamer: Create and destroy result entries using dedicated helpers.
winegstreamer: Rename winegstreamer_stream_handler to stream_handler.
winegstreamer: Lookup stream handler result using a dedicated helper.
winegstreamer: Remove unused props from create_object_context.
winegstreamer: Return early if no byte stream was provided.
winegstreamer: Simplify media source creation flags handling.
winegstreamer: Return a IMFMediaSource from media_source_constructor.
winegstreamer: Keep the caller result in create_object_context.
explorer: Use debugstr_devmodew helper to trace display mode.
explorer: Rename initialize_display_settings local variable.
explorer: Set virtual desktop primary adapter display settings.
explorer: Fix command-line parameter parsing.
winegstreamer: Move struct object_context around.
winegstreamer: Use a helper to create object_context.
winegstreamer: Pass the object context to media_source_create.
winegstreamer: Move byte stream caps checks to BeginCreateObject.
winegstreamer: Move stream length query to BeginCreateObject.
win32u: Update the display cache when virtual desktop mode changes.
winex11: Use gdi_display consistently for client_window requests.
Tim Clem (2):
winemac.drv: Don't expect an internal driver message to set last error.
win32u: Detect a missed WM_LBUTTONUP in the size/move loop.
Vladislav Timonin (2):
comdlg32: Return E_UNEXPECTED if IFileDialog is already shown.
comdlg32: Enable visual styles when showing IFileDialog.
Xin Xu (1):
include: Fix spelling error in InterlockedDecrementSizeT().
Zebediah Figura (20):
d3d11/tests: Read back directly from the mipmap texture in test_generate_mips().
d3d10core/tests: Read back directly from the mipmap texture in test_generate_mips().
d3d11/tests: Use more aligned offsets in test_clear_buffer_unordered_access_view().
opengl32: Do not expose ARB_buffer_storage on wow64.
opengl32: Do not report a GL version higher than 4.3 on wow64.
dxgi: Do not create a d3d11 swapchain object for the implicit swapchain.
wined3d: Factor out a swapchain_create_texture() helper.
wined3d: Recreate swapchain textures in wined3d_swapchain_resize_buffers().
wined3d: Remove no longer used arguments from wined3d_texture_update_desc().
wined3d: Set VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT.
wined3d: Reuse command buffers and fences.
wined3d: Create fences when the command buffer is allocated.
wined3d: Introduce wined3d_get_renderer().
d3d10core/tests: Mark test failures specific to the Vulkan or GL renderers.
wined3d: Move some definitions to wined3d_vk.h.
wined3d: Move struct wined3d_bo_vk to wined3d_vk.h.
wined3d: Move struct wined3d_image_vk to wined3d_vk.h.
wined3d: Move struct wined3d_query_vk to wined3d_vk.h.
wined3d: Move struct wined3d_context_vk to wined3d_vk.h.
wined3d: Move struct wined3d_adapter_vk to wined3d_vk.h.
Zhiyi Zhang (6):
kernelbase: Check if locale is NULL before using it in Internal_EnumDateFormats().
win32u: Create explorer with the thread effective access token.
user32/tests: Test monitor information with an invisible window station.
win32u: Use the window station name to check if an application is running as a service.
user32/tests: Test that an actual desktop window should be created on invisible window stations.
server: Allow creating a real explorer desktop window for invisible window stations.
The Wine development release 8.11 is now available.
What's new in this release:
- More mouse cursor clipping improvements.
- Support for TLS alerts.
- Increased available address space in WoW64 mode.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.11.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.11 (total 26):
- #48811 StarCraft II fails to load in staging
- #51640 LibreOffice 7.2.0 crashes while browsing directories
- #53682 wineboot shows "user_check_not_lock BUG: holding USER lock" on aarch64 since wine-7.14
- #54380 Installed windows driver triggers a window when running any program in winXP mode (unimplemented function ntoskrnl.exe.Ke386QueryIoAccessMap)
- #54442 experimental wow64 mode: doesn't show some graphical windows
- #54738 msi:action - The 64-bit test_register_class_info() fails in Wine
- #54742 The 64-bit advapi32:registry breaks the 32-bit test_redirection() in Wine
- #54751 The 64-bit advapi32:registry breaks test_CoGetPSClsid() in ole32:compobj in Wine
- #54797 Lunar Magic 3.33: Crashes with BadWindow unless WINEDEBUG=+all
- #54848 dnsapi:query - test_DnsQuery() fails on Rémi's Wine test machines
- #54980 wine lost ability to correctly handle printer(CUPS)-supplied fonts (several programs)
- #54993 Framemaker 8 crashes in internal search operation
- #55013 user32:monitor - test_EnumDisplayMonitors() sometimes fails on Linux
- #55016 xaudio2_8:xaudio2 - test_simple_streaming() crashes on Windows 8+
- #55027 Microsoft Office: IME result string may get doubled when edit is done
- #55042 IDictionary::Add() fails to add entries with numerical keys that have the same hashes
- #55043 Z-Vision for Windows: Assertion failed when clicking "LOAD" button.
- #55046 ALT-TAB broken with virtual desktop and capture mouse (regression: 8.9 -> 8.10)
- #55047 d3d test_cursor_clipping() fails
- #55050 Wine stucks when creating prefix
- #55051 Build regression in wine 8.10 using clang on aarch64 (error in backend: Invalid register name "x18")
- #55055 Japanese IME fails to clear composition string when deleting the only remaining character
- #55074 Multiple apps fail to show anything after launch in virtual desktop mode (Steam, Ubisoft Connect)
- #55088 Program crashes when Common Dialog File open function is called
- #55091 preloader build failure with GOTPCREL relocation
- #55097 cmd.exe does not handle PATH with leading or sequential semicolons
----------------------------------------------------------------
Changes since 8.10:
Akihiro Sagawa (1):
commdlg: Fix dialog template parser when caption starts with a DBCS character.
Alex Henrie (21):
windows.media.speech: Fix memory leak on error path in session_worker_thread_cb (scan-build).
shell32: Fix memory leak on error path in FolderItems_Constructor (scan-build).
rpcrt4: Don't use GetProcAddress for ole32 functions.
wldap32: Clean up LDAP_OPT_API_INFO.
wusa: Zero out identity on error path in read_identity.
msi: Fix memory leak on error path in MSI_OpenPackageW (scan-build).
msi: Fix double free on error paths in TransformView_Create (scan-build).
winhttp: Fix memory leak on error path in request_get_codepage (scan-build).
msi: Fix memory leaks in HANDLE_CustomType23 (scan-build).
combase: Don't export hProxyDll or rpc_execute_call.
comdlg32: Don't use GetProcAddress for SHSimpleIDListFromPath.
comctl32: Remove duplicate declarations of MONTHCAL functions.
hhctrl: Initialize item->items to NULL in parse_index_sitemap_object (scan-build).
urlmon: Don't export urlmon_instance.
wininet: Don't overallocate in urlcache_encode_url_alloc (scan-build).
conhost: Use correct pointer type in edit_line_transpose_words (scan-build).
advpack: Check the return value of adv_install in DoInfInstallW (scan-build).
wbemprox: Fix memory leak on error path in enum_key (scan-build).
sane: Fix use after free in create_item (scan-build).
crypt32: Don't export CRYPT_CopyReversed.
ws2_32: Don't export num_startup.
Alexandre Julliard (39):
include: Remove redundant __WINE_USE_MSVCRT checks.
makefiles: Define WINE_UNIX_LIB for all files that are built for Unix.
loader: Make the loader position-independent on 64-bit.
winegcc: Fix an uninitialized variable warning in the PE build.
wow64: Don't force wow64 dlls to load at low addresses.
kernel32/tests: Fix the PROCESS_BASIC_INFORMATION exit status type.
server: Also enforce the size of varargs data structures.
ntdll: Support the lower memory limit in MEM_ADDRESS_REQUIREMENTS.
ntdll: Allocate 64-bit and kernel stacks in high memory.
ntdll: Load modules with a high base address in high memory.
ntdll: Make only the necessary pages writable in the ARM64EC code map.
kernelbase: Don't define stdcall functions on non-i386.
ntdll: Don't define stdcall functions on non-i386.
wow64cpu: Don't define stdcall functions on non-i386.
include: Don't support stdcall functions on non-i386.
makefiles: Pass the dll extension from configure.
makefiles: Make the dll extension a per-architecture variable.
makefiles: Don't build native import libraries for PE-only build.
makefiles: Disable native import libraries on ARM64.
conhost: Use nameless union/structs.
explorer: Use nameless union/structs.
ipconfig: Use nameless union/structs.
netstat: Use nameless union/structs.
oleview: Use nameless unions/structs.
regedit: Use nameless unions/structs.
services: Use nameless unions/structs.
include: Disallow fastcall functions in Unix libraries.
loader: Force building the main loader as PIE on 64-bit.
loader: Always build the main loader as PIE if we have a preloader.
loader: Build the preloader as PIE on 64-bit.
winecfg: Use nameless unions/structs.
winedbg: Use nameless unions/structs.
winefile: Use nameless unions/structs.
winemenubuilder: Use nameless unions/structs.
winhlp32: Use nameless unions/structs.
wordpad: Use nameless unions/structs.
wow64: Map a copy of ntdll to build the syscall table.
ntdll: Implement _errno().
wow64: Don't load the 32-bit ntdll as an image to avoid debugger notifications.
Alistair Leslie-Hughes (1):
wbemdisp: Support DISPATCH_PROPERTYGET in Object Invoke.
Andrey Gusev (1):
include: Add flags in D3D11_RESOURCE_MISC_FLAG.
Bernhard Kölbl (2):
mf: Clear queued topologies on session shutdown.
mf: Don't leak sink in session_get_renderer_node_service().
Connor McAdams (10):
uiautomationcore: Store all events in an event list.
uiautomationcore: Clone UiaCacheRequest structure passed to UiaAddEvent.
uiautomationcore: Add support for cloning UiaCondition structures.
uiautomationcore: Implement UiaRaiseAutomationEvent.
uiautomationcore: Unconditionally match all events registered on the desktop node with a scope of subtree.
uiautomationcore/tests: Add tests for cross-process events.
uiautomationcore: Add support for creating serverside events.
uiautomationcore: Prevent creation of duplicate serverside events.
uiautomationcore: Add support for advising providers of events on serverside events.
uiautomationcore: Implement UiaEventAddWindow.
Daniel Lehman (1):
wininet: Free temporary buffer in InternetQueryOptionW loop.
David Kahurani (3):
gdiplus: Allow NULL format in GdipAddPathString.
msi: Reject shorter/longer lines in MsiDatabaseImportA.
msi: Convert newlines to alternate representation when exporting.
Davide Beatrici (21):
winepulse: Move main loop logic into mmdevapi.
winealsa: Implement main_loop in unixlib.
winecoreaudio: Implement main_loop in unixlib.
wineoss: Implement main_loop in unixlib.
winepulse: Move AudioClient's Initialize's exclusive mode check into unixlib.
winepulse: Move get_application_name into mmdevapi.
winealsa: Call mmdevapi's get_application_name.
winecoreaudio: Call mmdevapi's get_application_name.
wineoss: Call mmdevapi's get_application_name.
winepulse: Move stream_release into mmdevapi.
winealsa: Use mmdevapi's stream_release.
winecoreaudio: Use mmdevapi's stream_release.
wineoss: Use mmdevapi's stream_release.
winealsa: Use mmdevapi's set_stream_volumes.
winecoreaudio: Use mmdevapi's set_stream_volumes.
wineoss: Use mmdevapi's set_stream_volumes.
winepulse: Use mmdevapi's set_stream_volumes.
winealsa: Use create_stream's channel count in AudioClient's Initialize.
winecoreaudio: Use create_stream's channel count in AudioClient's Initialize.
wineoss: Use create_stream's channel count in AudioClient's Initialize.
winepulse: Refactor AudioClient's Initialize to match other drivers.
Eric Pouech (9):
kernel32/tests: Extend console inheritance tests.
include/dbghelp.h: Added some missing definitions.
dbghelp: Create implementation basis for SymSrvGetFileIndex*().
dbghelp/tests: Add tests for SymSrvGetIndexesInfo.
dbghelp/tests: Add tests for SymSrvGetInfoIndexes.
dbghelp: Implement SymSrvGetFileIndexInfo for PE modules.
dbghelp/tests: Add explicit tests about loading ELF modules.
dbghelp: Fix reading Wine loader's base address.
winedump: Tidy up print out in minidumps.
Etaash Mathamsetty (2):
ntdll: Allow RtlAllocateHeap to crash with invalid handle.
user32: Add GetSystemDpiForProcess export.
Fabian Maurer (3):
wineps.drv: Use afm FamilyName instead of FullName.
mmdevapi: Don't redefine stream_handle (gcc 4.3).
gdiplus: Refactor and add comments for easier understanding.
Gabriel Ivăncescu (27):
jscript: Correctly implement context for indirect eval calls in ES5+ modes.
jscript: Fix addressing invalid memory if ref is an argument.
jscript: Fix function leak in scope_init_locals.
jscript: Get rid of jsobj in scope_chain_t.
jscript: Don't use iface_to_jsdisp where it's not necessary to grab it.
jscript: Store detached args into a scope's specialized buffer.
jscript: Start from the last argument when adding them to named locals.
jscript: Get rid of the function instance in arguments obj.
mshtml: Traverse and unlink AreaElements properly.
mshtml: Fix style declaration leak in HTMLStyle_Create.
mshtml: Fix nsIDOMNode leak when retrieving an item in the node list.
mshtml: Fix node leak when enumerating nodes.
mshtml: Handle failure and cleanup properly when enumerating nodes.
mshtml: Fix leaks in create_all_list.
mshtml: Fix element leaks in get_elem_source_index.
mshtml: Fix text node leak in Element innerText setter.
mshtml: Fix text node leak in OptionElement text setter.
mshtml/tests: Fix CurrentStyle leak in test_style_filters.
jscript: Use jsstr_empty instead of allocating empty string.
jscript: Implement `caller` for function instances and prototype.
jscript: Throw error when accessing `arguments` prop of bind functions.
jscript: Don't expose Function.prototype.arguments in non-html mode.
jscript: Store ref to scope directly instead of frame in arguments object.
jscript: Don't use detached arguments buffer in html mode.
jscript: Always create detached variable objects with no class.
jscript: Properly handle passing undefined value to Number.toPrecision.
jscript: Properly handle passing undefined value to Number.toString in ES5+ mode.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.254.
Giovanni Mascellani (5):
dxgi: Do not uselessly pass queue_family_index around.
dxgi: Remove now-useless function d3d12_swapchain_create_buffers().
dxgi: Do not destroy D3D12 resources unless requested.
dxgi: Only create D3D12 resources when necessary.
dxgi: Rename and split d3d12_swapchain_destroy_buffers().
Hans Leidekker (1):
secur32: Add support for sending TLS alerts.
Huw D. M. Davies (2):
winepulse: Don't overwrite the result in the insufficient buffer case.
winepulse: Return E_NOTIMPL when the property is not found.
Jacek Caban (3):
user32: Remove no longer used setupapi import.
win32u: Remove duplicated d3dkmdt.h include.
configure: Use -fvisibility=hidden when building with msvcrt and cross compiler is not available.
Jactry Zeng (2):
atl/tests: Move regular DWORD tests into a loop.
atl: Convert REG_DWORD to a correct type.
Jinoh Kang (1):
loader: Set the visibility of symbols in preloader to "hidden".
Liam Middlebrook (2):
cmd/tests: Add tests for PATH separator.
cmd: Fix empty strings between PATH separators.
Nikolay Sivov (4):
scrrun/dictionary: Compare key values in addition to their hashes.
oleaut32/recinfo: Use CRT allocation functions.
oleaut32/recinfo: Use CoTaskMem* allocations for the record data.
oleaut32: Trace typelib guid in GetRecordInfoFromGuids().
Olivier F. R. Dierick (1):
ntoskrnl.exe: Add Ke386QueryIoAccessMap stub.
Paul Gofman (1):
crypt32: Do not create persistent container in CRYPT_CreateKeyProv().
Rémi Bernon (41):
server: Pass the message code to get_hardware_msg_bit.
server: Use hardware message category when checking filter.
imm32: Avoid resizing IMCC to zero-size buffer.
winex11: Remove now unnecessary WM_X11DRV_CLIP_CURSOR_NOTIFY.
win32u: Move grab_pointer registry option from winex11.
win32u: Add a clipping_reset member to user_thread_info.
win32u: Add a clipping_cursor member to user_thread_info.
winex11: Move clip_fullscreen_window foreground check inside it.
win32u: Move fullscreen window cursor clipping from winex11.
server: Update desktop cursor window when cursor pos changes.
server: Keep track of the current desktop cursor handle.
server: Introduce and send new WM_WINE_SETCURSOR hardware message.
win32u: Add a hwnd parameter to SetCursor driver entry points.
win32u: Notify drivers of cursor changes on WM_WINE_SETCURSOR.
wineandroid: Set the window cursor immediately in SetCursor.
winex11: Set the window cursor immediately in SetCursor.
server: Update the DF_WINE_CREATE_DESKTOP desktop flag on opening.
win32u: NtUserGetObjectInformation returns a BOOL, not NTSTATUS.
winex11: Don't grab the cursor if another process is focused.
winex11: Simplify the cursor clipping retry mechanism.
winex11: Replace the clipping message HWND with a BOOL flag.
winegstreamer: Introduce new stream_descriptor_set_tag helper.
winegstreamer: Pass a struct wg_parser_stream to media_stream_create.
winegstreamer: Factor the creation of the first stream media type.
winegstreamer: Introduce new init_video_media_types helper.
winegstreamer: Introduce new init_audio_media_types helper.
winegstreamer: Pass the stream descriptor to media_stream_create.
win32u: Remove unnecessary set_cursor new_clip rect copy.
server: Pass set_cursor flags in WM_WINE_CLIPCURSOR wparam.
win32u: Use a specific flag instead of shrinking the clip rect.
winegstreamer: Remove colorimetry and chroma-site from wg_format caps.
winegstreamer: Remove the callback mechanism from wg_allocator.
winegstreamer: Move release_memory_sample helper around.
winegstreamer: Lazily allocate wg_allocator unix memory.
imm32/tests: Test how deleting a character can behave.
imm32: Use offsets instead of lengths to decide on sending updates.
winex11: Report empty preedit string when result string is committed.
winex11: Make sure HIMC is opened before sending IME updates.
win32u: Split default UpdateDisplayDevices implementation to a helper.
win32u: Move virtual desktop display settings logic from winex11.
configure: Build x86_64 PE code with mcmodel=small.
Shaun Ren (8):
sapi: Partially implement ISpMMSysAudio::SetState.
sapi: Free completed buffers asynchronously in SpMMAudio.
sapi: Implement ISpMMSysAudio::Write.
sapi: Implement ISpMMSysAudio::EventHandle.
sapi: Implement ISpVoice::SetOutput.
sapi: Implement ISpVoice::Set/GetVoice.
sapi: Implement ISpVoice::Set/GetRate.
sapi: Implement ISpVoice::Set/GetVolume.
Tatsuyuki Ishi (3):
win32u: Move QueryDisplayConfig from user32.
win32u: Cleanup naming and log messages for QueryDisplayConfig.
win32u: Avoid SEGV in QueryDisplayConfig when run as service.
Tim Clem (1):
ntdll: Treat read faults on readable pages as write faults on macOS.
Vladislav Timonin (2):
shell32: Show >4GB values in size columns of My Computer.
shell32: Don't show size for inaccessible drives in My Computer.
Zebediah Figura (1):
xaudio2/tests: Fix the IID_IXAudio28 declaration.
Ziqing Hui (1):
winegstreamer: Implement Flush for WMV decoder DMO.
The Wine development release 8.10 is now available.
What's new in this release:
- All PE->Unix transitions go through the syscall interface.
- Mouse cursor clipping improvements.
- Support for virtual memory placeholders.
- Locale and timezone data updates.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.10.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.10 (total 13):
- #18889 Multiple isolation-aware applications fail to load (MSN Messenger Live 2009, Lync 2010, Adobe Premiere Pro CS3, Quicken 201X)(embedded PE manifest search should support ISOLATIONAWARE_MANIFEST_RESOURCE_ID)
- #24946 uTorrent 2.2.0 hangs on startup (FD_WRITE event is reported over and over in WSAEnumNetworkEvents for a bound UDP socket)
- #27827 Creo Elements/Direct Modeling Express 4.0/6.0 loader failure due to missing msvcrt.dll dependency (native netapi32.dll imports msvcrt functions)
- #47808 Cygwin's mintty.exe crashes with a stack overflow
- #52868 TwitchTest crashes on unimplemented function IPHLPAPI.DLL.GetPerTcpConnectionEStats
- #53092 Animated Puzzles crashes on start
- #54410 .NET 3.5 Checkbox checkmarks should be black instead of "Foreground" color
- #54599 Honeygain crashes on unimplemented function IPHLPAPI.DLL.GetCurrentThreadCompartmentId
- #54810 PmxEditor 0.2.7.5 doesn't start after Wine 8.4.
- #54913 ntdll: NtDuplicateToken has wrong prototype
- #54949 user32:msg gets an extra WM_NCPAINT in ShowWindow(child, SW_SHOW)
- #54991 Chinese IME no longer works in Naver LINE since Wine 8.9
- #55008 wininet:http - test_secure_connection() fails on Windows and Wine
----------------------------------------------------------------
Changes since 8.9:
Akihiro Sagawa (1):
winex11: Ignore BadWindow errors caused by XConfigureWindow.
Alex Henrie (29):
iphlpapi: Add GetCurrentThreadCompartmentId stub and a test.
iphlpapi: Add GetPerTcpConnectionEStats stub.
bcrypt/tests: Don't allocate inside todo_wine and free outside of it.
iphlpapi/tests: Use ~0u instead of ~0ul in testGetIpNetTable.
winegstreamer: Pass a QWORD pointer to IMFByteStream_GetLength.
wusa: Fix double free on error path in read_update_package (scan-build).
mscms: Fix double free on error path in EnumColorProfilesA (scan-build).
msi: Return ERROR_OUTOFMEMORY if calloc fails in TransformView_Create (scan-build).
msi: Make TransformView_Create static.
msi: Fix memory leak in ready_media (scan-build).
wbemprox: Fix memory leak on error path in create_view (scan-build).
jscript: Fix memory leak on error path in String_replace (scan-build).
jscript: Remove unnecessary call to malloc in strbuf_ensure_size.
conhost: Fix memory leak on error path in edit_line_move_to_history (scan-build).
localspl: Fix memory leak in lpr_start_doc (scan-build).
msvcrt: Use 'else if' in _wgetcwd.
wineusb: Fix memory leaks on error paths in usb_submit_urb (scan-build).
kerberos: Fix memory leaks in (wow64_)query_ticket_cache (scan-build).
dnsapi: Fix memory leak on error path in do_query_netbios (scan-build).
hhctrl: Fix memory leak on error path in resolve_filename (scan-build).
wldap32: Fix memory leak on error path in ldap_start_tls_sW (scan-build).
jscript: Fix memory leak on error path in regexp_string_match (scan-build).
vbscript: Fix memory leak on error path in RegExp2_Execute (scan-build).
wininet: Fix memory leaks on error paths in INTERNET_LoadProxySettings (scan-build).
vbscript: Fix memory leak on error path in alloc_vbscode (scan-build).
rpcrt4: Replace RPCRT4_strndupA with strdup.
winhttp: Fix double free on error path in queue_task (scan-build).
msi: Fix memory leak on error path in MSI_ProcessMessage (scan-build).
regedit: Fix memory leak on error path in GetItemPath (scan-build).
Alexandre Julliard (46):
include: Don't align the stack for PE builds.
ntdll: Use x18 for the TEB on ARM64.
ntdll: Use nameless unions/structs for loader data.
ntdll: Use nameless unions/structs for CPU-related data.
ntdll: Use nameless unions/structs for IO_STATUS_BLOCK.
include: Only enable the non-inline NtCurrentTeb() on the Unix side.
wineps: Don't use CDECL for private functions.
win32u: Don't use WINAPI for the font enumeration function.
win32u: Don't use WINAPI for private functions.
ntdll: Don't pass arguments on the stack for user callbacks on ARM64.
ntdll: Don't pass arguments on the stack for user callbacks on x86-64.
ntdll: Don't pass arguments on the stack for user callbacks on i386.
ntdll: Don't pass arguments on the stack for user callbacks on ARM.
ntdll: Don't use WINAPI for KeUserModeCallback().
ntdll: Store the PE function pointers as simple void pointers.
include: Only declare __wine_unix_call() on the PE side.
ntdll: Use the sysv ABI for the %fs allocation function.
ntdll: Use the sysv ABI for setjmp/longjmp on the Unix side.
ntdll: Use the default ABI for all functions on the Unix side.
kernelbase: Update timezone data to version 2023c.
nls: Update locale data to CLDR version 43.
xslt: Import upstream release 1.1.38.
xml2: Import upstream release 2.11.4.
kernelbase: Use nameless unions/structs for loader data.
kernelbase: Use nameless unions/structs for CPU-related data.
kernelbase: Use nameless unions/structs for IO_STATUS_BLOCK.
kernel32: Use nameless unions/structs.
server: Send the APC call data as vararg in the queue_apc request.
server: Send the APC call data as vararg in the select request.
wininet/tests: Update expected WineHQ certificate.
ntdll: Support adding overlapping ranges in mmap_add_reserved_area().
ntdll: Add a helper function to unmap memory above the user space limit.
ntdll: Reimplement unmap_area() to avoid recursion and callbacks.
ntdll: Reimplement map_fixed_area() to avoid recursion and callbacks.
ntdll: Reimplement allocation inside a reserved area without using a callback.
ntdll: Reimplement allocation of the virtual heap without using a callback.
ntdll: Reimplement fill_basic_memory_info() without using a callback.
ntdll: Reimplement virtual_release_address_space() without using a callback.
ntdll: Report the remaining part of the 64K after a view as free.
ntdll: Use the full 4Gb for large address aware applications on Wow64.
ntdll: Update the reserved range on 64-bit to match the preloader.
ntdll: Use the sysv ABI for __wine_syscall_dispatcher_return().
winebuild: Set a 64-bit base address for generated 64-bit dlls.
winebuild: Update target-dependent characteristics after option parsing.
winedump: Dump version resources in a more structured way.
winedump: Dump manifest resources in a more structured way.
Alistair Leslie-Hughes (5):
xactengine: Correct interfaces for IXACT3Cue.
include: Use STDMETHOD when returning HRESULT.
krnl386.exe16: Don't overflow when calculating size.
xactengine: Correct XACTNOTIFICATIONTYPE_MAX value.
xactengine: IXACT3EngineImpl_CreateSoundBank isn't a stub.
André Zwing (1):
wow64: Ignore Thumb flag when parsing ARM syscall number.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (1):
mf/tests: Remove duplicate call to MFStartup().
Bernhard Übelacker (1):
comdlg32: Avoid crash in RemoveControlItem.
Billy Laws (1):
configure: Stash host LDFLAGS when configuring cross-compilers.
Connor McAdams (4):
uiautomationcore: Put general purpose helper functions into separate source file.
uiautomationcore: Add global interface table helper functions.
uiautomationcore: Respect ProviderOptions_UseComThreading on advise events interfaces.
uiautomationcore: Get IRawElementProviderAdviseEvents interfaces from embedded fragment root providers.
Daniel Lehman (2):
msi: Release record instead of free.
riched20: Update paragraph position in marked tree.
David Kahurani (1):
gdiplus: Handle Windows style newline.
Davide Beatrici (38):
wined3d: Fix uninitialized variable warning.
winepulse: Move AudioClient3 into mmdevapi.
winealsa: Use mmdevapi's AudioClient3.
winecoreaudio: Use mmdevapi's AudioClient3.
wineoss: Use mmdevapi's AudioClient3.
winepulse: Move AudioClient2 into mmdevapi.
winealsa: Use mmdevapi's AudioClient2.
winecoreaudio: Use mmdevapi's AudioClient2.
wineoss: Use mmdevapi's AudioClient2.
winepulse: Always initialize ref to 1 in session wrapper.
winepulse: Move session_wrapper_create into mmdevapi.
winealsa: Use mmdevapi's session_wrapper_create.
winecoreaudio: Use mmdevapi's session_wrapper_create.
wineoss: Use mmdevapi's session_wrapper_create.
winepulse: Lock sessions in AudioClient's GetService.
winepulse: Move AudioClient's GetService into mmdevapi.
winealsa: Use mmdevapi's AudioClient's GetService.
winecoreaudio: Use mmdevapi's AudioClient's GetService.
wineoss: Use mmdevapi's AudioClient's GetService.
winepulse: Move AudioClient's SetEventHandle, Reset, Stop into mmdevapi.
winealsa: Use mmdevapi's AudioClient's SetEventHandle, Reset, Stop.
winecoreaudio: Use mmdevapi's AudioClient's SetEventHandle, Reset, Stop.
wineoss: Use mmdevapi's AudioClient's SetEventHandle, Reset, Stop.
winepulse: Lock sessions in AudioClient's Start.
winecoreaudio: Lock sessions in AudioClient's Start.
winepulse: Move AudioClient's Start into mmdevapi.
winealsa: Use mmdevapi's AudioClient's Start.
winecoreaudio: Use mmdevapi's AudioClient's Start.
wineoss: Use mmdevapi's AudioClient's Start.
winepulse: Move AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported into mmdevapi.
winealsa: Use mmdevapi's AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported.
winecoreaudio: Use mmdevapi's AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported.
wineoss: Use mmdevapi's AudioClient's GetDevicePeriod, GetMixFormat, IsFormatSupported.
winepulse: Move AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize into mmdevapi.
winealsa: Use mmdevapi's AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize.
winecoreaudio: Use mmdevapi's AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize.
wineoss: Use mmdevapi's AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize.
mmdevapi: Handle CreateThread() failure in AudioClient's Start.
Eric Pouech (5):
dbghelp: Better handle very long C++ qualified identifiers in dwarf.
dbghelp/tests: Fix process kind detection on old Windows machines.
dbghelp/tests: Review old-wow64 expected values.
dbghelp/tests: Add more tests for module imagename handling.
dbghelp: Reimplement EnumerateLoadedModules().
Gabriel Ivăncescu (6):
mshtml: Fix classList toggle() when return value pointer is NULL.
jscript: Return undefined for empty RegExp captures in ES5+ mode.
jscript: Throw proper error for unexpected quantifiers in RegExp.
jscript: Throw proper error for out of memory conditions in RegExp.
mshtml/tests: Test RegExp.toString on object with separate RegExp flag props.
mshtml: Handle protocols with no ports when checking target origin.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.251.
Giovanni Mascellani (6):
dxgi: Document some struct d3d12_swapchain fields.
dxgi: Rename d3d12_swapchain_prepare_command_buffers().
dxgi: Store Vulkan formats in the swapchain object.
dxgi: Factor out d3d12_swapchain_create_image_resources().
dxgi: Move non-Vulkan-specific code out of d3d12_swapchain_create_vulkan_swapchain().
dxgi: Move Vulkan-specific code to d3d12_swapchain_create_vulkan_swapchain().
Jacek Caban (8):
win32u: Use syscall interface for all ntuser functions.
win32u: Implement NtGdiIcmBrushInfo and use it instead of __wine_get_brush_bitmap_info.
win32u: Extend NtGdiSetDIBitsToDeviceInternal for SetDIBits implementation.
win32u: Don't return full OUTLINETEXTMETRICW from __wine_get_file_outline_text_metric.
win32u: Use syscall interface for all exports.
ntdll: Get rid of hacks for direct unix calls.
wineps: Don't include gdi_driver.h from PE module.
win32u: Don't use CDECL for gdi_dc_funcs entries.
Jinoh Kang (7):
kernel32/tests: Remove test for ACTCTX_FLAG_HMODULE_VALID with hModule = NULL case.
kernel32/tests: Test setting lpResourceName to NULL for CreateActCtxW.
ntdll: Move ACTCTX lpResourceName validation to RtlCreateActivationContext.
kernel32/tests: Test loading assembly manifest resource inside dependencies.
ntdll: Don't hard-code DLL manifest resource ID when looking up dependency assembly.
user32/tests: Test for update region after showing a child window.
server: Update parent window region when exposing previously invisible window.
Joshua Ashton (1):
winevulkan: Include function name in asserts.
Martin Storsjö (1):
include: Fix the use of __getReg for aarch64/msvc mode.
Michael Stefaniuc (3):
ws2_32/tests: Remove superfluous casts to self.
wmvcore: Remove superfluous casts to self.
dbghelp: Remove superfluous casts to self.
Nikolay Sivov (8):
ole32/antimoniker: Use CRT allocation functions.
ole32/antimoniker: Fix Enum() return error code.
ole32/classmoniker: Use CRT allocation functions.
ole32/pointermoniker: Use CRT allocation functions.
ole32/itemmoniker: Use CRT allocation functions.
ole32/compositemoniker: Use CRT allocation functions.
ole32/filemoniker: Use CRT allocation functions.
ole32/git: Use CRT allocation functions.
Paul Gofman (13):
ntdll: Support MEM_COALESCE_PLACEHOLDERS in NtFreeVirtualMemory().
ntdll: Factor out unmap_view_of_section() function.
kernelbase/tests: Add tests for MEM_PRESERVE_PLACEHOLDER with UnmapViewOfFile2().
ntdll: Validate flags in NtUnmapViewOfSectionEx().
ntdll: Support MEM_PRESERVE_PLACEHOLDER in NtUnmapViewOfSectionEx().
winegstreamer: Don't pre-check sample size in wg_transform_read_mf().
kernelbase: Don't modify non-volatile regs in RaiseException() on x64.
ws2_32: Make wait in accept() alertable.
ws2_32: Make wait in connect() alertable.
ws2_32: Make wait in WSAPoll() alertable.
ws2_32: Test wait alertability in WSAGetOverlappedResult().
winegstreamer: Implement MFT_MESSAGE_COMMAND_DRAIN for the H264 decoder.
winegstreamer: Implement MFT_MESSAGE_COMMAND_FLUSH for the H264 decoder.
Piotr Caban (12):
msvcr100: Fix next writer unblocking in reader_writer_lock::unlock.
msvcr100: Use Context to store critical_section owner.
msvcr100: Use Context blocking functions in critical_section class.
make_unicode: Don't use Türkiye as it can't be encoded in some locales.
msvcr100: Use Context blocking functions in event class.
msvcr100: Use Context blocking functions in Concurrency::wait().
localspl: Don't pass original document name to cupsStartDocument.
msvcr100: Fix use after free in critical_section::try_lock_for().
msvcr100: Add support for COOPERATIVE_TIMEOUT_INFINITE timeout in critical_section.
msvcr100: Use block_context_for helper in Concurrency::wait().
msvcr100: Use block_context_for helper in event::wait().
msvcr100: Use Context blocking functions in _Condition_variable class.
Rémi Bernon (44):
winegstreamer: Forbid vaapidecodebin when looking for a specific element.
winegstreamer: Only warn on wg_transform input buffer push errors.
winegstreamer: Set the default H264 caps profile to "baseline".
server: Assume the internal clip message to be WM_WINE_CLIPCURSOR.
server: Move set_cursor desktop local variable to wider scope.
win32u: Rename user driver CreateDesktopWindow entry to SetDesktopWindow.
win32u: Call SetDesktopWindow when desktop window is successfully created.
explorer: Load graphics driver before calling CreateDesktopW.
explorer: Use root window if driver doesn't implement create_desktop.
explorer: Don't call driver create_desktop if desktop name is "root".
explorer: Call user driver through a new CreateDesktop callback.
wineandroid: Use the user driver interface to create host desktops.
winex11: Use the user driver interface to create host desktops.
explorer: Remove now unnecessary wine_create_desktop entry.
imm32: Query the new input context in ImmAssociateContextEx / IACE_DEFAULT.
server: Use get_hardware_msg_bit consistently to classify messages.
win32u: Move some window functions to window.c.
win32u: Move cursor clipping functions to input.c.
win32u: Add a separate function to process WM_WINE_CLIPCURSOR.
win32u: Use WM_WINE_CLIPCURSOR / TRUE for empty clipping rect.
user32: Remove now unused virtual screen helpers.
mf/tests: Add H264 decoder tests with concatenated streams.
winegstreamer: Use an IMFMediaType for the internal stream type.
winegstreamer: Generate H264 timestamps using the input type frame rate.
winegstreamer: Use the output wg_format in CAPS sink query.
user32/tests: Zero-initialize keyboard state array.
user32/tests: Add a helper to run a test in a process.
user32/tests: Test more ClipCursor reset scenarios.
winegstreamer: Pass desired output plane alignment to wg_transform_create.
winegstreamer: Pass desired input queue length to wg_transform_create.
winegstreamer: Implement MF_LOW_LATENCY attribute and latency query.
win32u: Reset cursor clipping rectangle on display mode change.
winex11: Rely on win32u to reset clipping on display mode change.
winex11: Reset clipping by calling NtUserClipCursor directly.
server: Don't reset cursor clipping on foreground thread exit.
kernelbase: Comment out DECLSPEC_HOTPATCH for ConvertThreadToFiber.
evr/tests: Test IMFVideoDisplayControl_GetCurrentImage orientation.
evr: Respect RGB format stride in GetCurrentImage.
win32u: Add a reset parameter to WM_WINE_CLIPCURSOR and driver ClipCursor.
server: Use the helper to reset the clip rect when the desktop size changes.
server: Use a separate helper to merge WM_MOUSEMOVE messages.
server: Queue a hardware WM_WINE_CLIPCURSOR message to the foreground thread.
win32u: Asynchronously apply or reset ClipCursor from the hardware message.
winex11: Remove now unnecessary ClipCursor forwarding to foreground thread.
Santino Mazza (1):
riched20: Call ME_UpdateRepaint instead of editor_ensure_visible in set_selection.
Shaun Ren (8):
sapi: Implement ISpObjectToken::CreateKey.
sapi: Partially reimplement ISpObjectTokenEnumBuilder storing a token array.
sapi: Implement token filtering and sorting in ISpObjectTokenEnumBuilder.
sapi: Add SpMMAudioOut stub.
sapi: Implement ISpMMSysAudio::Get/SetDeviceId.
sapi: Add GUIDs SPDFID_Text/WaveFormatEx.
include: Add sperror error code SPERR_UNSUPPORTED_FORMAT.
sapi: Implement ISpMMSysAudio::Get/SetFormat.
Tim Clem (1):
loader: Reserve some space for 32-bit top-down allocations on 64-bit.
Zebediah Figura (10):
winebuild: Use segment prefixes in 16-bit stack switching code instead of writing out byte values.
winebuild: Use the lretw mnemonic in wine_call_to_16().
wow32: Use spec file imports.
ntdll: Do not throw deadlock exceptions for Wine critical sections.
ntdll: Simplify critical section timeout logic.
xaudio2/tests: Add a couple of helpers to abstract the difference between versions.
xaudio2: Move CreateAudioVolumeMeter() and CreateAudioReverb() to xapo.c.
xaudio2: Create XAPO objects directly from CreateAudioVolumeMeter() and CreateAudioReverb().
xaudio2: Use the preprocessor to modify definitions in xaudio2.idl and xaudio2fx.idl.
xaudio2/tests: Fix the IID_IXAPO query.
Zhiyi Zhang (6):
gdiplus/tests: Add pen custom line cap record and play back tests.
gdiplus: Support recording pen custom start line cap.
gdiplus: Support recording pen custom end line cap.
gdiplus: Support playing back pen custom start line cap.
gdiplus: Support playing back pen custom end line cap.
winegstreamer: Fix check for non-zero padding in mf_media_type_from_wg_format_video().
Ziqing Hui (5):
mf/tests: Test input type for WMA decoder DMO.
mf/tests: Test output type for WMA decoder DMO.
mf/tests: Split input type tests from test_wmv_decoder_media_object.
mf/tests: Split output type tests from test_wmv_decoder_media_object.
mf/tests: Split size info tests from test_wmv_decoder_media_object.
The Wine development release 8.9 is now available.
What's new in this release:
- Mono engine updated to version 8.0.0.
- Completion of PE conversion in the PostScript driver.
- Doppler shift support in DirectSound.
- GdiPlus performance improvements.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.9.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.9 (total 16):
- #3452 BC3000 - Horribly Slow
- #36230 Silverlight 5.x requires the "Audio Capture Filter" for recording from the microphone
- #50955 .netCore app can't bind to port shortly after another .netCore program binding to the same port was terminated
- #53860 Wine Notepad : Using Japanese Input Method(IM), sometimes cursor goes back when string converted
- #54916 touhou 12.3 with dpad mod crashes on start
- #54917 Need For Speed Underground has keyboard input issues
- #54934 Battle.net unimplemented function msauddecmft.dll.DllGetClassObject called in 32-bit code
- #54936 Wine 8.7 and 8.8 does not print
- #54939 Dotted files are shown - but "don't show dotted" files is active
- #54955 Battle.net crashes on unimplemented function msmpeg2vdec.dll.DllGetClassObject
- #54956 Framemaker 8 crashes on printing
- #54960 winhttp:winhttp - test_websocket() fails on Windows and Wine
- #54965 Rich Edit erroneously moves the cursor to the end of text when system IME composition ends
- #54974 armv7 ELF builds crashing since "ntdll: Support the machine extended parameter in NtMapViewOfSectionEx()."
- #54976 Mono/.Net assemblies fail to start: Application could not be started, or no application associated with the specified file.
- #54982 Visio 2003 print dialog shows broken paper sizes when printing
----------------------------------------------------------------
Changes since 8.8:
Alex Henrie (3):
mshtml: Fix memory leak on error path in add_func_info (Coverity).
mshtml: Only allow one thread to use Gecko.
setupapi: Use CRT functions for memory allocation where possible.
Alexandre Julliard (19):
ntdll: Fix typo in the check for hidden files.
ntdll: Catch MEM_EXTENDED_PARAMETER duplicates for all types.
ntdll: Use STATUS_NOT_SUPPORTED for internal machine mismatch errors.
ntdll: Support the machine extended parameter in NtMapViewOfSectionEx().
ntdll: Add a helper function to map the main exe module.
ntdll: Don't even try to load .so libraries for a different machine.
ntdll: Support the PS_ATTRIBUTE_MACHINE_TYPE attribute for new processes.
kernelbase: Add a helper function to validate process/thread attributes.
kernelbase: Add support for the PROC_THREAD_ATTRIBUTE_MACHINE_TYPE attribute.
start: Move memory allocation into parse_title().
start: Add a separate helper to parse command line options.
start: Use CRT allocation functions.
start: Implement the /machine option.
ntdll: Add a separate helper function for freeing a placeholder.
server: Add a separate request to create a memory view for an image mapping.
server: Return STATUS_IMAGE_MACHINE_TYPE_MISMATCH when the mapping's machine differs from the process.
configure: Don't create the wine64 symlink in multi-arch builds.
ntdll: Also update the entry point address when loading an ARM64X binary.
ntdll: Allocate the ARM64EC code map when the first ARM64X binary is loaded.
Alexandros Frantzis (6):
winewayland.drv: Allocate process_wayland statically.
winewayland.drv: Read and dispatch Wayland events.
winewayland.drv: Handle dynamic Wayland output events.
winewayland.drv: Make access to Wayland output information thread-safe.
winewayland.drv: Update display devices from the desktop window thread.
winewayland.drv: Update desktop window size on display changes.
André Zwing (1):
winedump: Recognize RISC-V PEs.
Anton Baskanov (20):
winegstreamer: Add a second videoconvert before the videoflip.
winegstreamer: Don't force top-down orientation when changing output format in video_decoder.
ir50_32: Let video_decoder flip the video instead of doing it manually.
dsound: Store the frequency of 3D buffers separately.
dsound/tests: Add tests for Doppler shift.
dsound: Enable Doppler shift.
dsound: Change the speed of sound to 360.
dsound: Avoid division by zero when calculating Doppler shift.
dsound/tests: Test Doppler shift with moving listener.
dsound: Use relative velocity to compute Doppler shift.
dsound/tests: Test that the Doppler shift is limited to +-0.5 speed of sound.
dsound: Limit the Doppler shift to +-0.5 speed of sound.
dsound/tests: Test that the shifted frequency is limited to DSBFREQUENCY_MAX.
dsound: Clamp the shifted frequency to [DSBFREQUENCY_MIN, DSBFREQUENCY_MAX].
dsound/tests: Test Doppler shift in head-relative mode.
dsound: Fix Doppler shift in head-relative mode.
dsound/tests: Test Doppler shift with 3D processing disabled.
dsound: Use the value from SetFrequency when 3D processing is disabled.
dsound/tests: Test distance and Doppler factor.
dsound: Take distance and Doppler factor into account.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (7):
gdiplus: Improve performance of GdipInvertMatrix.
gdiplus: Improve performance of gdip_transform_points.
gdiplus: Fix GdipGetGenericFontFamily functions according to native gdiplus.dll.
gdiplus: Limit calculating transformation points to resampling.
gdiplus: Use iterator instead calculate pointer position every time.
gdiplus: Use float increment instead of calculation to impove perf.
gdiplus: Improve performance of DrawImagePointsRect by avoid TransformMatrixPoints.
Bernhard Kölbl (1):
mf: Don't try to clone non existent topo connections.
Brendan Shanks (8):
winemac: Fix window scaling in high-res/retina mode when using a non-retina monitor.
winemac: Remove the unused WineContentView _retinaMode variable.
winemac: Centralize initialization of WineContentView.
winemac: Centralize setting retina-mode-dependent properties on WineContentView's layer.
winemac: Work around poor-quality downscaling in high-res/retina mode on macOS 10.13 and earlier.
winemac: Add missing event to dbgstr_event().
winemac: Explicitly link against Foundation.framework.
win32u: Propagate WM_MOUSEHWHEEL to the parent window in DefWindowProc().
Connor McAdams (7):
include: Define the remaining missing provider interfaces.
uiautomationcore: Don't leak parent node in conditional_navigate_uia_node.
uiautomationcore: Fix maximum ID comparison for uia_{prop,pattern,control}_info_from_id().
uiautomationcore/tests: Add tests for non-nested node events.
uiautomationcore: Implement UiaAddEvent.
uiautomationcore: Implement UiaRemoveEvent.
uiautomationcore: Call IRawElementProviderAdviseEvents methods when events are added or removed.
Davide Beatrici (16):
winepulse: Move AudioCaptureClient into mmdevapi.
winealsa: Use mmdevapi's AudioCaptureClient.
winecoreaudio: Use mmdevapi's AudioCaptureClient.
wineoss: Use mmdevapi's AudioCaptureClient.
winepulse: Move AudioRenderClient into mmdevapi.
winealsa: Use mmdevapi's AudioRenderClient.
winecoreaudio: Use mmdevapi's AudioRenderClient.
wineoss: Use mmdevapi's AudioRenderClient.
winealsa: Implement get_device_period in unixlib.
winecoreaudio: Implement get_device_period in unixlib.
wineoss: Implement get_device_period in unixlib.
winepulse: Implement is_format_supported in unixlib.
explorer: Fix uninitialized variable warning.
winealsa: Move stream mode and period/duration initialization logic into unixlib.
winecoreaudio: Move stream mode and period/duration initialization logic into unixlib.
wineoss: Move stream mode and period/duration initialization logic into unixlib.
Eric Pouech (1):
kernel32/tests: Harden some wow64 module tests.
Esme Povirk (3):
mscoree: Update Wine Mono to 8.0.0.
mscoree: Use updated preload hook function.
mscoree: Search the Mono GAC before the appdomain paths.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (18):
iphlpapi/tests: Use win_skip() for missing APIs.
ws2_32/tests: Use win_skip() for missing APIs.
wtsapi32/tests: Use win_skip() for missing APIs.
wintab32/tests: Use win_skip() for missing dlls.
gdi32/tests: Use win_skip() for missing APIs.
sti/tests: Use win_skip() for missing APIs.
ntdll/tests: Use win_skip() for missing APIs.
imm32/tests: Fix the spelling of a comment.
mf/tests: Fix the spelling of a win_skip() message.
msado15: Fix the spelling of a comment.
ndtll: Fix the spelling of a comment.
taskschd/tests: Fix the spelling of a test string.
uiautomationcore/tests: Fix the spelling of a win_skip() message.
dnsapi/tests: Ignore OPT records in the CNAME tests.
wineps: Fix the spelling of a constant.
gdi32/tests: Use skip() for APIs which are stubs in some drivers.
wininet/tests: Consistently use strlen() in the InternetGetConnectedStateExA() tests.
wininet/tests: Consistently use strlen() instead of lstrlenA().
Gabriel Ivăncescu (9):
mshtml: Explicitly hold ref to the plugin host in NPP_New.
mshtml: Release ref from the element when detaching the plugin host.
mshtml: Stop the plugin when detaching the plugin host.
mshtml: Expose the other remaining props for element.classList.
mshtml: Implement classList's contains() method.
mshtml: Implement classList's toggle() method.
mshtml: Implement classList's length prop.
mshtml: Implement classList's item() method.
mshtml: Implement indexed props for classList.
Giovanni Mascellani (1):
winegstreamer: Free the GStreamer buffer when freeing a WG parser stream.
Hans Leidekker (2):
webservices: Handle WS_XML_BUFFER_TYPE in get_field_read_option().
winhttp/tests: Fix a test failure.
Jacek Caban (16):
win32u: Use syscall interface for NtGdiOpenDCW.
win32u: Use syscall interface for more painting functions.
win32u: Use syscall interface for more painting functions.
win32u: Use syscall interface for more printer functions.
win32u: Use syscall interface for more path functions.
win32u: Pass blend function as DWORD to NtGdiAlphaBlend.
win32u: Use syscall interface for bitblt functions.
win32u: Use syscall interface for more bitmap functions.
win32u: Use syscall interface for D3DKMT functions.
win32u: Use syscall interface for DIB functions.
win32u: Use syscall interface for more DC functions.
win32u: Use syscall interface for more GDI object functions.
win32u: Use syscall interface for more font functions.
win32u: Use syscall interface for more font functions.
win32u: Use syscall interface for more clipping functions.
win32u: Use syscall interface for all ntgdi functions.
Jactry Zeng (8):
comdlg32: Calculate button height of toolbar with DPI for item dialog.
comdlg32: Set a size for toolbar buttons of the file access dialog.
shell32/tests: Add tests for IFolderView2_{Get, Set}CurrentFolderFlags().
shell32: Implement IFolderView2_{Get, Set}CurrentFolderFlags().
shell32: Reimplement IFolderView2_SetCurrentViewMode() with modern behaviours.
shell32/tests: Move tests of IExplorerBrowser_SetFolderSettings() to a separated function and more tests.
shell32: Reimplement IExplorerBrowser_SetFolderSettings() with support of setting flags.
shell32: Update view mode flags while creating IShellView for IExplorerBrowser.
Jinoh Kang (4):
combase: Fix reading from beyond the end of a HGLOBAL stream.
combase: Compare AddRef() return value against 1 instead of 0 in find_proxy_manager.
combase: Prevent use-after-free due to a race with proxy_manager_destroy.
imm32: Don't erroneously start composition when handling IMC_SETOPENSTATUS.
Mohamad Al-Jaf (2):
msauddecmft: Add DllGetClassObject() stub.
msmpeg2vdec: Add DllGetClassObject() stub.
Nikolay Sivov (11):
d2d1: Implement IsSupported() for HWND target.
wineps: Fix names in paper sizes list.
mfmediaengine: Implement GetNumberOfStreams().
d2d1: Implement IsSupported() for DC target.
d2d1/tests: Use test context for more tests.
d2d1: Reject D2D1_ALPHA_MODE_STRAIGHT alpha mode for HWND targets.
d2d1/tests: Add some more tests for ID2D1GdiInteropRenderTarget.
d2d1: Create GDI-compatible target bitmap for GDI-compatible target usage.
d2d1: Improve GetDC()/ReleaseDC() handling on render targets.
d2d1: Create GDI-compatible swapchain only for corresponding target usage.
d2d1: Improve resource properties check when creating a bitmap.
Paul Gofman (16):
ntdll: Fix tail padding in mark_block_tail().
ntdll: Fix last block detection in heap_walk_blocks().
kernel32/tests: Add tests for subheap sizes.
ntdll: Better match Windows subheap sizes.
ntdll: Handle context overlap in call_user_exception_dispatcher() on x64.
wined3d: Only set changed.lights if wined3d_light_state_enable_light() changed state.
wined3d: Track per light state changes in stateblock.
wined3d: Use RB tree for storing lights.
nsiproxy.sys: Detect PPP interface type from flags on Linux.
ntdll: Handle NULL process handle in MapViewOfFile3().
ntdll: Pass allocation type to map_view().
ntdll: Support MEM_RESERVE_PLACEHOLDER in NtAllocateVirtualMemoryEx().
ntdll: Support MEM_REPLACE_PLACEHOLDER in map_view().
ntdll: Support MEM_REPLACE_PLACEHOLDER in NtAllocateVirtualMemoryEx().
ntdll: Support MEM_PRESERVE_PLACEHOLDER in NtFreeVirtualMemory().
ntdll/tests: Add more tests for placeholders.
Piotr Caban (27):
wineps: Convert WCHAR to Adobe Glyph name on PE side.
wineps: Store builtin fonts list in DEVMODE.
include: Add ddk/winddi.h header.
wineps: Add support for loading builtin fonts from NTF files.
wineps: Enumerate NTF fonts in enum_fonts.
wineps: Pass font data in NTF format to unixlib.
wineps: Don't pass PRINTERINFO structure to unixlib.
wineps: Introduce wine_driver_open_dc wine specific export used to create printer DC.
wineps: Implement Wow64 entry points in the Unix library.
wineps: Use default devmode if winspool returns fake data.
winspool: Register wineps print processor before adding printer.
localspl: Fix wow64_start_doc Wow64 entry point.
wineps: Move BANDINFOSTRUCT definition to unixlib.c.
wineps: Define PSDRV_DEVMODE in unixlib.h.
wineps: Remove unix_ prefix from find_pagesize and find_slot functions.
wineps: Mark default DEVMODE const.
wineps: Simplify PSDRV_UVMetrics implementation.
wineps: Remove unused fields from print_ctx.
wineps: Don't store logPixels in print_ctx.
wineps: Don't store ImageableArea in print_ctx.
gdi32: Mark objects as not used before clearing handles table in emf_reset.
localspl: Implement AbortPrinter while spooling.
winspool: Add AbortPrinter implementation.
gdi32: Abort printing if DeleteDC is called before EndDoc.
wineps: Remove no longer used PSDRV_SelectDownloadFont helper.
wineps: Mark font as unset in PSDRV_SelectFont.
wineps: Fix download font escapement.
Rémi Bernon (48):
imm32: Update the IME composition window position after drawing.
imm32: Use DrawTextW to wrap IME composition string.
comctl32/edit: Notify IME on caret position, format_rect and font changes.
comctl32/edit: Delegate composition string rendering to the IME UI.
user32/edit: Notify IME on position, format_rect and font changes.
user32/edit: Delegate composition string rendering to the IME UI.
hid: Avoid printing uninitialized guid (Valgrind).
dinput/tests: Avoid leaking a IDirectInput reference (Valgrind).
dinput/tests: Avoid leaking data in add_file_to_catalog (Valgrind).
windows.gaming.input: Avoid leaking IDirectInputEffect reference (Valgrind).
winemac: Return the caret position in query_ime_char_rect.
winemac: Remove now unnecessary selected HIMC tracking code.
winemac: Use the default IME implementation for ImeSelect.
dinput/tests: Add a zero-terminator for hardware ids (Valgrind).
mf/tests: Release PROPVARIANT memory in check_attributes (Valgrind).
mf/tests: Avoid leaking media types in test_video_processor (Valgrind).
rtworkq: Release thread pool work object when work_item is destroyed (Valgrind).
winegstreamer: Fix the CS cleanup in wg_sample_queue_destroy (Valgrind).
winegstreamer: Free the params structure after setting the pool meta (Valgrind).
winegstreamer: Remove unnecessary wg_parser their_sink pad.
winegstreamer: Remove unnecessary wg_parser_stream their_src pad.
quartz: Avoid reading past the end of a buffer (Valgrind).
winex11: Use ime_comp_buf != NULL instead of ximInComposeMode.
winex11: Keep track of the cursor position on the XIM side.
winex11: Send an internal WM_IME_NOTIFY wparam to set open status.
winex11: Set or clear XIC focus using a xim_set_focus helper.
winex11: Post internal WM_IME_NOTIFY wparam on composition updates.
winex11: Include the XIM preedit and result text into the IME updates.
winex11: Generate IME messages using WM_IME_NOTIFY instead of callbacks.
winex11: Drop the x11drv_ime_update_association user callback.
winex11: Remove now unnecessary selected HIMC tracking code.
winex11: Use the default IME implementation for ImeSelect.
imm32: Get rid of the graphics driver loading mechanism.
imm32: Remove now unused members from ime_private.
dinput/tests: Add some tests with keyboard action mapping.
dinput: Delete the action mapping registry key on SetActionMap.
dinput: Reset action map mapping before loading the registry mapping.
dinput: Clear DIA_APPNOMAP BuildActionMap flag with specific device semantic.
dinput: Avoid remapping already mapped objects in BuildActionMap.
dinput: Delay input thread start until the first device acquire.
dinput/tests: Test that FromGameController also works with IRawGameController.
windows.gaming.input: Query IGameController interface in TryGetFactoryControllerFromGameController.
mf/tests: Simplify video processor expected input types checks.
mf/tests: Rename some variables in video processor transform tests.
mf/tests: Move broken video processor aperture to a separate test.
mf/tests: Add more video processor tests with RGB555 format.
mf/tests: Add some IV50 encoder / decoder tests.
imm32: Silence some unnecessary FIXMEs.
Sebastian Mayr (2):
d3d8/tests: Test IDirect3DDevice8::ValidateDevice() with various min, mag and mip filters.
wined3d: Improve d3d8 compatibility of texture filters.
Tim Clem (1):
wow64win: Only marshal MSGs in wow64_NtUserCallWindowsHook if needed.
Zebediah Figura (18):
qcap/audiorecord: Implement DecideBufferSize().
qcap/tests: Add tests for audio capture pin connection.
qcap/tests: Test audio capture allocator properties.
qcap/audiorecord: Open a winmm device when connecting.
qcap/audiorecord: Implement streaming.
qcap/tests: Test audio capture streaming.
user32/tests: Do not dump the message sequence when a todo succeeds on Windows.
user32/tests: Do not stop checking the message list when skipping an optional or unsupported message.
qcap/audiorecord: Implement IAMStreamConfig::SetFormat() and IAMStreamConfig::GetFormat().
qcap/audiorecord: Stub IKsPropertySet.
qcap/audiorecord: Implement IKsPropertySet::Get(&ROPSETID_Pin, AMPROPERTY_PIN_CATEGORY).
qcap/audiorecord: Stub IAMBufferNegotiation.
qcap/audiorecord: Implement IAMBufferNegotiation::SuggestAllocatorProperties().
qcap/tests: Remove duplicated tests for allocator identity.
mmdevapi/tests: Remove some unnecessary workarounds.
mmdevapi/tests: Run property store tests for all devices.
mmdevapi/tests: Add some tests for PKEY_AudioEngine_DeviceFormat.
xactengine: Use the xaudio2 channel.
Zhiyi Zhang (1):
d2d1/tests: Add some IsSupported() tests for HWND target.
Ziqing Hui (7):
mfreadwrite/tests: Add tests for MP4 sink writer.
mf/tests: Test GetInputStatus for WMV decoder DMO.
mf/tests: Test Discontinuity for WMV decoder DMO.
mf/tests: Test Flush for WMV decoder DMO.
winegstreamer: Implement GetInputStatus for WMV decoder DMO.
winegstreamer: Implement Discontinuity for WMV decoder DMO.
mf/tests: Add tests for MPEG4 media sink.
The Wine development release 8.8 is now available.
What's new in this release:
- More work towards full PE support in the PostScript driver.
- Initial support for loading ARM64EC modules.
- More work on IME restructuration.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.8.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.8 (total 18):
- #33945 Wine build warnings with gcc
- #35254 Freemake Video Converter 4.1 installer complains about running Freemake processes (builtin 'findstr' stub app always returns "match")
- #48596 Multiple applications need tasklist.exe to support printing process list in CSV format '/fo CSV /nh' (Net64+ Client 2.x, Playstation Now 11.x, MathType)
- #49964 32-bit dxdiag doesn't support '/64bit' command line switch (launch 64-bit dxdiag)
- #50576 ACAT Phrase, part of Intel Assistive Context-Aware Toolkit (ACAT) v1.00.0 (.NET 4.5 app) crashes on unimplemented function 'uiautomationcore.dll.UiaNodeFromFocus'
- #51107 rise of nation extended: cannot do multiplayer when having more than one network interface
- #52269 Captvty can't find its own tools/cefsharp folder
- #53073 mfplat: unimplemented function while loading Devil May Cry 1
- #53826 Attempting to install / update battle.net fails with Qt error
- #54250 winedbg loads wrong debug symbols for builtin dlls
- #54367 Wow64 wineboot fails to generate 32Bit slice of wineprefix
- #54596 Wavelab 6.1 has problems minimising window
- #54733 Notepad3 crashes on unimplemented function SHLWAPI.dll.StrFormatByteSizeEx
- #54760 imm32:imm32 - test_ImmActivateLayout() fails on Windows
- #54864 imm32:imm32 - test_ImmSetOpenStatus() fails on Windows in the Korean locale
- #54879 RtlValidSecurityDescriptor should return TRUE if the given descriptor is valid.
- #54904 RtlInitializeSid should return NTSTATUS
- #54918 compiling nvcuda fails with threadpoolapiset.h:36:55: error: expected declaration specifiers before ‘__WINE_DEALLOC’
----------------------------------------------------------------
Changes since 8.7:
Ake Rehnman (2):
ntdll: Fix return value of RtlInitializeSid().
ntdll: Fix RtlValidSecurityDescriptor() return value.
Alex Henrie (1):
winemenubuilder: Skip desktop integration for certain associations.
Alexandre Julliard (23):
ntdll: Initialize TLS links also on the 64-bit side in wow64 mode.
ntdll: Add a helper function to read a PE image directory.
ntdll: Allow loading ARM64EC binaries.
ntdll: Apply dynamic relocations when mapping an ARM64X binary.
ntdll: Support the ARM64EC code map.
ntdll: Implement RtlIsEcCode().
ntdll: Handle the extended memory attributes in NtAllocateVirtualMemoryEx().
ntdll: Support the MEM_EXTENDED_PARAMETER_EC_CODE attribute.
server: Make x86_64 a supported architecture on ARM64.
ntdll: Pass limit instead of zero bits to internal memory mapping functions.
ntdll: Add a helper function to process MEM_EXTENDED_PARAMETER parameters.
ntdll: Support extended address requirements in NtMapViewOfSectionEx().
ntdll/tests: Add tests for address requirements in NtMapViewOfSectionEx().
wow64: Add a helper function to convert MEM_EXTENDED_PARAMETER.
wow64: Convert MEM_EXTENDED_PARAMETER also for NtMapViewOfSectionEx().
ntdll: Add a helper function to free a range of pages.
ntdll: Move the Unix function tables to avoid forward declarations, and make them static.
win32u: Don't export wow64 Unix call functions.
kernelbase: Move Wow64EnableWow64FsRedirection() from kernel32 to kernelbase.
win32u: Don't use floating point types in syscalls.
winebuild: Disallow floating point arguments in syscall functions.
server: Add a separate request to create a memory view for a .so builtin.
server: Move the Wine-specific flags out of the image_flags field.
Alistair Leslie-Hughes (1):
activeds: Free memory on error paths (coverity).
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Biswapriyo Nath (1):
include: Add DXGI_DEBUG_D3D11 in d3d11sdklayers.idl.
Brendan Shanks (2):
include: Implement C_ASSERT() using the C11 _Static_assert() if available.
winemac: Initialize retina_on to avoid incorrect cached display data in high-res/retina mode.
Connor McAdams (1):
combase: Check that process ID matches before searching the MTA for a stub manager.
Conor McCarthy (1):
vkd3d: Leave the command queue op mutex locked after a partial flush.
David Kahurani (2):
gdiplus: Traverse and draw the whole string.
shlwapi: Implement StrFormatByteSizeEx.
Davide Beatrici (18):
winealsa: Move SimpleAudioVolume into mmdevapi.
winecoreaudio: Use mmdevapi's SimpleAudioVolume.
wineoss: Use mmdevapi's SimpleAudioVolume.
winepulse: Use mmdevapi's SimpleAudioVolume.
winecoreaudio: Implement per-channel volume control.
mmdevapi: Remove unused "channel" member in set_volumes_params.
winealsa: Move ChannelAudioVolume into mmdevapi.
winecoreaudio: Use mmdevapi's ChannelAudioVolume.
wineoss: Use mmdevapi's ChannelAudioVolume.
winepulse: Use mmdevapi's ChannelAudioVolume.
winepulse: Move AudioStreamVolume into mmdevapi.
winealsa: Use mmdevapi's AudioStreamVolume.
winecoreaudio: Use mmdevapi's AudioStreamVolume.
wineoss: Use mmdevapi's AudioStreamVolume.
winepulse: Move AudioClock into mmdevapi.
winealsa: Use mmdevapi's AudioClock.
winecoreaudio: Use mmdevapi's AudioClock.
wineoss: Use mmdevapi's AudioClock.
Eric Pouech (3):
evr: Fix incorrect integral computation.
winedump: Fix copy & paste error.
winegstreamer: Fix typo.
Etaash Mathamsetty (1):
kernelbase: Add GetPackagesByPackageFamily stub.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (2):
kernel32/tests: Use win_skip() for missing APIs.
kernelbase/tests: Use win_skip() for missing APIs.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.250.
Gerald Pfeifer (1):
webservices: Avoid uninitialized variable warning in format_double.
Giovanni Mascellani (11):
winegstreamer: Synchronize concurrent access to the media source.
winegstreamer: Synchronize concurrent access to the media stream.
winegstreamer: Synchronize access to the media source from callbacks.
mfplat/tests: Push image size and format as context.
mfplat/buffer: Use the appropriate image copy function for NV11.
mfplat/buffer: Support YV12, I420 and IYUV image formats.
mfplat/tests: Test large RGB image formats.
mfplat/tests: Test IMF2DBuffer::ContiguousCopyFrom().
mfplat/buffer: Implement IMF2DBuffer::ContiguousCopyFrom().
mfplat/tests: Test IMF2DBuffer::ContiguousCopyTo().
mfplat/buffer: Implement IMF2DBuffer::ContiguousCopyTo().
Jactry Zeng (1):
wordpad: Resize buttons of toolbar to make them align with height of the font list combox.
Michael Stefaniuc (4):
dxdiagn: Avoid assigning COM objects to interface variables.
dbgeng: Avoid casts to IUnknown* in IUnknown method calls.
d2d1: Remove superfluous casts to self.
wbemprox: Avoid assigning COM objects to interface variables.
Mohamad Al-Jaf (3):
include: Add hrtfapoapi.idl file.
hrtfapo: Add stub DLL.
hrtfapo: Add CreateHrtfApo() stub.
Nikolay Sivov (5):
ntdll/tests: Add some tests for RtlInitializeSid().
ntdll: Fix subauthority count check in RtlInitializeSid().
ntdll/tests: Add some RtlValidSecurityDescriptor() tests.
mfplat: Implement MFCreatePathFromURL().
mfplat/tests: Add another test for MFCopyImage().
Olivier F. R. Dierick (1):
dxdiag: Ignore option /64bit on the commandline.
Paul Gofman (11):
win32u: Partially implement NtUserDisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE).
d3dx9: Fix dst pitch for compressed format in D3DXLoadSurfaceFromMemory().
wbemprox: Bump video driver version and date.
ntdll: Retry send on ECONNREFUSED in try_send().
ntdll/tests: Add tests for freeing a part of view.
kernelbase: Validate nonzero size for MEM_RELEASE in VirtualFreeEx().
ntdll: Fix size validation in NtFreeVirtualMemory().
ntdll: Fully support unaligned views in free ranges management.
ntdll: Factor out some view manipulation functions.
ntdll: Support partial view release in NtFreeVirtualMemory().
ntdll: Add logging for free ranges.
Piotr Caban (37):
gdi32: Ignore in_count parameter in Escape() on PASSTHROUGH escape.
gdi32: Support saving EMR_EXTESCAPE record in spool file.
gdi32: Return error in EndPage if it's called before StartPage.
win32u: Don't allow bitmap fonts if OUT_TT_ONLY_PRECIS output precision is specified.
wineps: Use only TrueType fonts in print processor.
Revert "wineps: Fix default device font selection.".
winspool: Change CUPS printers print processor to wineps.
wineps: Remove no longer used graphic driver functions.
wineps: Use designated initializers to initialize gdi_dc_funcs structure.
wineps: Store page size full name as unicode string.
gdi32: Handle NEXTBAND escape in Escape().
wineps: Remove no longer used NEXTBAND escape.
wineps: Copy GetDeviceCaps implementation to unixlib.
wineps: Copy ResetDC implementation to unixlib.
wineps: Move ExtEscape implementation to unixlib.
wineps: Store font related strings in unicode.
wineps: Copy SelectFont implementation to unixlib.
wineps: Move EnumFonts implementation to unixlib.
wineps: Move GetCharWidth implementation to unixlib.
wineps: Copy GetTextMetrics implementation to unixlib.
wineps: Copy GetTextExtentExPoint implementation to unixlib.
wineps: Use printer DC in print processor.
wineps: Change initial printer font to DEVICE_DEFAULT_FONT.
wineps: Introduce PSDRV_GET_GLYPH_NAME escape to obtain builtin glyph name from unixlib.
wineps: Remove unused fields from PSFONT structure.
wineps: Don't use BUILTIN structure on PE side.
wineps: Remove no longer used font selection code from PE side.
wineps: Remove no longer used PSDRV_StartDoc and PSDRV_EndDoc functions.
gdi32: Add device name to wine_get_gdi_driver call.
wineps: Move remaining DC driver functions to unixlib.
wineps: Rename PSDRV_PDEVICE structure to print_ctx.
wineps: Define PSDRV_PDEVICE structure in unixlib.
wineps: Remove gdi_physdev from print_ctx structure.
wineps: Remove unused fields from PSDRV_DEVMODE.
wineps: Use standard DEVMODEW structure instead of PSDRV_DEVMODE when possible.
wineps: Store data from PPD file used in unixlib in DEVMODE.
wineps: Store font substitution table in DEVMODE.
Rémi Bernon (51):
winegstreamer: Query the wg_parser stream in media_stream_create.
winegstreamer: Keep a IMFMediaSource pointer in the media stream.
winegstreamer: Only break cyclic references in IMFMediaSource_Shutdown.
winegstreamer: Remove unnecessary media source stream states.
riched20: Update the editor IME position on GCS_RESULTSTR.
winex11: Rename preedit buffer and related variables.
winex11: Simplify xic_preedit_draw control flow.
winex11: Compute preedit text buffer sizes in WCHAR units.
winex11: Always zero terminate XIM composition string buffer.
imm32/tests: Move IME calls test helpers around.
imm32/tests: Test cross-thread ImmRequestMessage(W|A) calls.
imm32: Use INPUTCONTEXT directly in ImmRequestMessage(W|A).
imm32/tests: Add more ImmProcessKey and ImmGetVirtualKey tests.
imm32/tests: Test ImmTranslateMessage / ImeToAsciiEx calls.
imm32: Ignore some messages in ImmTranslateMessage.
imm32: Clear vkey before calling ToAsciiEx in ImmTranslateMessage.
imm32: Post messages to the target window in ImmTranslateMessage.
imm32/tests: Adjust the ImmSetOpenStatus tests for MS Korean IME.
imm32/tests: Print human readable IME message names.
imm32/tests: Ignore some unknown WM_IME_NOTIFY messages.
imm32/tests: Add some missing local variables declarations.
imm32/tests: Test MS Korean IME GA-NA-DA sequence.
imm32/tests: Test MS Japanese IME NIHONGO-NO sequence.
winegstreamer: Return a IUnknown pointer from source_create_async_op.
winegstreamer: Avoid potential leak of media source async commands.
winegstreamer: Use helpers to convert stream descriptor type to wg_format.
winegstreamer: Start media streams in a dedicated media_stream_start helper.
winegstreamer: Simplify media source wait_on_sample control flow.
winegstreamer: Avoid eating errors in media source async commands.
winegstreamer: Keep a stream descriptor array on the media source.
winegstreamer: Create media source presentation descriptor as needed.
winemac: Delay ime_set_text until ImeToAsciiEx requests it.
winemac: Wait for IME input result on the unix side.
winemac: Send IME key input from ImeProcessKey.
imm32/tests: Mark some tests as broken by prior SetForegroundWindow call.
winex11: Use a helper to change internal composition status.
winex11: Clear the composition string when input context is closed.
winex11: Simplify NotifyIME with NI_COMPOSITIONSTR / CPS_COMPLETE.
win32u: Introduce new NtUserNotifyIMEStatus syscall.
winex11: Move NotifyIME to the default IME implementation.
winemac: Use the default IME implementation for NotifyIME.
winex11: Use the default IME implementation for ImeSetCompositionString.
winemac: Use the default IME implementation for ImeSetCompositionString.
win32u: Introduce a new ImeProcessKey call through NtUserMessageCall.
winemac: Use the ImeProcessKey driver entry to process IME input.
win32u: Introduce a new ImeToAsciiEx call through NtUserMessageCall.
winemac: Use the ImeToAsciiEx driver entry to retrieve IME result.
winemac: Compute the required COMPOSITIONSTRING size in ImeToAsciiEx.
imm32: Resize the composition string if the driver requested so.
winemac: Write the IME strings to the COMPOSITIONSTRING in ImeToAsciiEx.
winemac: Generate IME messages from the default ImeToAsciiEx implementation.
Santino Mazza (1):
mf/session: Reset presentation flags when session_clear_presentation is called.
Shaun Ren (6):
sapi: Implement ISpRegDataKey::SetStringValue.
sapi: Ignore read_only in ISpRegDataKey::SetKey.
sapi: Implement ISpRegDataKey::OpenKey.
sapi: Use ISpRegDataKey in object_token.
sapi: Implement ISpObjectToken::Set/GetStringValue.
sapi: Implement ISpObjectToken::CreateInstance.
Sven Baars (2):
mscoree/tests: Remove the parent argument from create_new_dir() (Coverity).
ddraw: Set the texture height in SetSurfaceDesc() (Coverity).
Tim Clem (2):
ntdll: Decrement thread count from exit_thread and exit the process if needed.
winemac.drv: Force a window in front of its peers if its level is decreased.
Torge Matthies (4):
ntdll/tests: Add test for file attributes of files with names beginning with a dot.
ntdll: Handle hidden file names inside get_file_info instead of after it.
ntdll: Only infer hidden attribute from file name if xattr is not present.
ntdll: Set xattr in NtCreateFile if inferred and requested attributes don't match.
Vijay Kiran Kamuju (1):
winex11.drv: Fix compile when xrandr is not available.
Zebediah Figura (32):
d3d8: Move surface allocation to d3d8_surface_create().
d3d8: Create sub-resource surfaces manually.
d3d8: Pass the container to d3d8_surface_create().
wined3d: Directly call wined3d_texture_create() to create swapchain textures.
winepulse: Avoid accessing the product name after freeing it.
ntdll: Fix the prototype of NtDuplicateToken().
advapi32/tests: Add more tests for token duplication.
quartz: Check whether the pin is connected in IBasicVideo::GetVideoSize().
quartz: Check whether the pin is connected in IVideoWindow::put_Caption().
quartz: Check whether the pin is connected in IVideoWindow::put_WindowStyle().
quartz: Check whether the pin is connected in IVideoWindow::put_AutoShow().
quartz: Check whether the pin is connected in IVideoWindow::put_Owner().
quartz: Check whether the pin is connected in IVideoWindow::put_MessageDrain().
quartz: Check whether the pin is connected in IVideoWindow::put_Visible().
quartz: Check whether the pin is connected in IVideoWindow::SetWindowPosition().
d3d9/tests: Add some more tests for accessing an old backbuffer surface after a reset.
d3d9: Hold a reference to the wined3d swapchain from d3d9 swapchain surfaces.
d3d8: Hold a reference to the wined3d swapchain from d3d8 swapchain surfaces.
d3d11: Hold a reference to the wined3d swapchain from d3d11 swapchain textures.
wined3d: Do not forward texture references to the swapchain.
wined3d: Read the sm4 sample count in DCL instructions.
wined3d: Do not declare resources as multisampled if the sample count is 1.
qcap/audiorecord: Get rid of the AudioRecord typedef.
qcap/audiorecord: Add a stub source pin.
qcap/tests: Test audio capture pin interfaces.
qcap/tests: Test audio capture pin information.
qcap/tests: Test the audio capture CLSID.
qcap/audiorecord: Stub IAMStreamConfig.
qcap/tests: Add tests for media types.
qcap/audiorecord: Implement pin_get_media_type().
qcap/audiorecord: Implement IAMStreamConfig::GetStreamCaps().
qcap/audiorecord: Partially implement QueryAccept().
Zhiyi Zhang (15):
tasklist: Add basic functionality.
tasklist: Support '/nh' option.
tasklist: Support '/fo' option.
tasklist: Partially support '/fi' option.
findstr: Add basic functionality.
oledb32/tests: Test initial catalog property.
oledb32: Use the correct property for initial catalog.
oledb32/tests: Test provider string with multiple provider specific properties.
oledb32: Put provider initialization properties in a single DBPROP_INIT_PROVIDERSTRING.
oledb32/tests: Test converting DBTYPE_VARIANT to DBTYPE_UI8.
oledb32: Support converting DBTYPE_VARIANT to DBTYPE_UI8.
oledb32/tests: Test converting DBTYPE_VARIANT to DBTYPE_GUID.
oledb32: Support converting DBTYPE_VARIANT to DBTYPE_GUID.
oledb32/tests: Test converting DBTYPE_VARIANT to DBTYPE_VARIANT.
oledb32: Support converting DBTYPE_VARIANT to DBTYPE_VARIANT.
Ziqing Hui (4):
winegstreamer: Introduce format_is_compressed.
winegstreamer: Implement wg_parser_stream_get_codec_format.
winegstreamer: Implement amt_from_wg_format_video_wmv.
winegstreamer: Use codec format in stream_props_GetMediaType.
The Wine development release 8.7 is now available.
What's new in this release:
- DXBC shader parsing delegated to vkd3d.
- More spool file improvements in the PostScript driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.7.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.7 (total 17):
- #9932 Listview highlight issues when drag&drop enabled
- #23647 Street Fighter 4 Benchmark: Flickering screen with parallel rendering enabled
- #32089 Window resize enters endless cycle
- #32958 ReVolt 1207: Crashes when trying to play Stunt Arena
- #33487 Davar bible software not working
- #43672 Airscout program 1.2.0.5 does not load under wine 2.0.2
- #50249 Shapes On A Plane crashes on start
- #51625 Unravel fails to load
- #52322 wineserver memory leak during HTTPs download (Genshin Impact Launcher, Qt5)
- #54424 user32:edit - test_dbcs_WM_CHAR() fails on Windows in mixed locales
- #54464 Multiple games crash on launch (Sekiro: Shadows Die Twice GOTY, Dark Souls III)
- #54799 wininet:internet - test_InternetGetConnectedStateExA() fails in the Japanese and Chinese locales in Wine
- #54808 Access violation in ntdll when running Adolix Split and Merge PDF with .NET Framework installed
- #54815 wininet:internet - test_InternetErrorDlg() fails on Windows 10 1607
- #54844 Existing prefixes keep resetting to Win10 when wine is updated
- #54856 Final Fantasy XI Online: Opening movie doesn't play (redux part II).
- #54882 Conemu fails to start (cannot attach to process)
----------------------------------------------------------------
Changes since 8.6:
Alex Henrie (2):
kernel32/tests: Check that lpSectionBase != NULL before dereferencing.
ntdll: Increment offset by len in build_clr_surrogate_section.
Alexandre Julliard (18):
include: Add some CHPE definitions.
winedump: Dump hybrid metadata also for i386 CHPE modules.
include: Add the ARM64EC context structure.
include: Update the PEB and TEB structures.
zlib: Run source files through zlib2ansi to avoid K&R function definitions.
makedep: Avoid generating empty dependencies.
winedump: Print entry point names in code range lists.
kernelbase: Move to a higher address on 64-bit.
kernel32: Move to a higher address on 64-bit.
ntdll: Reimplement RtlSetBits() to set 32 bits at a time.
ntdll: Reimplement RtlClearBits() to clear 32 bits at a time.
ntdll: Reimplement RtlAreBitsSet() to check 32 bits at a time.
ntdll: Reimplement RtlAreBitsClear() to check 32 bits at a time.
ntdll: Reimplement RtlNumberOfSetBits() to check 32 bits at a time.
ntdll: Use a separate memory allocation for the kernel stack.
ntdll: Use nameless unions/structs for register contexts.
include: Add some new ProcThreadAttribute definitions.
winedump: Fix printing of code ranges in hybrid modules.
Alexandros Frantzis (5):
winewayland.drv: Initialize display devices once after process init.
tools: Support building Wayland protocol source files.
winewayland.drv: Use the output name reported by the compositor.
winewayland.drv: Basic support for Windows monitor positioning.
winewayland.drv: Infer and report Windows monitor positions.
Alistair Leslie-Hughes (1):
widl: Suppress a coverity warning.
Andrey Gusev (1):
dxgi: Update TRACE in dxgi_device_create_resource().
André Zwing (1):
ntdll: Print RPC_S_SERVER_UNAVAILABLE exceptions.
Anton Baskanov (7):
winegstreamer: Fix negative height image size calculation.
winegstreamer: Call init_gstreamer() in winegstreamer_create_video_decoder().
dsound: Remove the unused nAvgBytesPerSec field.
dsound: Remove redundant assignments to freqAdjustNum and freqAdjustDen.
dsound: Preserve freqAccNum value in DSOUND_RecalcFormat().
dsound: Acquire the lock when setting 3D buffer parameters.
dsound: Allocate big enough committedbuff up front.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
ntoskrnl: Do not leak memory by setting input buffer to NULL.
Brendan Shanks (4):
winemac: Refactor constrain_window_frame() to use separate origin and size arguments.
winemac: Set the Cocoa window contentMaxSize to the size limits from constrain_window_frame().
winemac: Don't constrain surface dimensions to the onscreen part of a window.
msvcrt: Fix crash when rethrowing after a non-C++ exception on x86_64.
Byeong-Sik Jeon (2):
imm32: Stop updating INPUTCONTEXT hWnd member in ImmGetContext.
imm32: Avoid updating INPUTCONTEXT hWnd on ImmSetActiveContext deactivation.
Connor McAdams (12):
uiautomationcore: Implement UIA_ControlTypePropertyId for default HWND provider.
uiautomationcore: Implement UIA_BoundingRectanglePropertyId for default HWND provider.
uiautomationcore: Implement NavigateDirection_Parent navigation for default HWND provider.
uiautomationcore: Add a default ProviderType_Proxy MSAA bridge clientside provider.
uiautomationcore: Implement UiaGetRootNode.
uiautomationcore: Implement IUIAutomation::GetRootElement.
uiautomationcore: Implement conditional NavigateDirection_Parent navigation.
uiautomationcore: Add normalization navigation to UiaGetUpdatedCache.
uiautomationcore: Add UiaNodeFromFocus stub.
uiautomationcore: Implement UiaNodeFromFocus.
uiautomationcore: Implement IUIAutomation::GetFocusedElement{BuildCacheRequest}.
uiautomationcore: Retrieve runtime ID on UiaReturnRawElementProvider thread to prevent a deadlock.
Davide Beatrici (22):
winealsa: Export function to get AudioSessionWrapper object.
winecoreaudio: Export function to get AudioSessionWrapper object.
wineoss: Export function to get AudioSessionWrapper object.
winepulse: Export function to get AudioSessionWrapper object.
mmdevapi: Import GetAudioSessionWrapper() from driver.
mmdevapi: Implement AudioSessionManager.
winealsa: Remove AudioSessionManager.
winecoreaudio: Remove AudioSessionManager.
wineoss: Remove AudioSessionManager.
winepulse: Remove AudioSessionManager.
winealsa: Implement functions to lock and unlock sessions.
winecoreaudio: Implement functions to lock and unlock sessions.
wineoss: Implement functions to lock and unlock sessions.
winepulse: Implement functions to lock and unlock sessions.
winealsa: Use dedicated macros to call interface functions.
winecoreaudio: Use dedicated macros to call interface functions.
wineoss: Use dedicated macros to call interface functions.
winepulse: Use dedicated macros to call interface functions.
winealsa: Move AudioSessionControl into mmdevapi.
winecoreaudio: Use mmdevapi's AudioSessionControl.
wineoss: Use mmdevapi's AudioSessionControl.
winepulse: Use mmdevapi's AudioSessionControl.
Derek Lesho (1):
winegstreamer: Cache wg_parser input data.
Dmitry Timoshkov (1):
shell32/tests: Add SHBindToFolderIDListParent() tests.
Eric Pouech (6):
mf/tests: Add tests about (negative) stride handling.
winegstreamer: In video_processor, activate a videoflip converter.
winedbg: Let 'break symbol : line' command work again.
dbghelp: Use source file path as stored in debug info format.
winedbg: Simplify watch command implementation.
winedbg: Improve size management in watch command.
François Gouget (7):
user32/tests: Fix the DBCS WM_CHAR tests in mixed locales.
dnsapi/tests: Make DnsQuery()'s CNAME tests more compatible with CDNs.
wininet: Add constants for DetectAutoProxyUrl().
wininet/tests: Add more proxy tests.
kernel32/tests: Fix the ScrollConsoleScreenBuffer() tests on Windows 10 1909.
msi/tests: Fix the ok() formats so they match the size of their arguments.
msi/tests: Ok_() takes printf-style arguments.
Gabriel Ivăncescu (12):
mshtml: Implement MediaQueryList's addListener method.
mshtml: Implement MediaQueryList's removeListener method.
mshtml: Use proper event type for PageTransition events.
mshtml: Do not release the principal returned by GetPrincipal.
mshtml: Fix factory leak in init_nsio.
mshtml: Fix nsIFile dir leak in init_xpcom.
mshtml: Fix URI leak in NewURI on failure.
mshtml: Store minimum compat mode required for events in the ctor table.
mshtml: Support cycle collection for nsChannel.
mshtml: Fix nsChannel's load_info leak.
mshtml: Pass actual node_ccp to ccref_decr for nodes.
mshtml/tests: Fix element leak in elem_fire_event.
Giovanni Mascellani (11):
mfplat/tests: Test Lock2D() on a locked D3D9 surface buffer.
mfplat/tests: Test locking flags for D3D9 buffers.
mfplat/tests: Independently test that locking flags are ignored for D3D9 buffers.
mfplat: Fix locking flags usage for D3D9 buffers.
mfplat/tests: Test Lock2D() on a locked DXGI surface buffer.
mfplat/tests: Test locking flags for DXGI buffers.
mfplat: Do not mark a DXGI buffer as locked if surface mapping fails.
mfplat: Fix locking flags usage for DXGI buffers.
mfplat: Only download surface data from GPU for DXGI buffers when reading.
mfplat: Only upload surface data to GPU for DXGI buffers when writing.
mfplat/tests: Test that the content of DXGI buffers is discarded when locking for writing.
Hans Leidekker (1):
wine.inf: Use FLG_ADDREG_NOCLOBBER for CurrentMajor/MinorVersionNumber.
Henri Verbeet (12):
d3dcompiler: Check for minimum bytecode size in d3dcompiler_get_blob_part().
d3dcompiler: Check for minimum bytecode size in d3dcompiler_strip_shader().
d3dcompiler: Store DXBC sections as vkd3d_shader_dxbc_section_desc structures.
d3dcompiler: Use vkd3d_shader_serialize_dxbc() in d3dcompiler_get_blob_part().
d3dcompiler: Use vkd3d_shader_serialize_dxbc() in d3dcompiler_strip_shader().
d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_get_blob_part().
d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_strip_shader().
d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_shader_reflection_init().
wined3d: Implement shader_extract_from_dxbc() on top of vkd3d_shader_parse_dxbc().
vkd3d: Update the version information for release 1.7.
d3d10: Implement d3d10_effect_parse() on top of vkd3d_shader_parse_dxbc().
d3d10: Implement parse_fx10_preshader() on top of vkd3d_shader_parse_dxbc().
Jactry Zeng (2):
appwiz.cpl: Process messages while waiting for the uninstaller to terminate.
appwiz.cpl: Handle WM_CLOSE and WM_COMMAND(IDCANCEL) in the support info dialog.
Jinoh Kang (6):
kernel32/tests: Test for activation context switching between fibers.
ntdll: Factor out reading current activation context into a helper function.
ntdll: Store current activation context stack pointer into a local variable.
ntdll: Use ActivationContextStackPointer instead of referencing ActivationContextStack directly.
ntdll: Implement RtlFreeActivationContextStack().
kernelbase: Implement activation context switching for fibers.
Martin Garton (1):
msvcrt: Fix typo in #define.
Matteo Bruni (2):
d3dcompiler/tests: Add a couple tests for minimum size in D3DGetBlobPart().
d3dcompiler/tests: Add a couple tests for minimum size in D3DStripShader().
Michael Stefaniuc (3):
threadpoolwinrt: Forward a Release() to a Release() method.
uiautomationcore: Drop superfluous TRUE : FALSE conditional expression.
win32u: Use ARRAY_SIZE() instead of open coding it.
Mohamad Al-Jaf (9):
include: Add windows.graphics.capture.interop.idl file.
include: Add appnotify.h file.
twinapi.appcore: Add stub DLL.
twinapi.appcore: Add RegisterAppStateChangeNotification stub.
twinapi.appcore: Add UnregisterAppStateChangeNotification stub.
apisetschema: Add api-ms-win-core-psm-appnotify-l1-1-0.
shell32: Implement SHBindToFolderIDListParent().
shell32/tests: Test SHBindToParent() last parameter behavior.
shell32: Fix last parameter behavior in SHBindToFolderIDListParent().
Paul Gofman (4):
ntdll: Mind LFH pending blocks in RtlDestroyHeap().
ntdll: Avoid integer overflow in block_get_subheap().
mfplat: Fix returned buffer length in dxgi_surface_buffer_lock().
wined3d: Add a comment about mismatched samplers.
Piotr Caban (36):
wineps: Rename handle count parameter in hmf_proc.
wineps: Set text and background color during device creation.
wineps: Handle EMR_EXTCREATEFONTINDIRECTW record in spool files.
wineps: Handle font selection in spool files.
wineps: Store text justification info in print processor data.
wineps: Handle EMR_EXTTEXTOUTW record in spool files.
wineps: Add BiDi support in EMR_EXTTEXTOUTW record.
wineps: Clip visible rectangle to bitmap size in get_vis_rectangles.
wineps: Handle EMR_CREATEPALETTE record in spool files.
wineps: Handle EMR_SELECTPALETTE record in spool files.
wineps: Handle EMR_SETDIBITSTODEVICE record in spool files.
wineps: Handle EMR_STRETCHDIBITS record in spool files.
wineps: Handle EMR_REALIZEPALETTE record in spool files.
wineps: Handle EMR_RESIZEPALETTE record in spool files.
wineps: Handle EMR_SETPALETTEENTRIES record in spool files.
gdi32: Use EMR_REALIZEPALETTE to record RealizePalette.
gdi32: Fix EMR_CREATEPALETTE recording.
gdi32: Store palette in EMR_EOF record.
gdi32/tests: Add EMF palette tests.
wineps: Fix default device font selection.
wineps: Fix return value in path drawing routines.
wineps: Continue printing if path drawing function returns error.
wineps: Reset memory DC state on every page.
localspl: Add support for PRINTER_ATTRIBUTE_RAW_ONLY printer attribute.
localspl: Validate datatype in StartDocPrinter.
wineps: Reset current position on every page.
gdi32: Store the printer info in a structure.
gdi32: Improve EMF DC cleanup when CloseEnhMetafile is not called.
gdi32: Factor out emf_eof helper.
gdi32: Factor out emf_create helper.
gdi32: Add support for creating EMF spool files.
gdi32: Add GdiIsMetaPrintDC implementation.
localspl: Add partial support for PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS attribute.
gdi32: Implicitly call StartPage while drawing on printer DC.
gdi32: Support creating EMRI_DEVMODE records in spool files.
wineps: Handle EMRI_DEVMODE record in spool files.
Rémi Bernon (11):
imm32/tests: Test that ImmSetOpenStatus doesn't set IMMGWL_IMC.
imm32/tests: Check IME UI visibility vs ImmSetCompositionWindow.
imm32/tests: Check ImmSetActiveContext effect on INPUTCONTEXT hWnd member.
imm32: Forward ImmGetContext to NtUserGetWindowInputContext directly.
user32: Move WM_IME_COMPOSITION DefWindowProc handlers in separate helpers.
user32: Ignore WM_IME_COMPOSITION from the IME UI window in DefWindowProc.
imm32: Don't hide/show IME UI window in ImmSetCompositionWindow.
imm32: Move ImmAssociateContext(Ex) around.
imm32: Update IME UI window IMMGWL_IMC when focus or HIMC changes.
imm32/tests: Add some ImmGenerateMessage tests.
imm32: Send messages one by one in ImmGenerateMessage.
Shaun Ren (2):
include: Add more sapi structs and enums.
include: Add ISpTTSEngineSite and ISpTTSEngine interfaces.
Stefan Dösinger (14):
d3dx9: Use __VA_ARGS__ instead of GCCs named variadics.
d3dx9/tests: Use __VA_ARGS__ instead of GCCs named variadics.
wined3d: Sync depth stencils to both early and late depth test.
wined3d: Avoid VK_IMAGE_LAYOUT_GENERAL.
wined3d: Fall back to general layout if necessary.
d3d9/tests: Radeon GPUs don't draw from sysmem textures.
d3d9/tests: Accept AMD GPU sysmem sample failure in test_mipmap_upload.
d3d8/tests: Radeon GPUs don't draw from sysmem textures.
d3d8/test: Accept AMD GPU sysmem sample failure in test_mipmap_upload.
d3dx9: Load D3DAssemble via GetProcAddress.
d3dcompiler/tests: Load D3DAssemble via GetProcAddress.
d3dcompiler: Make D3DAssemble a private export.
d3d9/tests: AMD GPUs sample the border color of cube textures.
d3d9/tests: Accept random depth when using a 3D texture with a 2D sampler.
Vova Mshanetskiy (2):
winhttp: Support WINHTTP_OPTION_PARENT_HANDLE in request_query_option().
winhttp: Avoid unnecessary cast in connect_query_option().
Zebediah Figura (8):
wined3d: Allow retrieving the frontbuffer from a wined3d swapchain.
ddraw: Retrieve the frontbuffer directly from wined3d.
wined3d: Disable shaderTessellationAndGeometryPointSize.
dxgi: Introduce IWineDXGIDeviceParent::register_swapchain_texture() and use it in IDXGIDevice::CreateSurface().
dxgi: Create d3d11 swapchain textures directly from d3d11_swapchain_init().
d3d9: Move surface allocation to d3d9_surface_create().
d3d9: Create sub-resource surfaces manually.
d3d9: Pass the container to d3d9_surface_create().
Ziqing Hui (3):
winegstreamer: Implement wg_format_from_caps_video_wmv.
wingstreamer: Create extra decodebin to decode compressed stream.
mfreadwrite: Fix an address of operator typo.
The Wine stable release 8.0.1 is now available.
What's new in this release:
- Fixes for macOS Ventura 13.3 on Apple Silicon
- Tamil and Turkish translation updates
- Various bug fixes
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.0.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.0.1 (total 36):
- #49615 Device read errors logged in dmesg when running wine commands with empty CD/DVD drive, since 5.5
- #51345 Regression: Visual Studio 2005 "package load failure"
- #52506 Setup of game "What's the Secret?" fails to create icon
- #52878 Free PC Audit 5.1.211.96 fails to show info in 'Brief' tab (needs GetBinaryValue method of the StdRegProv class)
- #53274 adsldp:ldap - test_ParseDisplayName() sometimes fails to connect to the server
- #53926 New typelib marshaller depends on IID_IDispatch support from target interface
- #53981 Chromium broken sandbox due to GetSecurityInfo giving access denied
- #54030 Snagit needs Win32_Volume class ( 'select deviceid from win32_volume where driveletter =C:')
- #54215 ListView doesn't refresh when changing between List and Details styles.
- #54234 vbscript fails to compile when colon follows Else in If...Else
- #54289 RtlCopyContext buffer overflow
- #54318 Rich Edit inserts newly composed text at wrong position when system IME composition ends while a selection is active
- #54337 AviUtl shows Japanese text as garbage after conversion in ExEdit edit box
- #54353 crypt32:cert - testVerifyRevocation() gets unexpected success in Wine on second run
- #54357 Spurious fixme message when calling ScrollWindow()
- #54364 RtlGenRandom fails on systems with more than 128 cores
- #54371 loader won't launch from PATH unless named "wine"
- #54376 ws2_32:sock - test_reuseaddr() overflows a sockaddr variable by reading an AF_INET6 peer name into it
- #54379 since wine 8.0 print doesn't work any more
- #54432 Missing ntdll.RtlAddressInSectionTable() implementation causes all GraalVM Native Image exes to crash on load
- #54449 nethack crashes
- #54456 vbscript memory leak in For Each with SafeArray as group
- #54457 vbscript memory leaks in interp_redim_preserve
- #54458 vbscript memory leaks in Global_Split
- #54489 VarAbs() does not handle BSTR arguments correctly
- #54490 vbscript fails to compile when statement follows ElseIf
- #54493 vbscript fails to compile concat when used without space and expression begins with H
- #54495 Motorola Ready For Assistant does not start, needs ext-ms-win-networking-wlanapi-l1-1-0.dll
- #54563 The gif is displaying wrongly, with weird backgrounds of various colors
- #54564 Rich Edit crashes when Ctrl+Right is pressed at past the final paragraph
- #54570 Saints Row: The Third heavy rain causes heavy fps reductions
- #54581 SpeedCommander 20 installer crashes on unimplemented function SHELL32.dll.Shell_GetCachedImageIndexW
- #54617 KakaoTalk IM text edit window leaves artifacts when the text overflows and scroll bar appears
- #54663 ldp.exe crashes on unimplemented function wldap32.dll.ldap_set_dbg_flags
- #54690 ldp.exe crashes when attempting to connect to an invalid host
- #54707 adsldp:ldap - test_DirectorySearch() fails on Windows and Linux
----------------------------------------------------------------
Changes since 8.0:
Akihiro Sagawa (2):
user32/tests: Add DBCS WM_CHAR tests for edit control.
user32/edit: Fix WM_CHAR handler for double-byte characters.
Alex Henrie (5):
shell32: Add support for Program Manager icons with arguments.
wldap32: Add ldap_set_dbg_flags stub.
wldap32: Handle null LDAPMessage in ldap_count_entries.
wldap32: Handle null LDAPMessage in ldap_parse_result.
server: Fix buffer overrun in map_view handler.
Alexandre Julliard (2):
gitlab: Add workaround for more strict git ownership check.
ntdll: Prefer the ntdll path over argv[0] on platforms without reliable exe information.
Alistair Leslie-Hughes (1):
mountmgr.sys: Don't attempt to read from invalid media.
Brendan Shanks (7):
loader: In macOS preloader, move the top-down allocations area down.
loader: In macOS preloader, stop using mincore() to test if a region is empty.
server: On macOS, fake debug registers when running under Rosetta.
ntdll: Add a WARN when setting debug registers fails under Rosetta.
loader: In macOS preloader, fix an environment variable sometimes being lost.
taskmgr: Use exit code 1 when terminating processes.
taskkill: Use exit code 1 when terminating processes.
Carlos Rodriguez (1):
wined3d: Add GPU information for another Intel UHD 630 GPU.
Dmitry Timoshkov (3):
win32u: Give full access rights to the process window station.
win32u: Give full access rights to the thread desktop.
rpcrt4: Mark the buffer as invalid in NdrProxyFreeBuffer().
Eric Pouech (3):
ntdll: Implement RtlAddressInSectionTable.
conhost: Only update font when running with a window.
winedbg: Use debuggee's bitness for 'examine /a' command.
Florian Will (2):
gdiplus/tests: Test for GdipPrivateAddFontFile() sharing violation.
gdiplus: Use FILE_SHARE_READ in GdipPrivateAddFontFile().
Gabriel Ivăncescu (1):
jscript: Fix jsstr leak after changing variant type to BSTR.
Gijs Vermeulen (1):
shell32: Add Shell_GetCachedImageIndexA/W exports.
Giovanni Mascellani (1):
wbemprox: Do not call Release() inside wbemprox_cf_CreateInstance().
Hans Leidekker (8):
wbemprox: Implement GetBinaryValue() method.
adsldp/tests: Avoid test failures when the server is down.
wbemprox: Implement Win32_Volume.
advapi32: Bump random buffer size.
msi: Install and patch global assemblies in InstallFinalize.
msi: Perform late initialization of the assembly caches.
adsldp/tests: Skip all remaining tests when the server is down.
adsldp/tests: Fix test failures.
Hugh McMaster (2):
regedit: Allow export_key() to return TRUE.
regedit: Append '.reg' file extension if necessary.
Illia Polishchuk (2):
d3d9/tests: Add test for non-indexed instancing drawing.
d3d9: Always draw only a single instance for non-indexed draws.
Jacek Caban (2):
win32u: Silence spurious FIXME in NtUserScrollWindowEx.
oleaut32: Remove overflow check for VT_R4 and VT_R8 in VarAbs.
Jason Millard (7):
vbscript: Fix compile when colon follows Else on new line.
vbscript: Fix memory leak in owned safearray iterator.
vbscript: Fix memory leak in Split().
vbscript: Fix memory leak in Split().
oleaut32: Fix VarAbs function for BSTR with positive values.
vbscript: Fix compile when statement after ElseIf or after separator.
vbscript: Fix compile issue with non hex after concat without space.
Jinoh Kang (7):
ws2_32/test: Fix sockaddr buffer overflow in test_reuseaddr.
riched20: Obtain the composition start index after deleting selection.
riched20/tests: Test for word movement across paragraph boundary.
riched20: Don't set para unless committing cursor move in ME_MoveCursorWords.
riched20/tests: Test for ITextDocument::Freeze and ITextDocument::Unfreeze.
riched20: Don't assume that TxDraw preserves the device context's brush selection.
riched20: Implement ITextDocument::Freeze and ITextDocument::Unfreeze.
K.B.Dharun Krishna (1):
po: Update Tamil translation.
Michael Stefaniuc (2):
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
gitlab: Do not run the build script on each commit.
Nikolay Sivov (1):
apisetschema: Add ext-ms-win-networking-wlanapi-l1-1-0.
Paul Gofman (5):
ntdll: Factor out context_copy_ranges() function.
ntdll: Do not use extended context in RtlCopyContext() if extended state is not copied.
cryptnet: Cache revocation status in verify_cert_revocation().
cryptnet: Use cert data hash as cache id instead of serial number.
cryptnet: Also hash issuer cert for cache id.
Piotr Caban (7):
msvcrt: Don't crash on NULL argument in getenv.
msvcrt: Don't crash on NULL argument in _wgetenv.
msvcrt: Improve error handling in getenv_s.
msvcrt: Improve error handling in _wgetenv_s.
winspool: Fix FILE: output handling in StartDocDlgW.
localspl: Ignore an empty output string.
gdiplus: Use transparency instead of background color if transparent color flag is set in GIF GCE.
Rémi Bernon (2):
dwrite: Statically init the system_fallback locale list.
services: Use a separate allocation for NotifyParamsArray[0].params.
Serkan Önder (1):
po: Update Turkish translation.
Tingzhong Luo (1):
evr: Fix crash when clearing input type for the mixer.
Zebediah Figura (1):
oleaut32: Manually construct a stub buffer for dispinterfaces.
Zhiyi Zhang (3):
comctl32/tests: Add WM_STYLECHANGED tests for changing listview view styles.
comctl32/listview: Repaint when changing view styles.
user32/tests: Test winstation and desktop access rights.
The Wine development release 8.6 is now available.
What's new in this release:
- Bundled math library from Musl libc.
- Gecko engine updated to version 2.47.4.
- Improved spool file support in the PostScript driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.6.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.6 (total 25):
- #11436 Pepakura viewer: err:wgl:X11DRV_wglShareLists Could not share display lists, context already created !
- #18773 Multiple apps need DirectShow MPEG Layer-3 decoder filter / l3codecx.ax (The Westerner, 3D Mark 2001SE)
- #28586 Team Fortress Arcade & Pixel Force: Left 4 Dead music doesn't play
- #32490 Graphical issues in Inquisitor (red squares painted on the screen)
- #42372 Watchtower Library 2016 crashes when trying to play a video
- #49002 Multiple games trigger GL_INVALID_FRAMEBUFFER_OPERATION in wined3d (Free Horror Game "My Place", DiRT Rally 2.0)
- #49332 CounterPath Bria Solo crashes after login dialog
- #51178 The Bat! v9.3.4.12: Missing content in TTreeViews on Windows versions higher than 8
- #52193 schtasks.exe:schtasks fails on Windows 7 when missing privileges
- #53128 Without elevated privileges schedsvc:rpcapi fails on Windows 7
- #53269 uiautomationcore:uiautomation fails on Windows 10 1909
- #53781 Multiple apps crash on unimplemented function CFGMGR32.dll.CM_MapCrToWin32Err (Matrix Awakens MegaCity Unreal Engine 5.1 demo, Hogwarts Legacy)
- #53983 Chromium broken sandbox, needs NtQueryInformationProcess with ProcessHandleTable
- #54106 taskschd:scheduler - test_GetTask() fails on Windows 7 when it has insufficient privileges
- #54109 schedsvc:rpcapi causes taskschd:scheduler to crash on w7u_adm
- #54110 CubicSDR crashes on unimplemented function msvcp140.dll.?_Rethrow_future_exception@std@@YAXVexception_ptr@1@@Z
- #54594 dinput:device8 - test_dik_codes() sometimes gets timeouts on the GitLab CI
- #54634 schtasks.exe:schtasks causes taskschd:scheduler to crash on w7u_adm and w8adm
- #54666 Compilation fails with gcc 4.8.4 - error: missing binary operator before token "("
- #54713 dinput:device8 - test_mouse_keyboard() fails on some Window 7 locales
- #54728 Pro Evolution Soccer 2008 demo takes +- 9 minutes to complete extracting 'Pro Evolution Soccer 2008 DEMO.msi' (disabling 'Light' theme works around)
- #54772 LDAP Explorer (LEX) fails to connect without SSL
- #54774 dinput:device8 - test_overlapped_format() sometimes gets a timeout in Wine (GitLab CI)
- #54781 Wine fails to update existed prefix
- #54819 DnsQuery_A() mishandles CNAME DNS records
----------------------------------------------------------------
Changes since 8.5:
Alex Henrie (6):
wldap32/tests: Name option test functions after the option being tested.
wldap32: Allow LDAP_OPT_REFERRALS to be set from a pointer.
wintrust: Annotate WINTRUST_Alloc with __WINE_(DEALLOC|MALLOC).
wldap32: Skip over the TLS certificate check if not using TLS.
opengl32/tests: Make the wglShareLists tests comprehensive.
winex11: Allow replacing either context in wglShareLists.
Alexandre Julliard (78):
libs: Import the math library from upstream musl 1.2.3.
msvcrt: Use the fabs()/fabsf() implementation from the bundled musl library.
msvcrt: Use the frexp()/frexpf() implementation from the bundled musl library.
msvcrt: Use the modf()/modff() implementation from the bundled musl library.
msvcrt: Use the cbrt()/cbrtf() implementation from the bundled musl library.
msvcrt: Use the hypot()/hypotf() implementation from the bundled musl library.
msvcrt: Use the trunc()/truncf() implementation from the bundled musl library.
msvcrt: Use the fmax()/fmaxf() implementation from the bundled musl library.
msvcrt: Use the fmin()/fminf() implementation from the bundled musl library.
msvcrt: Use the fdim()/fdimf() implementation from the bundled musl library.
msvcrt: Use the copysign()/copysignf() implementation from the bundled musl library.
msvcrt: Use the nan()/nanf() implementation from the bundled musl library.
msvcrt: Use the scalbn() implementation from the bundled musl library.
msvcrt: Use the ilogb()/ilogbf() implementation from the bundled musl library.
msvcrt: Use the logb()/logbf() implementation from the bundled musl library.
msvcrt: Use the remquo()/remquof() implementation from the bundled musl library.
msvcrt: Use the lgamma()/lgammaf() implementation from the bundled musl library.
msvcrt: Use the tgamma()/tgammaf() implementation from the bundled musl library.
msvcrt: Use the expm1()/expm1f() implementation from the bundled musl library.
msvcrt: Use the j0()/y0() implementation from the bundled musl library.
msvcrt: Use the j1()/y1() implementation from the bundled musl library.
msvcrt: Use the jn()/yn() implementation from the bundled musl library.
msvcrt: Use the fmod()/fmodf() implementation from the bundled musl library.
msvcrt: Use the log()/logf() implementation from the bundled musl library.
msvcrt: Use the log10()/log10f() implementation from the bundled musl library.
msvcrt: Use the __expo2()/__expo2f() implementation from the bundled musl library.
msvcrt: Use the coshf() implementation from the bundled musl library.
msvcrt: Use the sinhf() implementation from the bundled musl library.
msvcrt: Use the cosh() implementation from the bundled musl library.
msvcrt: Use the sinh() implementation from the bundled musl library.
msvcrt: Use the atan2()/atan2f() implementation from the bundled musl library.
msvcrt: Use the exp2()/exp2f() implementation from the bundled musl library.
msvcrt: Use the log1p()/log1pf() implementation from the bundled musl library.
msvcrt: Use the log2()/log2f() implementation from the bundled musl library.
msvcrt: Use the fma()/fmaf() implementation from the bundled musl library.
msvcrt: Use the round()/roundf() implementation from the bundled musl library.
msvcrt: Use the floor()/floorf() implementation from the bundled musl library.
msvcrt: Use the ceil()/ceilf() implementation from the bundled musl library.
msvcrt: Use the nextafter()/nextafterf() implementation from the bundled musl library.
msvcrt: Use the nexttoward()/nexttowardf() implementation from the bundled musl library.
msvcrt: Use the __rem_pio2()/__rem_pio2f() implementation from the bundled musl library.
msvcrt: Use the __sindf() implementation from the bundled musl library.
msvcrt: Use the __cosdf() implementation from the bundled musl library.
msvcrt: Use the sin()/sinf() implementation from the bundled musl library.
msvcrt: Use the cos()/cosf() implementation from the bundled musl library.
msvcrt: Use the tan()/tanf() implementation from the bundled musl library.
msvcrt: Use the pow()/powf() implementation from the bundled musl library.
msvcrt: Use the rint()/rintf() implementation from the bundled musl library.
msvcrt: Use the expf() implementation from the bundled musl library.
msvcrt: Use the acosf() implementation from the bundled musl library.
msvcrt: Use the asinf() implementation from the bundled musl library.
msvcrt: Use the atanf() implementation from the bundled musl library.
msvcrt: Use the exp() implementation from the bundled musl library.
msvcrt: Use the acos() implementation from the bundled musl library.
msvcrt: Use the asin() implementation from the bundled musl library.
msvcrt: Use the atan() implementation from the bundled musl library.
msvcrt: Use the asinh()/asinhf() implementation from the bundled musl library.
msvcrt: Use the acosh()/acoshf() implementation from the bundled musl library.
msvcrt: Use the atanh()/atanhf() implementation from the bundled musl library.
msvcrt: Use the tanh()/tanhf() implementation from the bundled musl library.
msvcrt: Use the remainder()/remainderf() implementation from the bundled musl library.
msvcrt: Use the erf()/erfc()/erff()/erfcf() implementation from the bundled musl library.
msvcrt: Use the sqrtf() implementation from the bundled musl library.
msvcrt: Use the sqrt() implementation from the bundled musl library.
msvcrt: Use the _dclass()/_fdclass() implementation from the bundled musl library.
ntdll: Use the sin() implementation from the bundled musl library.
ntdll: Use the cos() implementation from the bundled musl library.
ntdll: Use the tan() implementation from the bundled musl library.
ntdll: Use the atan() implementation from the bundled musl library.
ntdll: Use the atan2() implementation from the bundled musl library.
ntdll: Use the log() implementation from the bundled musl library.
ntdll: Use the pow() implementation from the bundled musl library.
ntdll: Use the sqrt() implementation from the bundled musl library.
ntdll: Use the ceil() implementation from the bundled musl library.
ntdll: Use the floor() implementation from the bundled musl library.
ntdll: Use the fabs() implementation from the bundled musl library.
ntdll: Use the correct section start when reading the COR header.
winedump: Apply all dynamic relocations before dumping alternate PE headers.
Alexandros Frantzis (10):
win32u: Support setting the current mode using gdi_device_manager.
winex11.drv: Extract function to check devmode equality.
winex11.drv: Set the current mode using gdi_device_manager.
winewayland.drv: Set the current mode using gdi_device_manager.
winemac.drv: Extract function to get the current mode.
winemac.drv: Set the current mode using gdi_device_manager.
wineandroid.drv: Set the current mode using gdi_device_manager.
winex11.drv: Use the proper id with the settings handler.
winex11.drv: Do not call desktop get_current_mode() from UpdateDisplayDevices.
winex11.drv: Use a distinct type for the settings id.
Alistair Leslie-Hughes (1):
msado15: Initialize all SYSTEMTIME members.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Biswapriyo Nath (1):
include: Fix IDirectXVideoDecoderService declaration in dxva2api.idl.
Connor McAdams (5):
uiautomationcore/tests: Add tests for default ProviderType_BaseHwnd clientside provider.
uiautomationcore: Add a default ProviderType_BaseHwnd clientside provider.
uiautomationcore: Implement UIA_ProcessIdPropertyId for default HWND provider.
uiautomationcore: Implement UIA_ClassNamePropertyId for default HWND provider.
uiautomationcore: Implement UIA_NamePropertyId for default HWND provider.
Daniel Tang (1):
wintypes: Declare exported functions in rometadataresolution.h.
Davide Beatrici (11):
winecoreaudio: Retain precision when storing period in unixlib.
winecoreaudio: Store flags in unixlib.
winecoreaudio: Implement and call set_event_handle in unixlib.
winecoreaudio: Implement and call timer_loop in unixlib.
winealsa: Move common mmdevdrv structs into mmdevapi.
winecoreaudio: Use mmdevdrv structs from mmdevapi.
wineoss: Use mmdevdrv structs from mmdevapi.
winepulse: Use mmdevdrv structs from mmdevapi.
mmdevapi: Rename mmdevapi.h to mmdevapi_private.h.
mmdevapi: Add missing includes to mmdevapi_private.h.
mmdevapi: Add missing includes and typedef to mmdevdrv.h.
Eric Pouech (5):
kernel32/debugger: Fix a failing test (on Wine).
winedump: Fix out of bounds access (spotted by GCC13).
winedbg: Don't crash when no search path has been set.
kernel32/tests: Workaround broken behavior in Win7 Pro64.
psapi: Test filesystem redirection with EnumProcessModulesEx.
Florian Will (5):
dinput/tests: Add EnumObjects callback return value test.
dinput: Fix EnumObjects callback return value handling.
dinput/tests: Add guidType test for collection objects.
dinput: Set guidType = GUID_Unknown for HID collections.
dinput/tests: Remove unmatched winetest_pop_context().
François Gouget (14):
dinput/tests: Fix the spelling of an ok() message.
wininet/tests: Remove redundant quotes in an ok() message.
wininet/tests: Avoid an unnecessary strlen() call in internet.c.
kernel32/tests: Improve the WideCharToMultiByte() null-termination and truncation tests.
iphlpapi: Fix the GAA_FLAG_INCLUDE_GATEWAYS constant name.
wininet/tests: Fix the InternetErrorDlg() tests on Windows 10 1607.
wininet/tests: Avoid an unnecessary lstrlenW() call in internet.c.
winintest/tests: Remove a couple of redundant InternetGetConnectedStateEx*() tests.
wininet/tests: Dump the state string if it is not as expected.
wininet: InternetGetConnectedStateExA() must always null-terminate the state string.
wininet/tests: Fix InternetGetConnectedStateEx() parameter checking.
user32/tests: Windows 11's notepad has four icons.
dnsapi/tests: Test how DnsQuery() handles CNAMEs.
advapi32/tests: Make the services resume handle traces more informative.
Gabriel Ivăncescu (6):
mshtml: Tell wine-gecko about the IE compat document mode.
mshtml: Set dom.ipc.plugins.enabled to FALSE.
mshtml: Implement `complete` prop for input elements.
mshtml: Get rid of dispatch_nsevent_hook.
mshtml: Implement ProgressEvent's initProgressEvent method.
mshtml/tests: Add tests for non-stringed url() with non-URL characters in CSS.
Giovanni Mascellani (5):
dxgi/tests: Test GetLastPresentCount() with DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT.
dxgi: Return correct present count with DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT.
dxgi: Return a duplicate frame latency event.
dxgi/tests: Rename the waitable object from "event" to "semaphore".
dxgi/tests: Test the frame latency waitable more thoroughly.
Hans Leidekker (3):
wldap32: Implement LDAP_OPT_REFERRAL_HOP_LIMIT.
wldap32: Don't call ldap_connect() when a connection has already been established.
ws2_32: Skip non-address records in dns_only_query().
Hugh McMaster (5):
kernel32/tests: Check return length of GetConsoleOriginalTitleA/W().
conhost: Save original console title on initialization.
kernelbase: Implement GetConsoleOriginalTitleW().
kernelbase: Implement GetConsoleOriginalTitleA().
kernel32/tests: Test GetConsoleOriginalTitleW() with an empty title.
Jacek Caban (2):
winevulkan: Add support for VK_KHR_map_memory2.
mshtml: Wine Gecko 2.47.4 release.
Jactry Zeng (5):
include: Add FWF_NONE.
shell32: Assign a default view mode value for IShellView.
shell32/tests: Move interfaces creation to a function.
shell32/tests: Add tests for IShellView_GetCurrentInfo().
shell32: Assign a default flags for view information of IShellView.
Mohamad Al-Jaf (34):
widl: Add support for inherited runtime classes.
widl: Add support for protected attribute.
widl: Add support for composable attribute.
cryptowinrt/tests: Remove racey refcount test.
include: Add windows.ui.composition.idl file.
include: Add Windows.UI.Composition.CompositionBrush definition.
include: Add ICompositionSurface interface definition.
include: Add Windows.UI.Composition.CompositionSurfaceBrush definition.
include: Add Windows.UI.Composition.SpriteVisual definition.
include: Add Windows.UI.Composition.CompositionClip definition.
include: Add Windows.UI.Composition.Visual definition.
include: Add Windows.UI.Composition.ColorKeyFrameAnimation definition.
include: Add Windows.UI.Composition.CompositionColorBrush definition.
include: Add Windows.UI.Composition.CubicBezierEasingFunction definition.
include: Add Windows.UI.Composition.CompositionEffectBrush definition.
include: Add Windows.UI.Composition.CompositionEffectFactory definition.
include: Add Windows.UI.Composition.ExpressionAnimation definition.
include: Add Windows.UI.Composition.InsetClip definition.
include: Add Windows.UI.Composition.LinearEasingFunction definition.
include: Add Windows.UI.Composition.CompositionPropertySet definition.
include: Add Windows.UI.Composition.QuaternionKeyFrameAnimation definition.
include: Add Windows.UI.Composition.ScalarKeyFrameAnimation definition.
include: Add Windows.UI.Composition.CompositionScopedBatch definition.
include: Add Windows.UI.Composition.CompositionTarget definition.
include: Add Windows.UI.Composition.Vector2KeyFrameAnimation definition.
include: Add Windows.UI.Composition.Vector3KeyFrameAnimation definition.
include: Add Windows.UI.Composition.Vector4KeyFrameAnimation definition.
include: Add Windows.UI.Composition.CompositionCommitBatch definition.
include: Add Windows.UI.Composition.Compositor definition.
include: Add Windows.UI.Composition.CompositionObject definition.
include: Add Windows.UI.Composition.CompositionDrawingSurface definition.
include: Add Windows.UI.Composition.CompositionGraphicsDevice definition.
widl: Add support for WinRT HANDLE parameter type.
include: Add windows.ui.composition.interop.idl file.
Nikolay Sivov (1):
mfplat: Handle more video subtypes in MFInitMediaTypeFromAMMediaType().
Paul Gofman (10):
winegstreamer: Fix check for non-zero padding in h264 transform.
win32u: Set DEVPKEY_Device_MatchingDeviceId for GPUs.
win32u: Set DEVPKEY_Device_BusNumber for GPUs.
win32u: Set DEVPKEY_Device_RemovalPolicy for GPUs.
mf/tests: Increase h264data.bin video length.
mf/tests: Test h264 decoder with dxgi device manager.
winegstreamer: Process MFT_MESSAGE_SET_D3D_MANAGER in h264 decoder.
winegstreamer: Provide samples if DXGI device manager is set in h264 decoder.
winegstreamer: Pass temporary sample to wg_transform_read_mf() in h264 decoder.
winex11.drv: Fix bit shifts in pixel format description for RGBA formats.
Piotr Caban (61):
win32u: Add support for undocummented DIB_PAL_INDICES color usage in SetDIBits.
gdi32: Rename DIB_PAL_MONO to DIB_PAL_INDICES.
gdi32: Let SetDIBits handle DIB_PAL_INDICES color usage in PlayEnhMetaFileRecord.
wineps: Handle EMR_MASKBLT record in spool files.
wineps: Handle EMR_PLGBLT record in spool files.
wineps: Handle EMR_DELETEOBJECT record in spool files.
wineps: Handle EMR_POLYDRAW record in spool files.
wineps: Handle EMR_POLYDRAW16 record in spool files.
wineps: Handle EMR_CREATEPEN record in spool files.
wineps: Handle EMR_CREATEBRUSHINDIRECT record in spool files.
gdi32: Factor out function for obtaining gdi object handle.
gdi32: Support stock brush in EMR_FILLRGN.
gdi32: Support stock brush in EMR_FRAMERGN.
wineps: Handle EMR_FILLRGN record in spool files.
wineps: Handle EMR_FRAMERGN record in spool files.
wineps: Handle EMR_INVERTRGN record in spool files.
wineps: Handle EMR_SETROP2 record in spool files.
wineps: Handle EMR_SETSTRETCHBLTMODE record in spool files.
wineps: Handle EMR_SETTEXTALIGN record in spool files.
wineps: Handle EMR_OFFSETCLIPRGN record in spool files.
wineps: Handle EMR_EXCLUDECLIPRECT record in spool files.
wineps: Handle EMR_INTERSECTCLIPRECT record in spool files.
wineps: Handle EMR_SCALEVIEWPORTEXTEX record in spool files.
wineps: Handle EMR_SCALEWINDOWEXTEX record in spool files.
wineps: Don't write invisible parts of image to decrease output file size.
wineps: Handle EMR_SELECTCLIPPATH in spool files.
wineps: Handle EMR_EXTSELECTCLIPRGN record in spool files.
wineps: Fix reporting supported color depths in PSDRV_PutImage.
wineps: Handle EMR_GRADIENTFILL record in spool files.
wineps: Handle EMR_ENDPATH record in spool files.
wineps: Handle EMR_ABORTPATH record in spool files.
wineps: Handle EMR_BEGINPATH record in spool files.
wineps: Handle EMR_FILLPATH record in spool files.
wineps: Handle EMR_STROKEANDFILLPATH record in spool files.
wineps: Handle EMR_STROKEPATH record in spool files.
wineps: Handle EMR_CLOSEFIGURE record in spool files.
wineps: Handle EMR_FLATTENPATH record in spool files.
wineps: Handle EMR_WIDENPATH record in spool files.
include: Add EMRTRANSPARENTBLT definition.
gdi32: Handle EMR_TRANSPARENTBLT record in PlayEnhMetaFileRecord.
wineps: Fix SetPixel implementation.
wineps: Don't store currently selected brush in print processor data.
wineps: Handle EMR_SETTEXTCOLOR record in spool files.
wineps: Handle EMR_SETBKCOLOR record in spool files.
wineps: Handle EMR_SAVEDC in spool files.
wineps: Handle EMR_RESTOREDC record in spool files.
wineps: Handle EMR_EXTESCAPE record in spool files.
wineps: Silence FIXME message on EMR_ALPHABLEND record.
wineps: Silence FIXME message on EMR_EXTFLOODFILL record.
wineps: Handle EMR_SETMAPPERFLAGS record in spool files.
wineps: Handle EMR_SETMAPMODE record in spool files.
wineps: Handle EMR_SETBKMODE record in spool files.
wineps: Handle EMR_SETPOLYFILLMODE record in spool files.
wineps: Handle EMR_SETLAYOUT record in spool files.
wineps: Handle EMR_SETTEXTJUSTIFICATION record in spool files.
msvcr100: Add missing ExternalContextBase virtual functions stubs.
msvcr100: Add Context::Block() implementation.
msvcr100: Add ExternalContextBase::Block() implementation.
msvcr100: Add ExternalContextBase::IsSynchronouslyBlocked() implementation.
msvcr100: Add ExternalContextBase::Unblock implementation.
msvcr100: Use Context blocking functions in reader_writer_lock class.
Rémi Bernon (72):
winex11: Remove non-CJK specific XIC creation logic.
winex11: Always create XIC preedit and status attributes.
winex11: Pass hwnd parameter to all XIC callbacks.
winex11: Remove unnecessary else control flow.
winex11: Create the thread XFontSet on thread attach.
winex11: Set thread data XIM pointer outside of open_xim.
winex11: Cleanup XIM initialization traces.
imm32: Rewrite ImmInternalSendIMEMessage helper as imc_send_message.
imm32: Rewrite ImmInternalPostIMEMessage helper as imc_post_message.
imm32: Rewrite ImmInternalSendIMENotify helper as imc_notify_ime.
imm32: Fix mixed-up HIMC / imc pointers in ImmTranslateMessage.
imm32: Simplify control flow in ImmTranslateMessage.
imm32: Cleanup parameters and traces in ImmTranslateMessage.
imm32: Use a stack allocated buffer in ImmTranslateMessage.
ws2_32/tests: Adjust test results without host IPv6 support.
winemac: Rename imeData / data members and variables to himc.
winemac: Use UINT(32) for HIMC in the unixlib interface.
winemac: Assume IME UI window always has a valid HIMC.
winemac: Pass INPUTCONTEXT pointer to UpdateDataInDefaultIMEWindow.
winemac: Add a helper to get IME private window.
winemac: Add a helper to get COMPOSITIONSTRING text.
winemac: Add a helper to select IME private font.
winex11: Assume IME UI window always has a valid HIMC.
winex11: Pass INPUTCONTEXT pointer to UpdateDefaultIMEWindow.
winex11: Add a helper to get COMPOSITIONSTRING text.
winex11: Add a helper to select IME private font.
winex11: Register XIC status callbacks.
winex11: Refactor XIM input style selection.
winex11: Reorder control flow in xic_preedit_draw.
winex11: Fix XIM wchar encoding in xic_preedit_draw.
winex11: Early return control flow in xic_preedit_caret.
winex11: Set x11drv_win_data XIC out of X11DRV_CreateIC.
dinput/tests: Mark some tests as flaky to work around fvwm bug.
imm32/tests: Test setting the same HIMC statuses twice.
imm32/tests: Test WM_IME_NOTIFY messages target window.
imm32/tests: Add more ImmGetCompositionString(W|A) tests.
imm32/tests: Add more ImmSetCompositionString tests.
winex11: Cleanup spaces in IME UI window proc.
winex11: Move IME UI proc to default IME implementation.
winemac: Use the default IME UI window proc implementation.
imm32: Cleanup default IME UI window proc traces.
imm32: Call DefWindowProcW from IME UI for unhandled messages.
imm32: Remove unnecessary HIMC check in IME UI window proc.
imm32/tests: Reduce the number of IME installations.
imm32/tests: Cleanup the cross thread IMC tests.
imm32: Serialize ImeInquire / ImeDestroy calls.
imm32: Use INPUTCONTEXT directly in ImmGetOpenStatus.
imm32: Use INPUTCONTEXT directly in ImmSetOpenStatus.
imm32: Cache INPUTCONTEXT values for every IME.
imm32: Compare open status values in ImmSetOpenStatus.
imm32: Use INPUTCONTEXT directly in ImmGetConversionStatus.
imm32: Use INPUTCONTEXT directly in ImmSetConversionStatus.
include: Add INPUTCONTEXT fdwInit flags definitions.
imm32/tests: Add some Imm(Get|Set)CompositionWindow tests.
imm32/tests: Add some Imm(Get|Set)StatusWindowPos tests.
imm32/tests: Add some Imm(Get|Set)CompositionFont tests.
imm32/tests: Add some Imm(Get|Set)CandidateWindow tests.
imm32: Use INPUTCONTEXT directly in ImmSetCompositionWindow.
imm32: Use INPUTCONTEXT directly in ImmGetCompositionWindow.
imm32: Use INPUTCONTEXT directly in ImmSetStatusWindowPos.
imm32: Use INPUTCONTEXT directly in ImmGetStatusWindowPos.
imm32: Use INPUTCONTEXT directly in ImmSetCompositionFont(A|W).
imm32: Use INPUTCONTEXT directly in ImmGetCompositionFont(A|W).
imm32: Use INPUTCONTEXT directly in ImmSetCandidateWindow.
imm32: Use INPUTCONTEXT directly in ImmGetCandidateWindow.
winegstreamer: Introduce a new wg_init_gstreamer unixlib entry.
winegstreamer: Move some wg_parser / wg_transform helpers to unixlib.c.
winegstreamer: Sync element state with parent in append_element.
winegstreamer: Use append_element to build wg_parser pipeline.
winegstreamer: Remove unnecessary unlink in pad-removed callback.
winegstreamer: Introduce new link_src_to_element / link_element_to_sink helpers.
winegstreamer: Introduce new stream_type_from_caps helper.
Santino Mazza (3):
mf/tests: Test media session error handling.
mf/session: Handle errors when subscribing to source's events.
mf/session: Handle error when a source fails to start.
Stefan Dösinger (2):
wined3d: Rotate vk bind masks in wined3d_swapchain_vk_rotate.
include: X86 msvc has _InterlockedExchangePointer and _InterlockedCompareExchangePointer.
Tatsuyuki Ishi (1):
ntdll: Use log-linear bucketing for free lists.
Torge Matthies (1):
msvcr110: Implement _Context::_IsSynchronouslyBlocked.
Vijay Kiran Kamuju (1):
msvcp110: Add std::_Rethrow_future_exception implementation.
Zebediah Figura (14):
quartz/vmr9: Do not clear the previous allocator and presenter in IVMRFilterConfig9::SetRenderingMode().
quartz/vmr9: Return a default_presenter structure from the default presenter constructor.
quartz/vmr9: Do not bother setting the cookie when using the default presenter.
quartz/vmr9: Do not set the mode if we failed to create the default presenter.
advapi32: Print ReportEvent() messages one line at a time.
d3dx10/tests: Port some additional D3DX10GetImageInfoFromMemory() tests from d3dx11.
windowscodecs: Map GUID_WICPixelFormat32bppRGBA1010102 to DXGI_FORMAT_R10G10B10A2_UNORM as well.
d3dx10: Map DXGI_FORMAT_R16_UNORM to DXGI_FORMAT_R16G16B16A16_UNORM in get_d3dx10_dds_format().
winegstreamer: Initialize media source video types from a wg_video_format array.
winegstreamer: Set the MF_MT_DEFAULT_STRIDE attribute in mf_media_type_from_wg_format().
winegstreamer: Translate the MF_MT_DEFAULT_STRIDE attribute to flipped video in mf_media_type_to_wg_format().
winegstreamer: Move flipping based on RGB to the frontends.
wined3d: Do not use glFramebufferTexture() to bind array RTVs with an array size of one.
d3d10core/tests: Add a regression test for mismatch of layered framebuffer attachments.
Zhiyi Zhang (4):
winex11.drv: Fix a typo.
light.msstyles: Use border fill background for progress parts.
light.msstyles: Don't draw a border for progress fill parts.
wined3d: Add GPU information for AMD Raphael.
The Wine development release 8.5 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.7.
- Better error reporting in the IDL compiler.
- Support for shared Wow64 Classes registry key.
- More cleanups in IME support.
- Support for configuring a WinRT dark theme.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.5.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.5 (total 21):
- #44547 Deus Ex: invisible War v1.2 crashes when using the hotkey to quickload a saved game
- #46562 Notepad++ 7.6.3 crashes when searching twice and first time found results
- #47326 Fair Strike fails to map joystick due to IDirectInputDevice8 SetActionMap being a semi-stub.
- #53704 Bible Black ~La Noche de Walpurgis~ won't start
- #53794 Sins of the Solar Empire Rebellion (Gog 1.975.1) crashes on unimplemented function concrt140.dll.?_CheckTaskCollection@_UnrealizedChore@details@Concurrency@@IAEXXZ
- #53981 Chromium broken sandbox due to GetSecurityInfo giving access denied
- #54560 mscoree:mscoree - test_loadpaths_execute() sometimes gets directory creation errors
- #54618 VARA FM crashes on unimplemented function pdh.dll.PdhVbGetDoubleCounterValue
- #54640 Treecomp listviews and possibly other widgets are not drawn
- #54675 Chocolatey OpenSSH installer fails
- #54679 Conspiracy's Clean Slate 64K demo crashes due to HLSL shader compilation failure
- #54687 LibreVR Revive fails to run (CertGetNameStringW with dwType=CERT_NAME_ATTR_TYPE and pvTypePara missing additional fallbacks)
- #54691 reg.exe:copy, reg.exe:delete, reg.exe:export, reg.exe:import & reg.exe:query (+32-bit reg.exe:add) - The 64-bit tests fail due to ERROR_ACCESS_DENIED errors in Wine
- #54701 Ultimate Race Pro crashes after intro movies
- #54702 ldp.exe crashes when attempting to add, delete, modify, or compare an entry without a name
- #54707 adsldp:ldap - test_DirectorySearch() fails on Windows and Linux
- #54710 imm32:imm32 - test_ImmEscape() fails in the Korean locale on Windows
- #54711 imm32:imm32 - test_ImmGetProperty() fails in the Korean locale on Windows
- #54724 LDAP bind over SSL to a server and port that do not support SSL hangs forever
- #54727 LDAP Explorer (LEX) throws an exception when attempting to connect over SSL
- #54729 wine build fails with bison 3.0.5
----------------------------------------------------------------
Changes since 8.4:
Alex Henrie (14):
include: Annotate LDAP allocation functions with __WINE_(DEALLOC|MALLOC).
wldap32: Handle null DN or null message in ldap_add* and add tests.
wldap32: Handle null DN or null message in ldap_modify* and add tests.
include: Annotate ldap_(*_attribute|get_dn)* with __WINE_(DEALLOC|MALLOC).
wldap32: Annotate allocation functions with __WINE_(DEALLOC|MALLOC).
wldap32: Handle null DN or null attr in ldap_compare* and add tests.
include: Allow multiple definitions on GCC with DECLSPEC_SELECTANY.
wldap32/tests: Use the same context in test_ldap_(add|modify_compare).
wldap32: Handle null DN or null message in ldap_delete* and add tests.
wldap32: Implement setting LDAP_OPT_SSL and add tests.
wldap32: Stub out setting LDAP_OPT_REFERRAL_HOP_LIMIT.
wldap32: Implement ldap_connect.
wldap32: Return ~0u from ldap_modrdn* for any error.
wldap32: Implement setting LDAP_OPT_SERVER_CERTIFICATE and add tests.
Alexandre Julliard (17):
widl: Pass the correct parent name when opening an import file.
include: Declare some missing ntdll functions, and fix the sorting.
kernelbase: Use RtlGetNativeSystemInformation() to implement GetNativeSystemInfo().
wow64: Allow the CPU backend to override CPU information.
wow64: Convert token and debug port in NtCreateUserProcess().
ntdll: Fixup CPU information for old Wow64 mode.
ntdll: Add a helper function to check for old-style Wow64 mode.
ntdll: Add a helper function to check for Wow64 mode.
ntdll: Use get_wow_teb() and wow_peb in more places.
vkd3d: Import upstream release 1.7.
ntdll: One more fix for CPU information in old Wow64 mode.
ntdll: Convert WoW context to native context when running in 32-bit code.
ntdll: Fully initialize the i386 FPU context on ARM64.
kernelbase: Fix pattern checking for genitive month names in get_date_format().
d3dcompiler/tests: Update todos for tests that succeed with vkd3d 1.7.
ntdll: Add a helper function to return the alternate 32/64 loader.
ntdll: Only fall back to start.exe when using a different loader.
Alistair Leslie-Hughes (7):
msado15: Bind fields in _Recordset Open.
msado15: Store all data from provider.
include: Add Missing IUISettings interfaces.
windows.ui: Add Stubbed interface IUISettings.
windows.ui: Add IUISettings2 stub interface.
windows.ui: Use DEFINE_IINSPECTABLE for IUISettings3.
msado15: Handle DBTYPE_STR type when loading recordset data.
Bernhard Kölbl (1):
windows.media.speech/tests: Allow recognizer state to be idle during active recognition session.
Biswapriyo Nath (5):
include: Add IDirectManipulationInteractionEventHandler declaration in directmanipulation.idl.
include: Add missing TS_STATUS constants in textstor.idl.
include: Fix c++ compiler error with msxml2.idl.
include/windows.system.idl: Update file to newer formatting.
include: Add Windows.System.DispatcherQueue definition.
Brendan Shanks (2):
winemac: Fix memory leak in UpdateDisplayDevices.
ntdll: Print correct thread rename trace when using current thread ID with exception method.
Carlos Rodriguez (1):
wined3d: Add GPU information for another Intel UHD 630 GPU.
Connor McAdams (12):
uiautomationcore: Add stub IUIAutomationTreeWalker implementation.
uiautomationcore: Implement IUIAutomationTreeWalker::Get{First/Last}ChildElement{BuildCache}.
uiautomationcore: Implement IUIAutomationTreeWalker::Get{Previous/Next}SiblingElement{BuildCache}.
uiautomationcore: Implement IUIAutomationTreeWalker::GetParentElement{BuildCache}.
uiautomationcore/tests: Skip IAccessible2 tests on Win10v1909.
uiautomationcore/tests: Add NULL input argument tests for IUIAutomationTreeWalker navigation method.
uiautomationcore: Add a helper function for retrieving a property value from an individual node provider.
uiautomationcore: Add support for UIA_ProviderDescriptionPropertyId.
uiautomationcore: Add support for UIA_IsOffscreenPropertyId to MSAA providers.
uiautomationcore: Add support for UIA_LegacyIAccessibleChildIdPropertyId.
uiautomationcore: Add support for UIA_LegacyIAccessibleRolePropertyId.
uiautomationcore: Implement ILegacyIAccessibleProvider::get_Role for MSAA providers.
Eric Pouech (2):
kernel32/tests: Extend the tests for load/unload debug events on Wow64.
wow64: Move filter of (un)load DLL debug events to client side.
Etaash Mathamsetty (6):
kernel32: Add semi-stub for CreateFileTransactedA/W().
kernel32: Add semi-stub for CreateDirectoryTransactedA/W().
kernel32: Add semi-stub for DeleteFileTransactedA/W().
kernel32: Add semi-stub for FindFirstFileTransactedA/W().
kernel32: Add semi-stub for GetFileAttributesTransactedA/W().
kernel32: Add semi-stub for RemoveDirectoryTransactedA/W().
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (16):
mscoree/tests: Avoid temporary directory name collisions.
imm32/tests: Document the WINE_LANGID value.
widl: Error_loc() messages must have a trailing linefeed.
schtasks/tests: Deleting folders requires elevated privileges on Windows 7 & 8.
schtasks/tests: Verify that the task folders are correctly deleted.
schedsvc/tests: Use __HRESULT_FROM_WIN32() to initialize constants.
schedsvc/tests: Use wide character string literals in rpcapi.c.
schedsvc/tests: Use a winetest context in the rpcapi loops.
schedsvc/tests: Document SchRpcGetTaskInfo() calls that crash on Windows.
schedsvc/tests: Deleting tasks & folders requires elevated privileges on Windows 7.
taskschd/tests: Use __HRESULT_FROM_WIN32() to initialize constants.
taskschd/tests: Store the xml definitions as wide string literals in scheduler.c.
taskschd/tests: Use wide character string literals in scheduler.c.
taskschd/tests: Use a winetest context in the scheduler loops.
taskschd/tests: Elevated privileges are needed to connect using a hostname.
taskschd/tests: Deleting tasks & folders requires elevated privileges on Windows 7.
Gabriel Ivăncescu (5):
mshtml: Fix nsevent leak in create_document_event.
mshtml: Fix nsscript leak in bind_event_scripts.
mshtml: Share reference with the node for Gecko DOM Documents.
mshtml: Fix nsuri leak if create_channelbsc failed.
mshtml: Fix nsparser leak if script_elem_from_nsscript failed.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.246.
Hans Leidekker (2):
adsldp/tests: Fix test failures.
ldap: Return an error when the server doesn't respond to the SSL handshake.
Huw D. M. Davies (1):
win32u: Fix printf format warnings.
Jinoh Kang (3):
kernel32/tests: Test for manifest file open share mode in CreateActCtxW.
ntdll: Open application manifest files with FILE_SHARE_DELETE.
ntdll: Don't report user (PE) stack via pthread_attr_setstack().
Louis Lenders (1):
wine.inf: Add EditionID to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion.
Marc-Aurel Zent (1):
iphlpapi: Return FALSE for bad handles in IcmpCloseHandle.
Max Figura (10):
wined3d: Move the WINED3D_RS_TWEENFACTOR stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_POSITIONDEGREE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_NORMALDEGREE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_MINTESSELLATIONLEVEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_MAXTESSELLATIONLEVEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_X stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_Y stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_Z stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ADAPTIVETESS_W stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ENABLEADAPTIVETESSELLATION stub to wined3d_device_apply_stateblock.
Michael Stefaniuc (11):
msdasql: Remove redundant NULL check before heap_free().
windows.media.speech: Remove redundant NULL check before free().
dinput/tests: Use separate statements instead of the comma operator.
jscript: Use separate statements instead of the comma operator.
dmsynth: Don't crash when Open() gets a DMUS_PORTPARAMS7.
dinput/tests: Drop superfluous TRUE : FALSE conditional expressions.
dinput: Remove superfluous cast to self.
uiautomationcore/tests: Drop superfluous TRUE : FALSE conditional expression.
ntdll/tests: Use FAILED() instead of not SUCCEEDED().
wmvcore/tests: Don't cast NULL to another pointer type.
mfplat/tests: Remove duplicated ok() call.
Mohamad Al-Jaf (11):
include: Add windows.graphics.effects.idl file.
include: Add windows.graphics.capture.idl file.
graphicscapture: Add stub DLL.
graphicscapture: Add IGraphicsCaptureSessionStatics stub interface.
graphicscapture/tests: Add IGraphicsCaptureSessionStatics::IsSupported() tests.
graphicscapture: Partially implement IGraphicsCaptureSessionStatics::IsSupported().
winecfg: Add an option to set WinRT app dark theme.
cfgmgr32: Implement CM_MapCrToWin32Err.
cfgmgr32/tests: Add CM_MapCrToWin32Err tests.
include: Add DirectXAlphaMode enum.
include: Add windows.ui.core.idl file.
Nikolay Sivov (15):
d3d10/effect: Add support for itof instruction.
d3d10/effect: Add support for ineg instruction.
d3d10/effect: Add support for imax instruction.
d3d10/effect: Add support for udiv instruction.
d3dcompiler: Always initialize output shader blob pointer in D3DCompile2().
d3dcompiler: Allow D3DCompile2() to succeed with null output shader blob pointer.
d3dcompiler: Always free messages string in D3DCompile2().
d3dcompiler: Fix bytecode buffer leaks in D3DCompile2().
d3d10/effect: Add support for 'movc' instruction.
d3d10/effect: Handle division by zero in 'udiv'.
d3d10/effect: Add support for asin/acos/atan instructions.
d3d10/effect: Add support for umin/umax instructions.
d3d10/effect: Add support for 'imin' instruction.
d3d10/effect: Add support for 'iadd' instruction.
d3d10/tests: Add some tests for trigonometric functions.
Paul Gofman (15):
crypt32: Support user properties for certificates.
crypt32: Use CERT_STORE_ADD_ALWAYS when reading certs from registry.
crypt32: Refactor CRYPT_ImportSystemRootCertsToReg().
crypt32: Refactor read_trusted_roots_from_known_locations().
crypt32: Keep root certs cached in registry unless some are deleted on host.
taskkill: Use CRT allocation functions.
taskkill: Remove unneeded free() before process exit.
taskkill: Enumerate processes in main().
taskkill: Factor out get_task_pid().
taskkill: Use toolhelp snapshot to get process information.
taskkill: Mark processes for termination in main().
taskkill: Support terminating child processes.
services: Create service processes in a job.
services: Factor out notify_service_state() function.
services: Change running service state once its process dies.
Piotr Caban (49):
wineps: Move more code into create_psdrv_physdev helper.
wineps: Create fake PSDRV_PDEVICE OpenPrintProcessor.
wineps: Initialize PSDRV_PDEVICE print job information in PrintDocumentOnPrintProcessor.
wineps: Write document header and footer in PrintDocumentOnPrintProcessor.
wineps: Handle EMR_HEADER record in spool files.
wineps: Handle EMR_EOF record in spool files.
wineps: Handle brush selection in spool files.
wineps: Handle pen selection in spool files.
wineps: Handle EMR_RECTANGLE record in spool files.
wineps: Handle EMR_MOVETOEX record in spool files.
wineps: Handle EMR_LINETO record in spool files.
wineps: Handle EMR_CREATEMONOBRUSH record in spool files.
wineps: Handle EMR_CREATEDIBPATTERNBRUSHPT record in spool files.
wineps: Handle EMR_SETWORLDTRANSFORM record in spool files.
wineps: Handle EMR_MODIFYWORLDTRANSFORM record in spool files.
wineps: Handle EMR_POLYBEZIER record in spool files.
wineps: Handle EMR_POLYPOLYLINE record in spool files.
wineps: Handle EMR_POLYPOLYGON record in spool files.
wineps: Handle EMR_SETPIXELV record in spool files.
wineps: Handle EMR_ELLIPSE record in spool files.
wineps: Handle EMR_ROUNDRECT record in spool files.
wineps: Handle EMR_ARC record in spool files.
wineps: Handle EMR_CHORD record in spool files.
wineps: Handle EMR_PIE record in spool files.
ucrtbase: Add __CxxFrameHandler4 implementation.
wineps: Introduce helper for PolyBezier drawing.
wineps: Handle EMR_POLYGON record in spool files.
wineps: Handle EMR_POLYLINE record in spool files.
wineps: Handle EMR_POLYBEZIERTO record in spool files.
wineps: Handle EMR_POLYLINETO record in spool files.
wineps: Handle EMR_ARCTO record in spool files.
wineps: Handle EMR_POLYBEZIER16 record in spool files.
wineps: Handle EMR_POLYGON16 record in spool files.
wineps: Handle EMR_POLYLINE16 record in spool files.
wineps: Handle EMR_POLYBEZIERTO16 record in spool files.
wineps: Handle EMR_POLYLINETO16 record in spool files.
wineps: Handle EMR_POLYPOLYLINE16 record in spool files.
wineps: Handle EMR_POLYPOLYGON16 record in spool files.
wineps: Support arc direction in PSDRV_DrawArc.
wineps: Handle EMR_ANGLEARC record in spool files.
wineps: Handle EMR_PAINTRGN record in spool files.
wineps: Handle EMR_SETWINDOWEXTEX record in spool files.
wineps: Handle EMR_SETWINDOWORGEX record in spool files.
wineps: Handle EMR_SETVIEWPORTEXTEX in spool files.
wineps: Handle EMR_SETVIEWPORTORGEX record in spool files.
wineps: Handle EMR_SETBRUSHORGEX in spool files.
wineps: Handle EMR_SETARCDIRECTION record in spool files.
wineps: Handle EMR_STRETCHBLT record in spool files.
wineps: Handle EMR_BITBLT record in spool files.
Rémi Bernon (105):
win32u/tests: Test NtUserCreateInputContext (et al.)
win32u: Stub NtUserBuildHimcList syscall.
win32u/tests: Test NtUserBuildHimcList syscall.
win32u: Introduce new next_process_user_handle_ptr helper.
win32u: Implement NtUserBuildHimcList syscall.
dinput: Rewrite IDirectInputDevice8W_BuildActionMap.
dinput: Pass device object format index to queue_event.
dinput: Pass additional information to enum_object callback.
dinput: Split enum_objects_count helper from enum_objects_init.
dinput: Call enum_objects to initialize the device object format.
widl: Simplify uuid literals lexing.
widl: Remove unused lexer aliases.
widl: Simplify preprocessor directive lexing.
widl: Simplify reserved keywords lexing.
widl: Lex calling convention variations toghether.
imm32/tests: Remove GetLastError check on default IME ImmEscape tests.
imm32/tests: Update ImmGetProperty expectations for Korean locale.
dinput/tests: Flush messages after creating the test_mouse_keyboard window.
dinput: Count the actual number of object formats in SetActionMap.
dinput: Initialize device object format when creating devices.
dinput: Move mouse_create_device function around.
dinput: Always allocate and initialize the object_properties.
dinput: Initialize SetActionMap variables in their declarations.
dinput: Always set the DIPROP_BUFFERSIZE property in SetActionMap.
dinput: Only set DIPROP_RANGE in SetActionMap if range isn't empty.
dinput: Use 4 bytes for every object user state in SetActionMap.
dinput: Initialize object formats from device objects in SetActionMap.
dinput: Respect DIA_APPNOMAP in IDirectInputDevice8W_SetActionMap.
dinput: Return error from SetActionMap if SetDataFormat fails.
dinput: Keep device objects app data in the object properties.
dinput: Allow action formats with no matching actions.
dinput: Check IDirectInputDevice8W_SetActionMap flags.
dinput: Return DI_SETTINGSNOTSAVED when DIDSAM_FORCESAVE is used.
imm32: Implement ImmEnumInputContext.
imm32: Remove unnecessary threadDefault InputContextData member.
imm32: Remove unused IMM_IsCrossThreadAccess hwnd parameter.
imm32: Use NtUserQueryInputContext to check cross-thread access.
imm32: Rename InputContextData to struct imc.
widl: Rename (error|warning)_loc_info to (error|warning)_at.
widl: Allow source location to span over multiple lines.
widl: Move diagnostic and location functions to parser.l.
widl: Enable bison locations option.
widl: Improve accuracy of error messages location.
widl: Print the import stack and context in messages.
imm32: Fix ImmEscape(A|W) with NULL data.
imm32: Fix ImmEnumRegisterWord(A|W) callback conversion.
imm32/tests: Reduce test output unnecessary verbosity.
imm32: Stub ImmActivateLayout.
imm32/tests: Test undocumented ImmActivateLayout.
widl: Use spaces to indent attribute rules more consistently.
widl: Move attribute related functions to attribute.c.
widl: Simplify attribute creation with either int or ptr value.
widl: Remove custom attribute creation helper.
widl: Add source location information to attributes.
widl: Use warning_at when reporting duplicate attributes.
widl: Define PARSER_LTYPE instead of api.location.type.
dinput/tests: Test BuildActionMap cases with multiple devices.
dinput/tests: Add more IDirectInput8_EnumDevicesBySemantics tests.
dinput: Trace formats in (Build|Set)ActionMap and EnumDevicesBySemantics.
dinput: Load action map from registry before resetting guid.
dinput: Check device type in BuildActionMap for specific semantics.
dinput: Implement DIDBAM_PRESERVE BuildActionMap flag.
dinput: Rewrite IDirectInput8_EnumDevicesBySemantics.
win32u: Allow LANG_INVARIANT in NtUserActivateKeyboardLayout.
imm32: Use installed IME language for the created HKL.
imm32/tests: Check current keyboard layout during ime calls.
imm32: Call ActivateKeyboardLayout from ImmActivateLayout.
imm32/tests: Test ImmCreateInputContext et al.
imm32/tests: Test ActivateKeyboardLayout with an existing window.
imm32: Enumerate input contexts in ImmActivateLayout.
imm32: Introduce a new imc_select_hkl helper.
imm32: Update HIMC private data when selecting IME.
imm32: Call ImeSelect from ImmLockIMC with current IME.
imm32/tests: Add explicit ImmLoadIME / ImmFreeLayout calls.
imm32/tests: Ignore expected calls marked with todo.
imm32: Cleanup ImmProcessKey variables and traces.
imm32: Ignore ImmProcessKey if hkl isn't the current layout.
imm32/tests: Test ImmProcessKey with the installed IME.
imm32/tests: Test IME UI creation with the installed IME.
imm32/tests: Test IME UI window and IME window presence.
imm32: Update existing input contexts on layout change.
imm32: Keep the IME UI window on the default input context.
imm32: Re-create the IME UI window when IME changes.
imm32: Create the IME UI as child of the IME default window.
imm32/tests: Test DefWindowProc with IME UI messages.
win32u: Ignore IME messages from IME UI windows in DefWindowProc.
win32u: Ignore some IME messages in default_window_proc.
imm32: Pass the HIMC to the IME UI window IMMGWL_IMC.
imm32: Send WM_IME_SELECT messages when IME is activated.
imm32: Select current IME on input contexts when needed.
imm32: Introduce new input_context_init helper.
imm32: Add a default implementation for IME functions.
imm32: Return TRUE from ImmIsIME with any HKL.
winex11: Use the default IME implementation for stubs.
winemac: Use the default IME implementation for stubs.
imm32/tests: Add some ImmSetConversionStatus tests.
imm32/tests: Add some ImmSetOpenStatus tests.
imm32: Avoid recursing into ImeSelect calls.
imm32/tests: Init INPUTCONTEXT status in ImeSelect.
imm32/tests: Add some ImeSetActiveContext tests.
imm32/tests: Add some spurious IME select calls.
imm32/tests: Add some ImmRequestMessageW tests.
imm32/tests: Add some ImmGetCandidateList(W|A) tests.
imm32/tests: Add some ImmGetCandidateListCount(W|A) tests.
imm32/tests: Add some ImmGetCandidateWindow tests.
Shaun Ren (1):
quartz: Set filter sync source in FilterGraph2_AddFilter.
Stefan Dösinger (3):
wined3d: Make video memory accounting a per-resource flag.
ddraw/tests: Native 64 bit ddraw has a video memory leak.
ddraw/tests: Show that SYSMEM | 3DDEVICE surfaces don't consume vidmem.
Sven Baars (12):
advapi32/tests: Copy Software\Classes tests from ntdll.
kernelbase: Call open_key() from open_subkey().
kernelbase: Use open_key() to obtain any existing Wow6432node in create_key().
kernelbase: Pass a name pointer to open_key().
kernelbase: Return the last existing key from open_key() when it's called from create_key().
kernelbase: Don't open Wow6432nodes from create_key().
kernelbase: Factor creating a subkey out of create_key().
kernelbase: Call create_key() from create_subkey().
kernelbase: Add support for shared registry keys.
kernelbase: Recursively obtain the Wow6432Node parent.
kernelbase: Remove special Wow64 handling for HKEY_CLASSES_ROOT.
wine.inf: Put the Clients key in the right place.
Torge Matthies (5):
msvcr100: Only wake task collection waiters when finished >= count.
msvcr100: Use enum for _StructuredTaskCollection return value.
msvcr100: Use enum for _StructuredTaskCollection status bits.
msvcr100: Implement _StructuredTaskCollection canceling.
msvcr100: Implement _StructuredTaskCollection::_IsCanceling.
Tyson Whitehead (3):
crypt32: Add some CertGetNameStringW fallback cases.
crypt32/tests: Test for CertGetNameStringW fallback cases.
crypt32/tests: Document fields in original test certificate.
Vicki Pfau (1):
hidparse.sys: Include zero-count reports in cap count.
Vijay Kiran Kamuju (1):
msvcr100: Add _UnrealizedChore::_CheckTaskCollection stub.
Zebediah Figura (15):
ddraw: Factor out a ddraw_texture_rename_to() helper from ddraw_surface1_Flip().
wined3d: Pass parent ops to wined3d_texture_set_sub_resource_parent().
wined3d: Pass parent ops to wined3d_resource_set_parent().
ddraw: Move sub-resource surface creation to ddraw_texture_init().
ddraw: Make ddraw_surface_init() static.
include: Use hexadecimal constants for XAudio flags.
include: Add D3D10CalcSubresource().
d3d10core/tests: Add a broken() case for WARP in test_occlusion_query().
d3d11/tests: Add a broken() case for WARP in test_occlusion_query().
ddraw/tests: Add some tests for creating surfaces with user memory.
wined3d: Pass parent ops to wined3d_rendertarget_view_set_parent().
ddraw: Reimplement SetSurfaceDesc() by recreating the wined3d texture(s).
ddraw/tests: Make test_texture_wrong_caps() a bit clearer.
include: Include corecrt.h in vadefs.h.
winedevice: Use the ntoskrnl channel.
Zhiyi Zhang (1):
dwrite: Use cache when font transform matrix contains only translation offsets.
Ziqing Hui (5):
mf/tests: Test time length returned by ProcessOutput.
winegstreamer: Add format field to wmv wg_format.
winegstreamer: Ignore framerate of media type for WMV decoder DMO.
winegstreamer: Create wg_transform for WMV decoder.
winegstreamer: Implement ProcessInput and ProcessOutput for WMV decoder DMO.
The Wine stable release 7.0.2 is now available.
What's new in this release:
- Various bug fixes
The source is available at:
https://dl.winehq.org/wine/source/7.0/wine-7.0.2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.0.2 (total 43):
- #36711 Sid Meier's Civilization IV crashes while loading saved game (GOG.com complete, Colonization, Warlords, Beyond the Sword)('winetricks -q msxml3' is a workaround)
- #39346 Lego Rock Raiders crashes on startup (d3drm_device_init doesn't handle device version 3 case)
- #40444 Find doesn't jump to a found item in WinSCP when editing a file
- #42751 Multiple applications crash on unimplemented function msvcr{100,110}.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z (Gas Guzzlers Combat Carnage, Clip Studio Paint, Cube World, Intel ACAT)
- #42857 Can't select a fixture in FreeStyler's fixture editor
- #44814 cygwin's bsdtar.exe needs a better ntdll.NtQueryEaFile stub
- #46822 Edit control in ADL search dialog gets initially not drawn in DC++ 0.868, regression
- #47375 Multiple applications crash on unimplemented function msvcr120.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z (Photoshop C 2018, CLIP Studio Paint)
- #48487 MSYS based Git 2.25 installer reports 'could not decode hex <hexstring>' (needs support for CryptStringToBinaryW CRYPT_STRING_HEX)
- #48600 Bloomberg Terminal needs unimplemented function dbghelp.dll.SymSrvGetFileIndexInfo
- #49285 PNotesPortable crashes inside WritePrivateProfileStructW
- #50948 taskmgr.exe: wrong memory usage unit (GB => MB)
- #51788 windowscodecs:wmpformat test_decode() fails randomly
- #51842 include/winnt.h:403:50: error: size of unnamed array is negative
- #52457 CNG Encryption Failure (BCryptEncrypt)
- #52534 ListView: multi select never sends LVN_ODSTATECHANGED
- #52545 ACE rights parser should allow octal and decimal formats
- #52686 DateAdd not implemented
- #52831 Kernel32::GetSystemPowerStatus returns invalid data if /sys/class/power_supply/BAT0 is missing
- #52841 Leverless arcade controller SOCD cleaning does not work
- #52972 wineusb.sys: add_usb_device erroneously releases critical section on failure path
- #52975 VTFEdit fails to start: err:module:LdrInitializeThunk "MSVCP80.dll" failed to initialize, aborting
- #53003 XM6 TypeG: some MIDI note-on messages aren't sent to MIDI devices (MIDI running status isn't supported in the MIDI mapper)
- #53005 quartz:systemclock Fails after timeGetTime() wraps
- #53027 Port Royale 4 crashes with wined3d_texture*
- #53032 winedevice.exe segfaults on exit when built with GCC
- #53051 Kvaser software crashes on unimplemented function ntoskrnl.exe.ExNotifyCallback
- #53123 ListView: Ctrl+Shift+LMouse multiselect on LVS_OWNERDATA listviews erroneously sends LVN_ODSTATECHANGED
- #53169 Rich edit control becomes unstable or trips assertion after ITextRange::SetFont is called
- #53170 Rich edit control becomes unstable or trips assertion after changing TextFont properties
- #53234 nsi:nsi - test_ndis_ifinfo() fails randomly on Windows 10 1507
- #53310 Roblox Fails With HttpSendRequest
- #53335 Crash when converting an rich text editor already containing text into a password input
- #53455 shell32:recyclebin - test_query_recyclebin() gets unexpected recyclebin size in Wine
- #53569 postgresql installer 9.3 needs correct string length returned from fso.GetTempName
- #53587 comctl32 GetWindowSubclass crash in Notepad++ (v8.4.3 and 8.4.4 only)
- #53614 KeePassXC crashes on unimplemented function msvcp140.dll.?ReportUnhandledError@_ExceptionHolder@details@Concurrency@@AEAAXXZ
- #53645 AIMP 3 causes memory leaks
- #53706 NtDeviceIoControlFile() is quite slow when called with and invalid handle
- #53714 SQLGetInfo(W) doesn't fill StringLength when InfoValue is NULL
- #53800 CRYPT_GetBuiltinDecoder Unsupported decoder for lpszStructType 1.3.6.1.4.1.311.2.1.4
- #53821 winbase.h: ReOpenFile declaration missing (and not available in any other header)
- #53832 wbemprox: where-clause seems to be case-sensitive
----------------------------------------------------------------
Changes since 7.0.1:
Akihiro Sagawa (2):
midimap: Handle MIDI running status.
mciqtz32: Fix thread handle leak if a second play.
Alex Henrie (3):
ntoskrnl: Add ExNotifyCallback stub.
ntdll: Don't hard-code the battery and AC adapter names on Linux.
user32: Plug icon handle leak in MDI_AugmentFrameMenu (Coverity).
Alexandre Julliard (5):
shell32: Don't return an uninitialized pointer on error in enum_trash_items().
urlmon/tests: Fix race condition in abort test.
mountmgr: Don't crash if connecting to dbus fails.
gdiplus: Get the compositing mode directly from the graphics object.
gitlab: Add workaround for more strict git ownership check.
Alistair Leslie-Hughes (8):
d3drm: Support IDirect3D3 when creating device.
ntdll: Check return parameter before use.
ntdll: RtlFirstFreeAce only return FALSE on error.
ntdll/tests: Add RtlFirstFreeAce tests.
dsdmo: Add Echo FX Support.
dsdmo: Add Compressor FX Support.
odbc: SQLGetInfoW allow NULL parameter InfoValue.
crypt32: Only report Unimplemented decoder when not found in external dll.
Angelo Haller (9):
comctl32/tests: Add hold_key and release_key functions.
comctl32/tests: Add multi select tests for ownerdata listviews.
comctl32/tests: Add change sequence for ownerdata listviews.
comctl32/listview: Send one deselect all items notification for LVS_OWNERDATA listviews.
comctl32/listview: Move sending LVN_ODSTATECHANGED notifications to a function.
comctl32/listview: Send LVN_ODSTATECHANGED only for LVS_OWNERDATA listviews.
comctl32/listview: Send LVN_ODSTATECHANGED notification for LVS_OWNERDATA listview on selection changes.
comctl32/listview: Don't send LVN_ODSTATECHANGED for empty ranges.
comctl32/tests: Add more ownerdata listview tests.
Claire Girka (1):
winepulse: Fix memory leak in pulse_create_stream in some error cases.
Daniel Lehman (1):
kernelbase: Pass va_list copy to internal RtlFormatMessage.
David Curtiss (1):
ws2_32: Allow getsockname after AcceptEx.
David Kahurani (2):
win32u: Use allocator mechanism to allocate DC attributes.
ieframe: Fix memory leak in open_dde_url.
Dmitry Timoshkov (2):
comctl32/tests: Add iItem and uChanged to LVN_ITEMCHANGING/LVN_ITEMCHANGED context.
sechost: Support decimal or octal access rights in ConvertStringSecurityDescriptorToSecurityDescriptor.
Eric Pouech (2):
wldap32: Fix compilation in 32-bit.
winedbg: Fix retrieving integral values.
Esme Povirk (1):
wmphoto: Zero user buffer before calling jxrlib Copy.
Fabian Maurer (1):
kernel32: Prevent null pointer dereference in WritePrivateProfileStructW.
Gijs Vermeulen (2):
dbghelp: Add SymSrvGetFileIndexInfo stub.
msvcp140: Add _ExceptionHolder::ReportUnhandledError stub.
Hans Leidekker (4):
wininet: Remove assertion that is no longer valid in Windows 10.
wininet: Always reset the second input buffer in netcon_secure_connect_setup().
bcrypt: Force symmetric key reset if necessary.
wbemprox: WQL string comparisons are case insensitive.
Hugh McMaster (1):
conhost: Set correct face name when the specified font is not available.
Huw D. M. Davies (1):
nsi: Use the correct members for the error and discard counts.
Jeff Smith (2):
d3drm/tests: Clean up some magic values.
d3drm: Fix components of palette built when loading texture from file.
Jinoh Kang (3):
wineusb.sys: Remove erroneous call to LeaveCriticalSection() in add_usb_device.
riched20: Commit and wrap paragraphs after changing text properties.
riched20: Ensure MEPF_COMPLEX is unset when in password input mode.
Kevin Puetz (2):
winecrt0: Remove free_delay_imports.
vbscript: Don't abort when trying to TRACE() functions with many arguments.
Limstash Wong (1):
taskmgr: Fix the unit in memory usage graph on performance tab.
Louis Lenders (1):
msvcr80: Update manifest resource.
Martin Storsjö (2):
include: Add declarations of _alloca and alloca for MSVC mode.
ntdll: Add SEH unwind info in ARM assembly functions/trampolines.
Mihail Ivanchev (1):
include: Add prototype for ReOpenFile().
Nikolay Sivov (2):
vbscript: Implement DateSerial().
vbscript: Implement DateAdd().
Paul Gofman (3):
msxml3: Use node_get_text() in domelem_get_nodeTypedValue() if no type is present.
crypt32: Support CRYPT_STRING_HEX in CryptStringToBinary().
winhttp/tests: Avoid race condition on closing connection in server_thread().
Piotr Caban (4):
msvcr120: Add missing _StructuredTaskCollection destructor spec file entry.
msvcrt: Fix _wputenv_s return value on error.
msvcrt: Fix _putenv_s return value on error.
msvcrt: Fix _wputenv_s invalid argument handling.
Robert Wilhelm (4):
scrrun: Added DateCreated property for IFile.
scrrun: Add test for correct string length returned from GetTempName.
scrrun: Correct string length returned from GetTempName.
scrrun: Avoid memory leak in error case.
Rémi Bernon (2):
winebus.sys: Implement SOCD neutral cleaning for hatswitches.
server: Avoid using pointer value after realloc.
Santino Mazza (3):
riched20/tests: When selection is out of view, the scrollbar should move.
riched20: Ensure that cursor is visible when selecting text.
jscript: Return ParseProcedureText when compile fails.
Sebastian Lackner (1):
ntdll: Improve stub of NtQueryEaFile.
Tim Clem (1):
kernelbase: Don't assume the length of the process image name.
Torge Matthies (8):
msvcr110: Add _StructuredTaskCollection::_StructuredTaskCollection_ctor stub.
msvcr120: Add _StructuredTaskCollection::_StructuredTaskCollection_dtor stub.
msvcr100: Add _StructuredTaskCollection::_Schedule stub.
msvcr110: Add _StructuredTaskCollection::_Schedule_loc stub.
msvcr100: Implement invalid_multiple_scheduling exception.
msvcr100: Factor out the mapping of a context to a scheduler.
msvcr100: Implement _StructuredTaskCollection::_Schedule and _Schedule_loc.
msvcp90: Fix segfault in bad_alloc exception default constructor.
Zebediah Figura (7):
quartz/systemclock: Use timeGetTime() to retrieve the current time.
wined3d: Correctly handle 3D textures in wined3d_view_{load, invalidate}_location().
ntdll: Add a fast path for NtDeviceIoControlFile(INVALID_HANDLE_VALUE).
xslt: Use win32config.h from the correct directory.
ntdll: Calculate the necessary length after calling snprintf() in SystemWineVersionInformation.
msvcrt: Add SEH annotations for sse2_memcpy().
libwine: Avoid comparing the result of pointer arithmetic to zero.
Zhiyi Zhang (14):
shell32: Correct SHOpenFolderAndSelectItems() prototype.
include: Add SHOpenFolderAndSelectItems() declaration and flags.
shell32/tests: Add SHOpenFolderAndSelectItems() tests.
shell32: Implement SHOpenFolderAndSelectItems().
comctl32/tests: Add GetWindowSubclass() tests.
comctl32: Check reference data pointer before using it.
comctl32/tests: Test that changing focus for edit controls doesn't repaint immediately.
comctl32/edit: Don't repaint immediately when getting focus.
winex11.drv: Handle X errors from glXCopyContext().
winex11.drv: Don't compare error event serial if it's zero.
winegstreamer: Always check the return value from mf_media_type_from_wg_format().
gdi32/tests: Add more tests for GetTextMetrics().
win32u: Choose a smaller ppem to avoid exceeding the requested font height.
win32u: Fix a memory leak.
The Wine development release 8.4 is now available.
What's new in this release:
- Initial step of the Wayland graphics driver.
- Cleanups in IME support.
- A number of test fixes.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.4.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.4 (total 51):
- #7585 Thief: the dark project hangs on 'esc' keypress in game if X in 24bpp mode
- #47407 Hard Truck 2: King of The Road (GOG) movies aren't played
- #49266 Amazon Games installs but won't start (needs WindowsFormsApplicationBase startup code?)
- #51848 Multiple applications have very poor performance after 4261369e5d8 (Secondhand Lands, SPORE)
- #52912 t2embed:t2embed fails on Windows with the UTF-8 codepage
- #52948 gdi32:font - test_EnumFonts() fails on Arial Bold on Windows in Russian
- #53172 advapi32:registry - test_enum_value() has a pair of rare failures in UTF-8 system locales
- #53182 shell32:shelllink - A save(NULL, TRUE) fails randomly in test_load_save() on Wine
- #53236 d3d9:device - test_wndproc() sometimes gets an unexpected WM_DISPLAYCHANGE in Wine
- #53270 test_WSARecv() fails when using wow64 thunks [Wow64ApcRoutine() overwrites return value set by NtContinue()]
- #53488 The dxgi:dxgi output is too big on debiant
- #53526 kernel32:sync - test_timer_queue() occasionally fails to delete the timer on Windows 10
- #53528 ntdll:info - test_query_kerndebug() fails on Windows 8 to 10 1709
- #53818 foobar2000 v1.6 crashes shortly after startup on Wine 7.19 or higher
- #53974 d3drm:d3drm sometimes crashes after failing to create the IDirect3DRMDevice* interface in Wine
- #53975 d3drm:d3drm sometimes fails to create an immediate mode device in Wine
- #54003 vbscript:run sometimes fails on Windows UTF-8 locales
- #54008 d3d9:device sometimes fails to create a D3D object in Wine, crashes
- #54019 The 64-bit ntdll:wow64 fails on Windows 11
- #54020 The 32-bit ntdll:wow64 fails on Windows 11
- #54052 winhttp:notification times out randomly in Wine
- #54058 user32:input - test_ToAscii() fails in the Hindi UTF-8 locale
- #54078 ntdll:pipe - test_blocking() sometimes fails in Wine when the pipe is not signaled
- #54168 kernel32:console - test_wait() sometimes fails on Windows 8+
- #54298 d3d12:d3d12 - test_desktop_window() fails on Windows 10 1709
- #54299 d3d12:d3d12 - test_create_device() gets an unexpected 0 refcount on Windows 10 1909+
- #54313 HS_hevo_gc 8.8.1.1 fails to launch
- #54379 since wine 8.0 print doesn't work any more
- #54449 nethack crashes
- #54491 regedit/regproc.c - export_key() is unable to return TRUE
- #54495 Motorola Ready For Assistant does not start, needs ext-ms-win-networking-wlanapi-l1-1-0.dll
- #54504 dbghelp:dbghelp, ntdll:wow64 & psapi:psapi_main fail on Windows 11 due to notepad.exe path remapping
- #54505 psapi:psapi_main - The 64-bit test_EnumProcessModules() gets unexpected Notepad case on Windows 11
- #54506 psapi:psapi_main - The 64-bit test_EnumProcessModulesEx() gets pcs-6464 and pcs-6432 failures on Windows 11
- #54507 psapi:psapi_main - The 32-bit test_EnumProcessModulesEx() gets many pcs-3232 failures due to partial copy errors on Windows 11
- #54509 psapi:psapi_main - The 64-bit test_EnumProcessModules() gets unexpected third module on Windows 11
- #54531 jsproxy:jsproxy crashes on Windows 11
- #54539 Starcraft Remastered Game Initialization Failed
- #54553 mmdevapi:propstore - The 32-bit test_setvalue_on_wow64() fails on Windows 10 2004+
- #54563 The gif is displaying wrongly, with weird backgrounds of various colors
- #54593 gdi32:dc - The SetDeviceGammaRamp() tests fails on Windows 10 1909
- #54605 The 32-bit dbghelp:dbghelp cannot run on Windows <= 10 1607 due to IsWow64Process2() call
- #54617 KakaoTalk IM text edit window leaves artifacts when the text overflows and scroll bar appears
- #54621 Wine 8.3 64-bit is missing in the Debian bookworm repo
- #54637 riched20:txtsrv - test_TxGetNaturalSize fails if system GUI font's glyph widths are wider than expected by the test
- #54645 TextPad 9.1 installation fails in Wine 6 from Linux Mint repo
- #54649 windows.perception.stub:perception - Windows 10 1607 does not have ISpatialSurfaceObserverStatics2
- #54657 kernel32:loader - test_import_resolution() gets bad tls data on Windows 7
- #54663 ldp.exe crashes on unimplemented function wldap32.dll.ldap_set_dbg_flags
- #54669 imm32:imm32 - ime_install() fails in some locales on Windows
- #54690 ldp.exe crashes when attempting to connect to an invalid host
----------------------------------------------------------------
Changes since 8.3:
Alex Henrie (5):
wldap32: Add ldap_set_dbg_flags stub.
wldap32: Replace bvfreeU with plain free.
wldap32: Handle null LDAPMessage in ldap_count_entries.
wldap32: Handle null LDAPMessage in ldap_parse_result.
comctl32/treeview: Ignore the lParam to WM_PRINTCLIENT and add tests.
Alexandre Julliard (32):
ntdll/tests: Check the default stack information against the exe header.
ntdll/tests: Remove invalid instruction from KiUserExceptionDispatcher test.
ntdll/tests: Allow zero size return for NtQueryDirectoryObject on Wow64.
wow64: In system calls always return the status from Wow64SystemServiceEx.
wow64: Push a valid return address when calling KiRaiseUserExceptionDispatcher.
wow64: Keep track of APC stack frames, similarly to user callback frames.
wow64: Declare exported functions in winternl.h.
maintainers: Assume maintainership of ARM platforms.
ntdll: Always call Wow64PrepareForException when dispatching an exception.
server: Determine the native thread context flags on the client side.
ntdll: Pass the WoW context to the server on ARM64.
ntdll: Don't touch the top of the 32-bit thread stack.
wow64: Create the WOW64INFO structure.
wow64: Fixup Eip for breakpoint exceptions.
wow64: Don't update the exception address in raise_exception().
wow64: Implement Wow64RaiseException().
make_makefiles: Die when the git command fails.
gitlab: Add workaround for more strict git ownership check.
lcms2: Import upstream release 2.15.
faudio: Import upstream release 23.03.
ldap: Import upstream release 2.5.14.
tiff: Import upstream release 4.5.0.
ntdll: Fix some CPU information tests on ARM64.
ntdll: Implement the SystemProcessorBrandString query.
ntdll: Implement the SystemProcessorFeaturesInformation query.
wineboot: Use the SystemProcessorBrandString query instead of cpuid.
ntdll/tests: Handle another possible status when SystemProcessorFeaturesInformation is not supported.
ntdll/tests: Fix Wow64 tests failures on Windows 11 ARM64.
ntdll/tests: Update some todos that succeed with the new wow64 architecture.
ntdll: Implement NtWow64IsProcessorFeaturePresent().
wow64: Forward NtWow64IsProcessorFeaturePresent() to the CPU backend.
wineboot: Add processor features for supported WoW64 architectures on ARM64.
Alexandros Frantzis (6):
winewayland.drv: Add initial driver stub.
winewayland.drv: Add initial unixlib stub.
winewayland.drv: Perform basic per-process Wayland initialization.
win32u: Allow drivers to set the null user driver.
winewayland.drv: Report basic monitor information.
winewayland.drv: Report all advertised monitor modes to Wine.
Anton Baskanov (1):
ir50_32: Handle 24-bit output media type.
Brendan Shanks (4):
kernel32: Implement GetFirmwareType().
loader: In macOS preloader, move the top-down allocations area down.
loader: In macOS preloader, stop using mincore() to test if a region is empty.
kernelbase: Implement DiscardVirtualMemory().
Connor McAdams (17):
uiautomationcore: Implement IUIAutomation::Create{True,False}Condition.
uiautomationcore: Implement IUIAutomation::CreatePropertyCondition.
uiautomationcore: Implement IUIAutomation::CreateNotCondition.
uiautomationcore: Implement IUIAutomation::CreateOrCondition.
uiautomationcore: Implement IUIAutomation::get_ControlViewCondition.
uiautomationcore: Implement IUIAutomation::get_RawViewCondition.
uiautomationcore: Validate input arguments for IUIAutomationElement::GetCurrentPropertyValueEx.
uiautomationcore: Add support for element array properties in IUIAutomationElement::GetCurrentPropertyValueEx.
uiautomationcore: Implement IUIAutomation::CreateCacheRequest.
uiautomationcore/tests: Add tests for IUIAutomationElement caching methods.
uiautomationcore: Implement IUIAutomationElement::BuildUpdatedCache.
uiautomationcore: Add support for caching property values in UiaGetUpdatedCache.
uiautomationcore: Implement IUIAutomationCacheRequest::AddProperty.
uiautomationcore: Implement IUIAutomationElement::GetCachedPropertyValueEx.
uiautomationcore/tests: Add tests for IUIAutomationElement find methods.
uiautomationcore: Implement IUIAutomationElement::FindAll{BuildCache}.
uiautomationcore: Implement IUIAutomationElement::FindFirst{BuildCache}.
Daniel Tang (3):
wintypes: Stub RoIsApiContractMajorVersionPresent().
wofutil: Stub WofIsExternalFile().
windows.networking: Stub DllGetActivationFactory().
Davide Beatrici (12):
winealsa: Return STATUS_SUCCESS for unused unixlib functions.
winecoreaudio: Return STATUS_SUCCESS for unused unixlib functions.
wineoss: Return STATUS_SUCCESS for unused unixlib functions.
winepulse: Return STATUS_SUCCESS for unused unixlib functions.
mmdevapi: Query MemoryWineUnixFuncs virtual memory and store the resulting handle.
winepulse: Move process_attach and process_detach handling into mmdevapi.
mmdevapi: Use UTF-16 for client name in "test_connect_params" and "create_stream_params" structs.
mmdevapi: Move test_connect handling into mmdevapi.
winealsa: Use GetModuleFileName() instead of hardcoded module filename for registry key.
winecoreaudio: Use GetModuleFileName() instead of hardcoded module filename for registry key.
wineoss: Use GetModuleFileName() instead of hardcoded module filename for registry key.
winepulse: Use GetModuleFileName() instead of hardcoded module filename for registry key.
Derek Lesho (2):
mfplat/tests: Test bytestream closing behavior in IMFMediaSource::Shutdown.
winegstreamer/media_source: Close bytestream in ::Shutdown.
Dmitry Timoshkov (2):
win32u: Give full access rights to the process window station.
win32u: Give full access rights to the thread desktop.
Eric Pouech (10):
dbghelp/tests: Better use global variables.
dbghelp/tests: Preserve last error in process_get_kind().
dbghelp: Use 'wine' as loader on multi-arch configuration.
dbghelp/tests: Add tests for SymRefreshModuleList() on non-live target.
dbghelp: Don't set ELF loader when wine's loader isn't accessible.
dbghelp: Fix vdso.so lookup.
ntdll/tests: Use msinfo32.exe instead of notepad.exe.
ntdll/tests: Use msinfo32.exe instead of notepad.exe.
psapi/tests: Use msinfo32.exe instead of notepad.exe.
dbghelp/tests: Use msinfo32.exe instead of notepad.exe.
Evan Tang (4):
ntdll: Fix inverted TlsIndex check.
kernel32/tests: Add test verifying that tls init functions are called.
ntdll/tests: Move TlsIndex test to kernel32:loader.
kernel32/tests: Fix tls callback tests on Windows 7.
Fan WenJie (3):
opengl32: Fix missing conversion of glUnmapBuffer_params from 32bit to 64bit.
opengl32: Fix missing conversion of glUnmapNamedBuffer_params from 32bit to 64bit.
wow64: Fix missing conversion of ThreadWineNativeThreadName in wow64_NtSetInformationThread.
Florian Will (1):
comdlg32/tests: Fix itemdlg tests on Windows.
François Gouget (18):
advapi32/tests: Fix the RegEnumValueA() tests in UTF-8 locales.
msado15: Fix the spelling of a comment.
winscard: Fix the spelling of a function parameter.
riched20/tests: Fix a typo in a comment.
dbghelp/tests: Let the tests run on Windows 7, 8 and 10 <= 1607.
t2embed/tests: Fix the TTGetEmbeddingType() test in UTF-8 locales.
windows.perception.stub/tests: Skip some tests when ISpatialSurfaceObserverStatics2 is not supported.
vbscript/tests: Fix the testChrError() tests in the mixed locale case.
d3d8/tests: Remove an unused call to IDirect3D8_GetAdapterDisplayMode().
wofutil: Add a trailing linefeed to a FIXME().
dinput/tests: Skip the tests if acquiring the device fails.
advapi32/tests: Improve the resume handle service tests.
advapi32/tests: Better account for starting and stopping services.
advapi32/tests: Separate the EnumServicesStatus() and EnumServicesStatusEx() tests.
advapi32/tests: Better check the EnumServicesStatusExW() output.
advapi32/tests: Take into account service start / stop race conditions.
advapi32/tests: Enumerate the services using the Unicode API.
advapi32/tests: Skip some tests if the EventLog service crashed.
Gabriel Ivăncescu (10):
kernel32: Fix GetNumberFormatA when input length is 0.
kernel32: Fix GetCurrencyFormatA when input length is 0.
mshtml: Hold ref to HTMLDocumentObj when calling external code.
mshtml: Hold ref to inner window when calling external code.
mshtml: Hold ref to outer window when navigating.
mshtml: Check if browser was detached during notifications while navigating.
mshtml: Hold ref to the frame element during readyState notifications.
mshtml: Grab refs to windows upfront before sending pagehide events.
mshtml: Use already available window local variable in refresh task.
jscript: Fix jsstr leak after changing variant type to BSTR.
Georg Lehmann (5):
winevulkan: Deal with per api xml entries.
winevulkan: Only parse extensions for Vulkan.
winevulkan: Skip features that are not part of Vulkan.
winevulkan: Add basic support for extension dependencies.
winevulkan: Update to VK spec version 1.3.242.
Giovanni Mascellani (5):
d3d12/tests: Test that D3D12 swapchains can only be created on direct command queues.
dxgi: Immediately error out when creating a D3D12 swapchain on a non-immediate queue.
dxgi: Always assume that a D3D12 swapchain always uses user images.
dxgi/tests: Test that ResizeBuffers() resets the back buffer index to zero.
dxgi: Reset the back buffer index to zero on ResizeBuffers().
Hans Leidekker (1):
adsldp/tests: Skip all remaining tests when the server is down.
Henri Verbeet (11):
wined3d: Don't bother explicitly terminating the GLSL info log in print_glsl_info_log().
wined3d: Use wined3d_get_line() in shader_glsl_compile().
wined3d: Use wined3d_get_line() in shader_glsl_dump_program_source().
wined3d: Use wined3d_get_line() in shader_arb_compile().
wined3d: Use wined3d_get_line() in shader_spirv_compile_shader().
wined3d: Use wined3d_get_line() in shader_spirv_scan_shader().
d3d11: Get rid of the DXBC tag definitions.
wined3d: Sort the exports.
d3dcompiler: Handle some newer D3D_BLOB_PART values in debug_d3dcompiler_d3d_blob_part().
wined3d: Get rid of the wined3d_shader_byte_code_format enum.
wined3d: Use vkd3d-shader to disassemble shaders.
Hugh McMaster (2):
regedit: Allow export_key() to return TRUE.
regedit: Append '.reg' file extension if necessary.
Huw D. M. Davies (1):
winedump: Fix printf format warning.
Jacek Caban (1):
winedump: Print static lib EC symbols.
Jinoh Kang (4):
riched20/tests: Test for ITextDocument::Freeze and ITextDocument::Unfreeze.
riched20: Don't assume that TxDraw preserves the device context's brush selection.
riched20: Implement ITextDocument::Freeze and ITextDocument::Unfreeze.
riched20/tests: Don't specify DT_WORDBREAK in _check_txgetnaturalsize().
Martin Storsjö (1):
ntdll: Handle aarch64 pointer authentication in unwind info.
Max Figura (20):
wined3d: Move the WINED3D_RS_WRAP12 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP11 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP10 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP9 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP8 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP7 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP6 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP5 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP4 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP3 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP2 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP1 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP0 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_EXTENTS stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_COLORKEYBLENDENABLE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_SOFTWAREVERTEXPROCESSING stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_PATCHEDGESTYLE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_PATCHSEGMENTS stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_DEBUGMONITORTOKEN stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_INDEXEDVERTEXBLENDENABLE stub to wined3d_device_apply_stateblock.
Mohamad Al-Jaf (22):
include: Add windows.perception.spatial.idl file.
include: Add windows.graphics.directx.idl file.
include: Add windows.perception.spatial.surfaces.idl file.
windows.perception.stub: Add stub DLL.
windows.perception.stub: Add ISpatialSurfaceObserverStatics stub interface.
windows.perception.stub: Add ISpatialSurfaceObserverStatics2 stub interface.
windows.perception.stub/tests: Add ISpatialSurfaceObserverStatics2::IsSupported() tests.
windows.perception.stub: Implement ISpatialSurfaceObserverStatics2::IsSupported().
pdh: Implement PdhVbGetDoubleCounterValue().
pdh/tests: Add PdhVbGetDoubleCounterValue() tests.
include: Add windows.graphics.directx.direct3d11.idl file.
include: Add Windows.Foundation.Deferral definition.
include: Add windows.graphics.holographic.idl file.
include: Add IHolographicSpaceStatics2 interface definition.
windows.perception.stub: Add IHolographicSpaceStatics2 stub interface.
windows.perception.stub/tests: Add IHolographicSpaceStatics2 properties tests.
windows.perception.stub: Implement IHolographicSpaceStatics2::get_IsSupported().
windows.perception.stub: Implement IHolographicSpaceStatics2::get_IsAvailable().
include: Add IHolographicSpaceStatics3 interface definition.
windows.perception.stub: Add IHolographicSpaceStatics3 stub interface.
windows.perception.stub/tests: Add IHolographicSpaceStatics3::get_IsConfigured() tests.
windows.perception.stub: Implement IHolographicSpaceStatics3::get_IsConfigured().
Paul Gofman (1):
winex11.drv: Don't allow changing internal pixel format if conflicts with non-internal.
Piotr Caban (4):
gdiplus: Use transparency instead of background color if transparent color flag is set in GIF GCE.
gdi32: Improve EMR_CREATEDIBPATTERNBRUSHPT playback.
wineps: Fix buffer overflow in PSDRV_WriteDIBPatternDict function.
wineps: Fix image bits access in PSDRV_WriteDIBPatternDict.
Rémi Bernon (89):
win32u: Initialize IO_STATUS_BLOCK in load_directory_fonts.
win32u: Initialize IO_STATUS_BLOCK in rawinput add_device.
winex11: Initialize IO_STATUS_BLOCK in X11DRV_GetICMProfile.
maintainers: Assume maintainership of IME support.
imm32/tests: Add broken test results for w10v22H2.
makedep: Rename TESTDLL generated .res to avoid conflicts.
makedep: Support resource files for embedded TESTDLL.
imm32/tests: Test ImmInstallIMEW with an actual IME.
imm32/tests: Redirect IME function to the main module.
imm32/tests: Test ImmGetDescription with the installed IME.
imm32/tests: Test ImmGetIMEFileName with the installed IME.
user32/tests: Skip tests if layout failed to activate.
user32/tests: Add a WM_INPUTLANGCHANGE message test.
win32u: Move window query functions around.
win32u: Send WM_INPUTLANGCHANGE when activating new layout.
imm32: Implement stubs for ImmFreeLayout and ImmLoadIME.
imm32/tests: Test undocumented ImmLoadIME / ImmFreeLayout.
imm32: Rename ImmHkl to struct ime.
imm32: Reorder control flow in ImmConfigureIMEA.
imm32: Reorder control flow in ImmConfigureIMEW.
imm32: Reorder control flow in ImmEnumRegisterWordA.
imm32: Reorder control flow in ImmEnumRegisterWordW.
imm32: Reorder control flow in ImmEscapeA.
imm32: Reorder control flow in ImmEscapeW.
imm32: Reorder control flow in ImmGetConversionListA.
imm32: Reorder control flow in ImmGetConversionListW.
imm32: Reorder control flow in ImmGetProperty.
imm32: Reorder control flow in ImmGetRegisterWordStyleA.
imm32: Reorder control flow in ImmGetRegisterWordStyleW.
imm32: Reorder control flow in ImmRegisterWordA.
imm32: Reorder control flow in ImmRegisterWordW.
imm32: Reorder control flow in ImmUnregisterWordA.
imm32: Reorder control flow in ImmUnregisterWordW.
imm32: Reorder control flow in ImmGetImeMenuItemsA.
imm32: Reorder control flow in ImmGetImeMenuItemsW.
imm32: Avoid casts when calling into A/W IME.
imm32: Fail to load IME on any missing entry.
imm32: Return early if IMM_GetImmHkl fails.
imm32: Move IMM_FreeThreadData helper around.
imm32: Rename input context immKbd to ime.
imm32: Implement ImmLoadIME and ImmFreeLayout.
imm32: Rename some struct ime members.
imm32: Delete unnecessary uSelected struct ime member.
imm32: Use a single ime_is_unicode helper.
win32u: Keep the current user locale when enumerating layouts.
win32u: Keep the current user locale when loading layout.
win32u: Prevent user locale change in NtUserActivateKeyboardLayout.
winex11: Remove now unnecessary user locale change checks.
widl: Use explicit %empty token for empty rules.
widl: Add missing rule end semicolons.
widl: Use noyywrap lexer option.
widl: Use bison-bridge option.
widl: Remove unused temp_name member.
imm32: Rename szImeRegFmt to layouts_formatW.
imm32: Transform "Ime File" value in ImmInstallIMEW.
imm32: Rewrite ImmGetIMEFileName(A|W).
imm32: Rewrite ImmGetDescription(A|W).
imm32: Use CRT allocation functions.
widl: Use a struct list to keep imported files.
widl: Simplify handling of already parsed imports.
widl: Use a struct list for the import stack.
widl: Handle preprocess-only case separately.
widl: Introduce new (open|close)_input_file helpers.
widl: Respect -N flag for imported files preprocessing.
widl: Use open_input_file to open the main input.
imm32/tests: Use LANG_INVARIANT for the installed IME.
imm32/tests: Test ImmIsIME with the installed IME.
imm32/tests: Test ImmGetProperty with the installed IME.
imm32/tests: Test ImmEscape with the installed IME.
imm32/tests: Test ImmEnumRegisterWord with the installed IME.
imm32/tests: Test ImmRegisterWord with the installed IME.
imm32/tests: Test ImmGetRegisterWordStyle with the installed IME.
imm32/tests: Test ImmUnregisterWord with the installed IME.
imm32/tests: Test basic ImmEnumInputContext usage.
include: Add some dinput.h action semantics definitions.
dinput/tests: Test BuildActionMap / SaveActionMap with the HID joystick.
dinput/tests: Test SaveActionMap effect on DIPROP_USERNAME property.
dinput/tests: Test SaveActionMap effect on DIPROP_APPDATA property.
dinput/tests: Test SaveActionMap effect on DIPROP_BUFFERSIZE property.
dinput/tests: Test SaveActionMap effect on DIPROP_RANGE property.
dinput/tests: Test SaveActionMap effect on HID joystick input.
dinput/tests: Remove BuildActionMap / SaveActionMap mouse and keyboard tests.
dinput/tests: Increase timeouts for waits not supposed to fail.
widl: Group <INITIAL,ATTR> tokens together.
widl: Group <INITIAL> tokens together.
widl: Group <ATTR> tokens together.
widl: Introduce a new helper to produce num tokens.
widl: Simplify string literals lexing.
widl: Avoid freeing input_name in pop_import.
Stefan Dösinger (7):
dxgi/tests: Fix UnregisterClass call in test_resize_target_wndproc.
dxgi/tests: Run test_resize_target_wndproc on d3d12 too.
dxgi/tests: Run test_swapchain_window_messages on d3d12.
dxgi: Unlock the wined3d mutex after storing the new target.
dxgi: Catch nested SetFullscreenState invocations.
dxgi/tests: Test nested fullscreen application from different thread.
dxgi/tests: Test nested SetFullscreenState from the same thread.
Sven Baars (12):
kernelbase: Pass the root key to open_key().
kernelbase: Pass the key name to open_key().
kernelbase: Pass the root key to create_key().
kernelbase: Pass the key name to create_key().
kernelbase: Restructure the open_key() loop.
kernelbase: Always try to open the Wow6432Node in open_key().
kernelbase: Factor opening a subkey out of open_key().
kernelbase: Move create_key() below open_key().
kernelbase: Add a fast path to create_key().
kernelbase: Restructure the create_key() loop.
advapi32/tests: Test deleting 32-bit registry keys.
kernelbase: Also call NtOpenKeyEx() on empty key names.
Zebediah Figura (24):
ddraw: Move pitch validation to ddraw_surface_create_wined3d_texture().
ddraw: Separate a need_draw_texture() helper.
ddraw: Restructure ddraw_surface_create_wined3d_texture() to avoid gotos.
ddraw: Move the wined3d_texture_update_desc() call into ddraw_surface_create_wined3d_texture().
ddraw: Move wined3d_resource_desc translation to ddraw_surface_create_wined3d_texture().
win32u: Make NtUserSetWindowPixelFormat() into a proper export.
win32u: Introduce a win32u_get_window_pixel_format() helper.
winex11: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat().
wineandroid: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat().
winemac: Retrieve the pixel format from win32u for normal windows in wglGetPixelFormat().
wined3d: Do not set the pixel format if wglGetPixelFormat() returns zero and we already set the internal pixel format.
win32u: Allow separately storing the internal pixel format set by WGL_WINE_pixel_format_passthrough.
winex11: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough.
winemac: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough.
wineandroid: Separately store the internal pixel format set by WGL_WINE_pixel_format_passthrough.
dxgi: Call wined3d_swapchain_state_set_fullscreen in d3d12_swapchain_init.
ddraw: Rename "is_complex_root" to "is_root".
ddraw: Remove some outdated comments from ddraw_surface7_SetSurfaceDesc().
ddraw: Move sysmem_fallback setting to ddraw_surface_create_wined3d_texture().
ddraw: Factor out more common initialization into ddraw_surface_create_wined3d_texture().
ddraw: Move sub-resource surface initialization to ddraw_surface_create_wined3d_texture().
ddraw: Move the rest of the surface desc population to ddraw_surface_create() from device_parent_texture_sub_resource_created().
ddraw: Do not return a wined3d_texture from ddraw_surface_create_wined3d_texture().
ddraw: Rename ddraw_surface_create_wined3d_texture() to ddraw_texture_init().
Zhiyi Zhang (4):
gitlab: Make FVWM respect position hints.
user32/tests: Do not modify cursor position when simulating clicks.
light.msstyles: Add nonclient metrics.
user32/tests: Test winstation and desktop access rights.
The Wine development release 8.3 is now available.
What's new in this release:
- Support for the Low Fragmentation Heap.
- Smard card support using PCSC-Lite.
- Bundled Zydis library for more correct disassembly.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.3.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.3 (total 29):
- #24256 3D Sexvilla 2: extremely long loading times
- #34011 Path of Exile stutters constantly
- #37146 Untis 2015 (.NET 4.0 app) crashes on startup with Wine-Mono
- #37495 Multiple PC/SC applications need winscard.SCardEstablishContext implementation (AusweisApp2 1.x german identity card app, SmartCard test apps, Seneka EBDYS client, Aruba Key)
- #39113 Multiple PC/SC applications need winscard.SCardListReaders implementation (Aruba key, SmartCard test apps)
- #43224 Freelist scan can result in O(n) time when allocating
- #45756 Button not clickable when dpi setting changed in Office 2007 Installer
- #49113 Wine heap performs badly when multiple threads are concurrently allocating or freeing memory
- #51259 6.0.1 Introduces error causing Wavelab to close when loading presets
- #52506 Setup of game "What's the Secret?" fails to create icon
- #53094 ntdll:rtlstr test crashes on win32 arch with hi-IN locale
- #53176 KeePassXC needs Windows.Security.Credentials.KeyCredentialManager (UWP)
- #53504 Sacred:unhandled exception in Wine 7.14
- #53728 Escape from Tarkov needs DisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME) implementation
- #54112 rouvy : fails to update with server, unimplemented function bthprops.cpl.BluetoothRegisterForAuthenticationEx
- #54149 shlwapi:ordinal - test_SHFormatDateTimeA() fails on the mixed locales configuration
- #54338 Swift crashes due to unimplemented api-ms-win-core-realtime-l1-1-1.dll.QueryUnbiasedInterruptTimePrecise function
- #54432 Missing ntdll.RtlAddressInSectionTable() implementation causes all GraalVM Native Image exes to crash on load
- #54475 Hardwar UIM6.0 crashes in 8.0, doesn't in 6.0.3
- #54534 dbghelp:dbghelp - The test_loaded_modules() enumeration fails on Windows 10 1607
- #54559 riched20:editor - test_EM_GETSELTEXT() fails in the Hindi locale on Windows
- #54562 The 64-bit oleaut32:usrmarshal crashes in Wine
- #54564 Rich Edit crashes when Ctrl+Right is pressed at past the final paragraph
- #54565 riched20:richole - subtest_InsertObject() fails in the Hindi locale on Windows
- #54570 Saints Row: The Third heavy rain causes heavy fps reductions
- #54581 SpeedCommander 20 installer crashes on unimplemented function SHELL32.dll.Shell_GetCachedImageIndexW
- #54582 kernel32:locale - test_NLSVersion() fails on Windows 10 22H2
- #54583 kernel32:locale - The non-breaking space GetNumberFormatEx() test fails on Windows 11
- #54584 kernel32:locale - The NtGetNlsSectionPtr() test fails on Windows 11
----------------------------------------------------------------
Changes since 8.2:
Adrian Thiele (2):
mfreadwrite/tests: Check refcount of device manager after release.
mfreadwrite/reader: Release device manager in source_reader_release.
Akihiro Sagawa (1):
msado15: Free recordset filter on close.
Alex Henrie (7):
include: Annotate CommandLineToArgvW with __WINE_DEALLOC.
shell32: Add support for Program Manager icons with arguments.
dsound: Use CRT functions for memory allocation.
winex11: Use RTL_CONSTANT_STRING instead of reimplementing it.
winex11: Avoid calling RtlInitUnicodeString on a static constant.
server: Annotate allocation functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
ntoskrnl: Add ExGetPreviousMode and test.
Alexandre Julliard (33):
conhost: Use standard va_list instead of __ms_va_list.
notepad: Use standard va_list instead of __ms_va_list.
oleview: Use standard va_list instead of __ms_va_list.
start: Use standard va_list instead of __ms_va_list.
taskmgr: Use standard va_list instead of __ms_va_list.
winefile: Use standard va_list instead of __ms_va_list.
include: Move __builtin_ms_va_list definitions to vadefs.h.
ntdll: Pass the NtCreateNamedPipeFile disposition to the server.
ntdll: Return the correct IOSB information when creating a named pipe.
kernelbase: Set ERROR_ALREADY_EXISTS for existing pipe in CreateNamedPipeW().
makedep: Don't add dependencies for tests of disabled dlls.
kernel32/tests: Add a missing dependency comment.
ntdll: Stop loading libwine.so.
libwine: Remove obsolete library.
ntdll: Build an initial WoW context on ARM64.
ntdll: Implement getting/setting the WoW context on ARM64.
ntdll: Mark the Wow64 TLS slots as reserved.
makedep: Remove support for building shared libraries.
winegcc: Stop using the deprecated prelink tool.
winebuild: Only allow the stdcall calling convention for system calls.
libs: Import the Zydis library version 4.0.0.
winedbg: Use the Zydis library for disassembly.
ntdll: Update the IOSB status in NtCreateNamedPipeFile().
ntdll: Skip dependency only for the actually loaded ntdll and kernel32, instead of matching by name.
ntdll: Also check for data execution on x86-64.
wow64: Call the 32-bit KiRaiseUserExceptionDispatcher for invalid handle exceptions.
makedep: Store the list of .ok files per-architecture.
ntdll: Implement RtlAddProcessTrustLabelAce().
server: Fix another buffer overflow compiler warning.
wine.inf: Remove redundant platform-specific sections.
wine.inf: Set Program Files variables separately for all WoW platforms.
wine.inf: Add keys for the platform-specific Wow64 backend.
wow64: Get the backend dll name from the registry.
Alexandros Frantzis (2):
gdi32: Track ticks since draw start per window_surface.
win32u: Reset draw_start_ticks for new window_surface.
Alistair Leslie-Hughes (4):
msado15: Semi-stub _Recordset get/put Filter.
msado15: Field ActualSize return a default size.
msado15: Support "Optimize" in Properties get_Item.
include: Add DBCOLUMNFLAGS_ enums values.
Connor McAdams (14):
uiautomationcore: Register all UI Automation typelibs.
uiautomationcore: Add stub IUIAutomation implementation.
uiautomationcore: Implement IUIAutomation::ElementFromHandle.
uiautomationcore: Implement IUIAutomationElement::GetCurrentPropertyValueEx.
uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_ControlType GUIDs.
uiautomationcore: Implement IUIAutomationElement::get_CurrentControlType.
uiautomationcore: Implement IUIAutomationElement::get_CurrentName.
uiautomationcore: Implement IUIAutomationElement::get_CurrentBoundingRectangle.
uiautomationcore/tests: Fix UiaHUiaNodeFromVariant tests on Windows 11.
uiautomationcore/tests: Fix UiaNodeFromHandle tests on Windows 11.
uiautomationcore: Implement IUIAutomation::IntSafeArrayToNativeArray.
uiautomationcore: Implement IUIAutomation::IntNativeArrayToSafeArray.
uiautomationcore: Implement IUIAutomation reserved value retrieval methods.
uiautomationcore: Implement IUIAutomation::CheckNotSupported.
David Gow (1):
dxgi: Don't warn on DXGI_ALPHA_MODE_UNSPECIFIED with wined3d.
Eric Pouech (11):
dbghelp/tests: Test that overlapped module is really unloaded.
include: Ensure that SymRefreshModuleList() is properly defined.
kernel32/tests: Don't let debugger tests fail on a 64bit only config.
dbghelp/tests: Fix failure on Win10 1607.
kernel32/tests: Fix debugger.c:test_kill_on_exit().
dbghelp/tests: Add wrapper for EnumerateLoadedModulesW64().
dbghelp/tests: Adapt test_modules_overlap() for Windows 11.
dbghelp/tests: Introduce ends_withW helper.
dbghelp/tests: Only retrieve the system directories once.
dbghelp/tests: Introduce get_machine_bitness() helper.
dbghelp/tests: Fix tests for process count in wow64.
Etaash Mathamsetty (1):
ntoskrnl.exe/tests: Add Driver Object Extension Tests.
Florian Will (2):
gdiplus/tests: Test for GdipPrivateAddFontFile() sharing violation.
gdiplus: Use FILE_SHARE_READ in GdipPrivateAddFontFile().
François Gouget (20):
jsproxy/tests: InternetInitializeAutoProxyDll() is no longer supported on Windows 11.
jsproxy/tests: Add more tests for InternetGetProxyInfo()'s length parameter.
gdi32/tests: Mark a couple other D3DKMTCheckOcclusion() tests as flaky.
vbscript/tests: Fix the testChrError() tests.
winmm/tests: Ignore spurious WM_DWMCOLORIZATIONCOLORCHANGED messages.
mscoree/tests: Trace the error when a Windows API fails.
kernel32/tests: Fix the NLSVersion test on Windows 10 22H2.
kernel32/tests: Fix the NtGetNlsSectionPtr() test on Windows 11.
kernel32/tests: Fix the French GetNumberFormatEx() test on Windows 11.
gdi32/tests: Simplify setting up the non uniform gamma ramps.
gdi32/tests: Make the gamma ramp failures more unique.
gdi32/tests: Fix the SetDeviceGammaRamp() tests on Windows 10 1909.
mscoree/tests: Trace the GetExitCodeProcess() error before it gets lost.
ntdll/tests: Minimize the stack size for test_tp_multi_wait().
riched32/tests: EM_GETSELTEXT's wparam is not used and should be 0.
riched20/tests: EM_GETSELTEXT's wparam is not used and should be 0.
riched20/tests: Fix the EM_GETSELTEXT tests in Hindi on Windows.
mmdevapi/tests: WoW64 processes can read the properties from the registry.
shlwapi/tests: Fix the date formatting tests when the locale does not match the code page.
shlwapi/tests: Make sure to test the formatting of troublesome dates.
Gabriel Ivăncescu (8):
mshtml: Use proper types for readystate_locked and readystate_pending.
mshtml: Free the task after the destructor.
mshtml: Pass optional args to XMLHttpRequest.open() correctly.
mshtml: Register all event handlers when creating the XMLHttpRequest.
mshtml: Track readyState in XHRs and report it manually.
mshtml: Add separate task list for tasks dispatching events.
mshtml: Implement synchronous XMLHttpRequest.
mshtml: Send all readystatechange events for synchronous XHRs in IE9 and below.
Gijs Vermeulen (1):
shell32: Add Shell_GetCachedImageIndexA/W exports.
Hans Leidekker (19):
include: Add missing smart card defines.
winscard: Implement SCardEstablish/ReleaseContext() on top of libpcsclite.
winscard: Implement SCardIsValidContext().
winscard: Implement SCardGetStatusChangeA/W().
winscard: Implement SCardCancel().
winscard: Implement SCardListReadersA/W().
winscard: Implement SCardListReaderGroupsA/W().
winscard: Implement SCardConnectA/W().
winscard: Implement SCardStatusA/W().
winscard: Implement SCardRe/Disconnect().
winscard: Implement SCardBegin/EndTransaction().
winscard: Implement SCardTransmit().
winscard: Implement SCardControl().
winscard: Implement SCardGet/SetAttrib().
winscard: Implement SCardFreeMemory().
winscard: Use string conversion helpers in SCardAddReaderToGroupA().
winscard: Improve traces.
winscard: Add wow64 thunks.
winscard/tests: Initial tests.
Henry Goffin (1):
win32u: Invalidate all cached keys after input.
Huw D. M. Davies (2):
winemac: Fix return type of ProcessEvents().
maintainers: Add myself to the Audio I/O section.
Illia Polishchuk (2):
d3d9/tests: Add test for non-indexed instancing drawing.
d3d9: Always draw only a single instance for non-indexed draws.
Ivan Chikish (1):
gdi32/tests: Check last error on ' '.
Jinoh Kang (2):
riched20/tests: Test for word movement across paragraph boundary.
riched20: Don't set para unless committing cursor move in ME_MoveCursorWords.
Marcus Meissner (1):
user32/tests: Fix size passed to ToUnicode.
Max Figura (15):
wined3d: Move the WINED3D_RS_ROP2 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_PLANEMASK stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_LASTPIXEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ZVISIBLE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_SUBPIXEL stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_SUBPIXELX stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_STIPPLEDALPHA stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_STIPPLEENABLE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_MIPMAPLODBIAS stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_ANISOTROPY stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_FLUSHBATCH stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_TRANSLUCENTSORTINDEPENDENT stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP15 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP14 stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAP13 stub to wined3d_device_apply_stateblock.
Mohamad Al-Jaf (15):
bthprops.cpl: Move implementations to bluetoothapis and import them.
include: Add BluetoothRegisterForAuthenticationEx prototype.
bluetoothapis: Add BluetoothRegisterForAuthenticationEx stub.
bluetoothapis: Add BluetoothUnregisterAuthentication stub.
include: Fix BluetoothRegisterForAuthentication prototype.
include: Add windows.security.credentials.idl file.
cryptowinrt/tests: Add ICryptographicBufferStatics interface test.
cryptowinrt: Add private.h file.
cryptowinrt: Stub IKeyCredentialManagerStatics interface.
cryptowinrt: Import IAsyncOperation from windows.gaming.input.
cryptowinrt: Implement IKeyCredentialManagerStatics::IsSupportedAsync().
cryptowinrt/tests: Add IKeyCredentialManagerStatics::IsSupportedAsync() tests.
widl: Use "i4" / "u4" for LONG parameterized type signature.
widl: Use "i2" / "u2" for INT16 parameterized type signature.
include: Add more Windows.Foundation.Numerics structs.
Paul Gofman (3):
server: Retry socket connection on ECONNABORTED error.
server: Set TCP SYN count on sockets.
win32u: Expose and use ProcessEvents from drivers instead of MsgWaitForMultipleObjectsEx.
Philip Gruebele (1):
dwrite: Pass correct font key when adding glyph to cache.
Piotr Caban (4):
winspool: Fix FILE: output handling in StartDocDlgW.
wineps: Remove no longer used output parameter handling from PSDRV_CreateDC.
localspl: Ignore an empty output string.
windowscodecs: Don't reorder gif extension blocks in GetReaderByIndex.
Rémi Bernon (23):
ntdll: Fix HeapWalk with empty uncommitted consecutive subheaps.
ntdll: Implement HeapCompatibilityInformation.
ntdll: Increase heap block tail_size capacity to 16 bits.
ntdll: Count allocations and automatically enable LFH.
ntdll: Split heap_resize_block into heap_resize_(block|large) helpers.
ntdll: Implement Low Fragmentation Heap frontend.
ntdll: Use atomics and lock-free list for bin groups.
ntdll: Add a heap thread affinity and per-affinity bin group cache.
ntdll: Avoid shrinking large heap block to small block.
msvcr80/tests: Test _dupenv_s outcome with missing env var.
msvcr80/tests: Test _wdupenv_s outcome with missing env var.
msvcrt: Fix _dupenv_s behavior with missing env var.
msvcrt: Fix _wdupenv_s behavior with missing env var.
include: Allow overriding LANGID in module VERSIONINFO.
oleaut32/tests: Test VARIANT_UserUnmarshal allocation sizes.
oleaut32: Allocate a full pointer when unmarshalling byref arrays.
winex11: Assume that Xkb extension is available.
widl: Use "g16" for GUID parameterized type signature.
user32/tests: Test VK_MENU effect on ToUnicode.
win32u: Map VK_MENU / KBDALT in kbdus_tables pCharModifiers.
win32u: Return the current display mode depth with nulldrv.
explorer: Use GUID_NULL display device GUID for nulldrv.
win32u: Check GUID_NULL display device if desktop atom is missing.
Serkan Önder (1):
po: Update Turkish translation.
Sven Baars (3):
bcrypt: Factor out wow64 padding conversion.
bcrypt: Add wow64 support for PSS padding.
bcrypt: Remove unused fields from struct key_asymmetric32.
Tingzhong Luo (2):
evr: Fix crash when clearing input type for the mixer.
winspool: Check dmSize in IsValidDevmodeW().
Torge Matthies (4):
kernelbase: Break out of inner for-loop early in find_substring.
kernelbase: Reuse the previous iteration's pos and sortkey state if possible in find_substring.
kernelbase: Fix WaitForThreadpoolIoCallbacks spec entry.
kernel32: Fix WaitForThreadpoolIoCallbacks spec entry.
Zebediah Figura (16):
user32: Map DEV_BROADCAST_DEVICEINTERFACE to ANSI for registered device notifications.
ntoskrnl/tests: Expand tests for device and interface naming.
ntoskrnl: Preserve the device instance ID case in IoRegisterDeviceInterface().
Revert "ntoskrnl.exe: Enforce path case in WM_DEVICECHANGE notifications.".
wined3d: Require fragment shader image stores and atomics to create a feature level 11.0 device.
wined3d: Require gather offset support to create a feature level 11.0 device.
wined3d: Require shader clip distance support to create a feature level 10.0 device.
wined3d: Require shader cull distance support to create a feature level 10.0 device.
wined3d: Disable 64-bit integer support.
ddraw/tests: Test that surface properties are retained across SetSurfaceDesc() calls.
ddraw/tests: Add more tests for mipmap surface creation flags.
ddraw: Forbid DDSCAPS_COMPLEX without any caps that merit a complex surface.
ddraw: Forbid DDSD_MIPMAPCOUNT without DDSCAPS_COMPLEX.
ddraw: Remove the redundant "desc" parameter to ddraw_surface_create_wined3d_texture().
d3d8/tests: Do not check for WM_MOVE in sc_maximize_messages.
d3d9/tests: Restore the focus window before sending SC_MAXIMIZE to it.
Zhiyi Zhang (4):
include: Add DirectComposition error codes.
include: Add dcomptypes.idl.
include: Add dcompanimation.idl.
include: Add dcomp.idl.
Ziqing Hui (4):
mf/tests: Add missing \n.
mf/tests: Correctly initialize DMO media type.
mf/tests: Test ProcessInput and ProcessOutput for WMV decoder DMO.
mf/tests: Test output data for WMV decoder DMO.
The Wine development release 8.2 is now available.
What's new in this release:
- Better debug information in Wow64 mode.
- Wow64 thunks in the WPCAP library.
- Indeo IV50 codec support.
- Monitor names set from EDID data.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.2 (total 22):
- #48528 The Void crashes with builtin d3dx9_36 (needs D3DXFillCubeTextureTX() to return S_OK)
- #51345 Regression: Visual Studio 2005 "package load failure"
- #51545 STDOUT lost from a forked program on Cygwin/MSYS2
- #53747 SubLab VST3 plugin fails to register (needs Windows.System.Profile.SystemManufacturers.SmbiosInformation)
- #53926 New typelib marshaller depends on IID_IDispatch support from target interface
- #54103 opengl32:opengl - test_copy_context() crashes on w11pro64_nv
- #54150 d3dcompiler_43:hlsl_d3d11 & d3dcompiler_47:hlsl_d3d11 - test_trig() fails on w11pro64_nv
- #54234 vbscript fails to compile when colon follows Else in If...Else
- #54318 Rich Edit inserts newly composed text at wrong position when system IME composition ends while a selection is active
- #54371 loader won't launch from PATH unless named "wine"
- #54384 GOG Heroes of Might and Magic IV crashes on launch
- #54431 Switching active window (alt+tab or otherwise) away from Final Fantasy XI causes keyboard keys to remain pressed
- #54456 vbscript memory leak in For Each with SafeArray as group
- #54457 vbscript memory leaks in interp_redim_preserve
- #54458 vbscript memory leaks in Global_Split
- #54463 Wrong version value is returned from win32_operatingsystem on win10 (regression)
- #54465 dbghelp:dbghelp - The 64-bit test_modules() fails on Windows 7
- #54477 user32:msg - test_message_conversion()'s broadcast test fails on Windows 7 and 10
- #54486 getenv_s returns the wrong value
- #54489 VarAbs() does not handle BSTR arguments correctly
- #54490 vbscript fails to compile when statement follows ElseIf
- #54493 vbscript fails to compile concat when used without space and expression begins with H
----------------------------------------------------------------
Changes since 8.1:
Alex Henrie (23):
msi: Handle memory allocation failure in get_link_file (cppcheck).
setupapi: Fix memory leak on realloc failure in RetreiveFileSecurity.
combase: Avoid calling RtlInitUnicodeString on a static constant.
nsiproxy: Avoid calling RtlInitUnicodeString on a static constant.
winhlp32: Fix memory leak on realloc failure in HLPFILE_RtfAddBitmap (cppcheck).
ole32: Avoid calling RtlInitUnicodeString on a static constant.
httpapi: Avoid calling RtlInitUnicodeString on a static constant.
msi: Annotate memory allocation functions with __WINE_(DEALLOC|MALLOC).
http: Avoid calling RtlInitUnicodeString on a constant.
services: Avoid calling RtlInitUnicodeString on a static constant.
winebus: Avoid calling RtlInitUnicodeString on a static constant.
mountmgr: Avoid calling RtlInitUnicodeString on a static constant.
win32u: Avoid calling RtlInitUnicodeString on a static constant.
wineboot: Avoid calling RtlInitUnicodeString on a static constant.
ws2_32: Avoid calling RtlInitUnicodeString on a static constant.
ntdll: Use RTL_CONSTANT_STRING instead of reimplementing it.
ntdll: Avoid calling RtlInit(Ansi|Unicode)String on a static constant.
winspool: Remove unnecessary call to RtlInitUnicodeString from add_printer_driver.
krnl386: Avoid calling RtlInitUnicodeString on a static constant.
wow64: Avoid calling RtlInitUnicodeString on a static constant.
kernelbase: Avoid calling RtlInitUnicodeString on a static constant.
ntoskrnl: Avoid calling RtlInitUnicodeString on a static constant.
winspool: Initialize nt_ppd in add_printer_driver.
Alexandre Julliard (25):
winedump: Print more information from the PE Load Config directory.
winedump: Initial support for dumping PE dynamic relocations.
gitlab: Force updating configure.
wow64: Move some exception and context functions to syscall.c.
wow64: Preserve the CPURESERVED flags across user callbacks.
wow64: Call the CPU backend to get/set the current thread context.
wow64: Call the thread init entry point in the CPU backend.
ntdll: Use the standard unixlib macro for Unix calls.
ntdll: Store the unixlib handle at ntdll load time.
ntdll: Replace the __wine_dbg_write() syscall by a Unix call.
ntdll: Replace the __wine_unix_spawnvp() syscall by a Unix call.
ntdll: Replace the wine_server_call() syscall by a Unix call.
ntdll: Replace the wine_server_fd_to_handle() syscall by a Unix call.
ntdll: Replace the wine_server_handle_to_fd() syscall by a Unix call.
winedump: Dump the alternate version of some data directories for hybrid PE dlls.
winedump: Dump the metadata of hybrid PE dlls.
browseui: Use standard va_list instead of __ms_va_list.
comdlg32: Use standard va_list instead of __ms_va_list.
cryptui: Use standard va_list instead of __ms_va_list.
dxdiagn: Use standard va_list instead of __ms_va_list.
oledlg: Use standard va_list instead of __ms_va_list.
setupapi: Use standard va_list instead of __ms_va_list.
wineusb.sys: Use standard va_list instead of __ms_va_list.
ntdll: Consistently initialize x86-64 signal handlers.
ntdll: Avoid a misleading indentation warning.
Alistair Leslie-Hughes (5):
odbccp32: Append DLL path when loading driver.
include: Add missing SQL prototype.
msdasql: Use SQLDriverConnectW to connect to the ODBC driver.
msdasql: Always return affected rows if required.
msdasql: Use SQLColAttributesW to fetch statement attributes.
André Zwing (1):
maintainers: Remove myself as maintainer of wpcap.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (9):
kernelbase: Implement QueryInterruptTime.
kernelbase: Partially implement QueryInterruptTimePrecise.
loader: In macOS preloader, fix an environment variable sometimes being lost.
ntdll/tests: Test NtMapViewOfSection with a 64-bit DLL and zero_bits > 31.
ntdll: Respect zero_bits/limit when mapping a PE file.
include: Add __ASM_LOCAL_LABEL macro.
ntdll: Use __ASM_LOCAL_LABEL in syscall dispatchers.
server: On macOS, fake debug registers when running under Rosetta.
ntdll: Add a WARN when setting debug registers fails under Rosetta.
Connor McAdams (13):
include: Fully define uiautomationclient interfaces.
uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_Event GUIDs.
include: Define UI Automation pattern provider interfaces.
uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_Pattern GUIDs.
uiautomationcore: Add UiaRaiseStructureChangedEvent stub.
uiautomationcore: Add UiaRaiseAsyncContentLoadedEvent stub.
uiautomationcore: Add UiaRaiseTextEditTextChangedEvent stub.
uiautomationcore: Add UiaRaiseNotificationEvent stub.
uiautomationcore: Add UiaRaiseChangesEvent stub.
uiautomationcore: Add support for UIA_BoundingRectanglePropertyId.
uiautomationcore: Add support for UIA_ValueIsReadOnlyPropertyId.
uiautomationcore: Implement get_BoundingRectangle for MSAA providers.
uiautomationcore: Add support for UIA_NamePropertyId to MSAA providers.
Dmitry Timoshkov (2):
rpcrt4: Mark the buffer as invalid in NdrProxyFreeBuffer().
rpcrt4: Avoid casting an object to IUnknown.
Eric Pouech (40):
conhost: Only update font when running with a window.
dbghelp: Stop unwinding on potential 64bit frame for i386 cpu.
dbghelp: Add tests about modules loading.
dbghelp: Allow loading modules for different machines.
dbghelp: Filter on machine when searching for Wine system PE modules.
winedbg: Handle multi-machine process in command 'info share'.
winedbg: Don't expose module whose machine isn't the process' one to gdb.
dbghelp: Identify a 32bit multi-arch wow64 debuggee as a live target.
winedump: Introduce ability to pass several section names to -j option.
winedump: Refactor PDB DBI per-module dump in a dedicated function.
winedump: Make use of -j option in PDB dumping.
winedump: Dump some more MSF related information.
winedump: Load once and store global PDB string table.
winedump: Enhance dumping of string tables.
winedump: Dump some more bits out of public stream.
dbghelp: Fix failing test on Windows 7.
include: Add manifest constants for EnumProcessModulesEx.
psapi: Let modules test pass on non wow64 compatible platforms.
psapi: Add tests for EnumProcessModulesEx().
kernelbase: Implement EnumProcessModulesEx.
kernelbase: Let GetModuleBaseName succeed on 64bit modules in wow64.
kernelbase: Let GetModuleFileNameEx succeed on 64bit modules in wow64.
kernelbase: Let GetModuleInformation succeed on 64bit modules in wow64.
riched20/tests: Add tests when pasting in plain text mode.
riched20: Support SFF_SELECTION when streaming in plain text.
riched20/tests: Ensure clipboard has been pasted before testing the result.
riched20/tests: Add retry loop around OpenClipboard() to avoid access denial.
psapi/tests: Test directory of enumerated loaded modules.
dbgeng: Use EnumProcessModulesEx().
dbghelp: Use EnumProcessModulesEx().
psapi: Add more tests for EnumProcessModules().
kernelbase: Re-implement EnumProcessModules on top of EnumProcessModulesEx.
dbghelp/tests: Test return value of SymLoadModule.
dbghelp/tests: Add tests for 'module' name in EnumLoadedModules() callback.
dbghelp: Let EnumerateLoadedModules() expose image names.
dbghelp/tests: Add test for loaded modules enumeration.
dbghelp/tests: Add some more tests about module handling.
dbghelp: Add new module at end of the process' modules list.
dbghelp: Unload overlapping modules in SymLoadModule*().
ntdll: Implement RtlAddressInSectionTable.
François Gouget (22):
winetest: Don't use plain strings as format specifiers.
winetest: Avoid an infinite loop in vstrfmtmake() when the format is NULL.
d3dcompiler/tests: Allow more imprecision in test_trig() for NVIDIA.
crypt32/tests: Fix a typo in a comment.
dbghelp: Fix a typo in a comment.
kernel32/tests: Fix a typo in a comment.
spoolss/tests: Fix a typo in a comment.
uiautomationcore: Fix a typo in a FIXME() message.
winegstreamer: Fix a typo in a comment.
winevulkan: Fix a typo in a comment.
winex11.drv: Fix a typo in a comment.
winevulkan: Add a trailing linefeed to some FIXME() thunk messages.
dpnet/tests: Fix the unexpected async handle traces.
atl100/tests: Trace GetLastError() when DeleteFile() fails.
riched20/tests: Check clipboard content after destroying the editor window.
riched20/tests: Add context to the EM_FORMATRANGE tests.
winetest: Trace the keyboard layout.
user32/tests: Fix the ToAscii(A) test on Hindi + UTF-8.
user32/tests: Show ToAscii(A) returns 'a' for multiple keyboard layouts.
ntdll/tests: Test the thread pool stack APIs.
ntdll: Use the thread pool stack information.
ws2_32: Warn that a libnss plugin may be missing if getaddrinfo() returns EBUSY.
Gabriel Ivăncescu (1):
kernelbase: Fix grouping repeat for number formatting.
Giovanni Mascellani (1):
wbemprox: Do not call Release() inside wbemprox_cf_CreateInstance().
Hans Leidekker (14):
ntdll: Initialize PEB version numbers with Windows 10 values.
ntdll: Look at CurrentMajor/MinorVersionNumber registry values before CurrentVersion.
configure: Check for pcap_init() instead of pcap_create().
wpcap: Sync spec file with latest version of libpcap.
wpcap: Make Unix call parameters wow64 compatible.
wpcap: Fix an off-by-one error in convert_length_to_ipv6_mask().
wpcap: Implement pcap_bufsize().
wpcap: Implement pcap_dump_close().
wpcap: Implement pcap_init().
wpcap: Reimplement pcap_loop() on top of pcap_next_ex().
wpcap: Enable UTF-8 encoding in libpcap.
wpcap: Add wow64 thunks.
wpcap: Try to enable 32-bit mmap() support in libpcap.
wpcap/tests: Initial tests.
Huw D. M. Davies (1):
rpcrt4/tests: Remove a failing test.
Ivan Chikish (3):
winegstreamer: Add missing *out=NULL in unknown_inner_QueryInterface.
wmvcore: Add missing *out=NULL in WMReader_QueryInterface.
wmvcore/tests: Check out value for NULL in check_interface.
Jacek Caban (2):
wininet/tests: Add more InternetSetFilePointer tests.
oleaut32: Remove overflow check for VT_R4 and VT_R8 in VarAbs.
Jason Kuo (2):
wininet: Partially implement InternetSetFilePointer.
wininet/tests: Add InternetSetFilePointer tests.
Jason Millard (8):
vbscript: Fix memory leak in Split().
vbscript: Fix memory leak in Split().
vbscript: Add missing stubs for GetLocale and SetLocale builtins.
vbscript: Fix compile when colon follows Else on new line.
vbscript: Fix memory leak in owned safearray iterator.
oleaut32: Fix VarAbs function for BSTR with positive values.
vbscript: Fix compile when statement after ElseIf or after separator.
vbscript: Fix compile issue with non hex after concat without space.
Jinoh Kang (2):
ntdll/tests: Update test_RtlUniform to match Windows Vista or later.
ntdll: Fix integer overflow in RtlUniform.
Max Figura (5):
wined3d: Move the WINED3D_RS_ANTIALIAS stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_TEXTUREPERSPECTIVE stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAPU stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_WRAPV stub to wined3d_device_apply_stateblock.
wined3d: Move the WINED3D_RS_MONOENABLE stub to wined3d_device_apply_stateblock.
Michael Stefaniuc (3):
mshtml/tests: Actually test a return value.
d3d11/tests: Actually test the return of CreateRasterizerState().
ntdll/tests: Remove some Vista broken broken(<constant>) calls.
Mohamad Al-Jaf (9):
include: Add realtimeapiset.h file.
kernelbase: Partially implement QueryUnbiasedInterruptTimePrecise.
include: Add DirectX 12 Agility SDK definitions.
d3d12core: Add stub DLL.
include: Add windows.ui.viewmanagement.idl file.
windows.ui: Add stub DLL.
windows.ui: Add IUISettings3 stub interface.
windows.ui/tests: Add IUISettings3::GetColorValue() tests.
windows.ui: Implement IUISettings3::GetColorValue().
Nikolay Sivov (1):
apisetschema: Add ext-ms-win-networking-wlanapi-l1-1-0.
Paul Gofman (17):
winegstreamer: Implement _GetInputStatus() for h264 decoder transform.
winegstreamer: Implement _GetInputStatus() for aac decoder transform.
winegstreamer: Set MF_SA_D3D11_AWARE attribute for h264 transform.
mf/session: Avoid dropping samples delivered from transform in session_request_sample_from_node().
bcrypt/tests: Add more tests for AES initialization vectors.
bcrypt: Update init vector after encrypt or decrypt.
bcrypt: Only reset init vector if the new vector is non-NULL.
imm32: Disable cross thread access for ImmSetCompositionString().
win32u: Remove monitor name from gdi driver monitor info.
win32u: Use monitor ID from EDID when available.
win32u: Store EDID info in monitors cache.
win32u: Return edidManufactureId and edidProductCodeId from NtUserDisplayConfigGetDeviceInfo().
win32u: Get friendly monitor name from EDID in NtUserDisplayConfigGetDeviceInfo().
winegstreamer: Route MFAudioFormat_RAW_AAC to mf_media_type_to_wg_format_audio_mpeg4().
winegstreamer: Fix getting codec data for raw aac.
winegstreamer: Use default 0 for _AAC_PAYLOAD_TYPE if not set.
mf/tests: Add basic tests for raw aac decode.
Piotr Caban (4):
msvcrt: Don't crash on NULL argument in getenv.
msvcrt: Don't crash on NULL argument in _wgetenv.
msvcrt: Improve error handling in getenv_s.
msvcrt: Improve error handling in _wgetenv_s.
Rémi Bernon (27):
include: Add new kbd.h header with KBDTABLES definition.
win32u: Use KBDTABLES for default NtUserGetKeyNameText.
include: Add VSC_VK constants definitions to kbd.h.
win32u: Use KBDTABLES for NtUserMapVirtualKeyEx VSC / VK mapping.
include: Add VK_TO_WCHARS constants definitions to kbd.h.
win32u: Use KBDTABLES for NtUserMapVirtualKeyEx MAP_VK_TO_CHAR.
win32u: Use KBDTABLES for NtUserVkKeyScanEx.
win32u: Use KBDTABLES for NtUserToUnicodeEx.
joy.cpl: Process messages while waiting for the input threads.
joy.cpl: Refresh the DInput button display on device change.
joy.cpl: Improve the DInput button display with many buttons.
joy.cpl: Use the DIJOYSTATE2 user data format to support more buttons.
winebuild: Use .incbin instead of printf for resource data.
dinput: Split dinput_unacquire_window_devices helper.
dinput: Name input thread message and wparam values.
dinput: Use a WH_CBT hook instead of WH_CALLWNDPROC.
dinput: Introduce keyboard_handle_key_event helper.
dinput: Avoid entering the hook CS in input_thread_ll_hook_proc.
dinput: Merge mouse and rawmouse acquired lists.
dinput: Merge all acquired device lists together.
dinput: Use rawinput interface for keyboard device.
include: Move ddk/imm.h to immdev.h.
include: Fix ImeInquire declaration.
include: Fix ImeToAsciiEx declaration.
include: Add Imm(Get|Set)HotKey declarations.
dinput: Forbid acquiring for other process windows.
dinput: Hook window threads instead of the entire prefix.
Shaun Ren (10):
ir50_32: Add stub dll.
ir50_32: Implement IV50_GetInfo.
ir50_32: Implement IV50_DecompressQuery.
ir50_32: Implement IV50_DecompressGetFormat.
winegstreamer: Add video_decoder stub.
ir50_32: Implement open and close.
winegstreamer: Add WG_MAJOR_TYPE_VIDEO_INDEO video type.
winegstreamer: Implement basic functionality for video_decoder.
ir50_32: Implement decompression.
wine.inf: Enable ir50_32 video codec.
Zebediah Figura (28):
wined3d: Make depth bounds test a proper state and handle it in wined3d_device_apply_stateblock().
setupapi/tests: Add tests for FLG_ADDREG_APPEND.
setupapi: Fail installation when trying to append to a registry value of the wrong type.
setupapi: Create the registry value if it doesn't exist in append_multi_sz_value().
wine.inf: Always use FLG_ADDREG_APPEND for SvcHost entries.
scardsvr: Add stub service.
oleaut32: Manually construct a stub buffer for dispinterfaces.
ws2_32: Forbid passing zero buffers to WSARecv().
mfreadwrite/tests: Avoid depending on sample size in test_source_reader().
mfreadwrite/tests: Test an audio/video file.
winegstreamer: Check the absolute value of the height in mf_media_type_from_wg_format_video().
winegstreamer: Separate a mf_video_format_to_wg() helper.
user32/tests: Add a register_class() helper.
user32/tests: Use ok() instead of assert().
user32/tests: Avoid leaking a window in test_message_conversion().
user32/tests: Test WM_DEVICECHANGE Unicode conversion.
user32/tests: Remove BroadcastSystemMessage() test for WM_DEVICECHANGE.
user32: Pass BSMINFO in BroadcastSystemMessageExA().
ddraw/tests: Remove unnecessary skips and conditionals from test_pixel_format().
d3d9/tests: Test that presenting does not set the pixel format on a window without one.
d3d8/tests: Test that presenting does not set the pixel format on a window without one.
ddraw/tests: Test that presenting does not set the pixel format on a window without one.
wined3d: Introduce wined3d_texture_get_swapchain().
dxgi: Implement IDXGIResource::GetUsage().
d3d11: Expand tests for IDXGIResource.
wined3d: Destroy objects belonging to wined3d_context_vk.completed_command_buffer_id.
wined3d: Destroy objects belonging to wined3d_device_gl.completed_fence_id.
mfsrcsnk: Add missing DllGetClassObject() export.
Ziqing Hui (6):
mfplat: Fix stride calculation for RGB24.
mfplat: Support YVYU, NV11, MEDIASUBTYPE_RGB* media types.
winegstreamer: Implement GetOutputType for WMV decoder.
winegstreamer: Implement SetOutputType for WMV decoder.
mf/tests: Test GetOutputSizeInfo for WMV decoder.
winegstreamer: Implement GetOutputSizeInfo for WMV decoder.
The Wine development release 8.1 is now available.
What's new in this release:
- Windows version set to Windows 10 for new prefixes.
- Many code cleanups that were deferred during code freeze.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.1 (total 27):
- #43235 Dungeons & Dragons Online crashes on FreeBSD
- #44650 Multiple Blizzard games need dxgi and d3d11 dlls mapped without hole between two LOAD segments (Diablo III v2. 6. 1. 49286+, World of Warcraft, Overwatch)
- #47508 FL Studio: Pressing backspace while editing the name of something closes edit name window prematurely
- #49202 Never exited critical section in freetype.c
- #49443 Anno 1800: Super slow & bad performance
- #49615 Device read errors logged in dmesg when running wine commands with empty CD/DVD drive, since 5.5
- #51040 msi:package fails on Windows 10 if privileges not high enough
- #51313 gdi32:driver sometimes fails with a STATUS_GRAPHICS_PRESENT_OCCLUDED error
- #51784 The dinput8:hid output is too big in Wine
- #52354 winemac.drv not functional on non metal GPUs
- #52462 Wine don't recognize Ipega PG-9025 LT, RT and right analog stick is miss-mapped to RT and LT
- #52878 Free PC Audit 5.1.211.96 fails to show info in 'Brief' tab (needs GetBinaryValue method of the StdRegProv class)
- #52936 winhttp:url assumes 0xfb00 cannot be converted to the ANSI codepage, fails with UTF-8 codepage
- #53142 ieframe:webbrowser - test_ClientSite() has a rare failure on Windows 10 1809+
- #53274 adsldp:ldap - test_ParseDisplayName() sometimes fails to connect to the server
- #53386 cmd.exe: FOR /F USEBACKQ doesn't handle UTF-16 output of commands.
- #53594 GOG Galaxy crashes in GetExtendedTcpTable()
- #53666 Logitech X-56 Stick crashes the joystick subsystem if connected
- #54030 Snagit needs Win32_Volume class ( 'select deviceid from win32_volume where driveletter =C:')
- #54215 ListView doesn't refresh when changing between List and Details styles.
- #54289 RtlCopyContext buffer overflow
- #54328 nsi:nsi - test_tcp_tables() sometimes crashes in Wine
- #54337 AviUtl shows Japanese text as garbage after conversion in ExEdit edit box
- #54353 crypt32:cert - testVerifyRevocation() gets unexpected success in Wine on second run
- #54357 Spurious fixme message when calling ScrollWindow()
- #54364 RtlGenRandom fails on systems with more than 128 cores
- #54376 ws2_32:sock - test_reuseaddr() overflows a sockaddr variable by reading an AF_INET6 peer name into it
----------------------------------------------------------------
Changes since 8.0:
Ake Rehnman (1):
dbghelp: Store path to module image when passed through file handle.
Akihiro Sagawa (2):
user32/tests: Add DBCS WM_CHAR tests for edit control.
user32/edit: Fix WM_CHAR handler for double-byte characters.
Alex Henrie (23):
include: Add RTL_CONSTANT_STRING.
dwrite: Handle memory allocation failure in bidi_compute_bracket_pairs (cppcheck).
winex11: Simplify confusing condition and error messages in wglShareLists.
winspool: Improve the grammar of a comment in get_servername_from_name.
msi: Fix memory leak on realloc failure in create_diff_row_query (cppcheck).
msi: Fix memory leak on realloc failure in msi_get_window_text (cppcheck).
msi: Fix memory leak on realloc failure in search_directory (cppcheck).
mshtml: Handle memory allocation failure in set_statustext.
twain_32: Handle realloc failure in twain_add_onedriver (cppcheck).
dbghelp: Handle memory allocation failure in image_locate_build_id_target (cppcheck).
hhctrl: Handle memory allocation failure in ReadChmSystem (cppcheck).
hhctrl: Handle memory allocation failure in SearchCHM_File (cppcheck).
inetcomm: Fix memory leak on realloc failure in copy_headers_to_buf (cppcheck).
msvcrt: Change return type of _ctime32_s and _ctime64_s to errno_t.
include: Add ctime_s.
include: Add localtime_s.
shell32: Handle memory allocation failure in Dde_OnRequest (cppcheck).
shell32: Handle memory allocation failure in parse_dde_command (cppcheck).
include: Remove __WINE_MALLOC from functions that shouldn't have it.
appwiz: Fix memory leak on realloc failure in install_from_registered_dir (cppcheck).
winex11: Fix memory leak on realloc failure in import_xdnd_selection (cppcheck).
server: Fix buffer overrun in map_view handler.
urlmon: Use the _recalloc function instead of reimplementing it.
Alexandre Julliard (20):
krnl386: Make MapLS argument non-const to avoid some compiler warnings.
krnl386: Remove a trace that causes compiler warnings.
shell32: Allocate a full SHITEMID to avoid a compiler warning.
tools: Add a common helper to get the argv0 directory.
tools: Add a common helper to cleanup temp files.
tools: Move signal masking to the common make_temp_file() helper.
tools: Add a common helper to setup signal handlers.
shell32: Allocate the right size for an ITEMIDLIST.
scrobj: Initialize a variable to silence a compiler warning.
ntdll: Initialize a variable to silence a compiler warning.
ntdll: Prefer the ntdll path over argv[0] on platforms without reliable exe information.
user32: Copy directly to the buffer in unpack_message().
shlwapi/tests: Don't write uninitialized data.
gdiplus: Initialize a variable to avoid a spurious compiler warning.
ole32/tests: Raise an exception instead of accessing a bad pointer directly.
makedep: Don't output rules for disabled modules.
tools: Make sure that config.h is included.
include: Add some C99 floating point comparison macros.
wow64cpu: Move base address to leave more room for wow64.dll.
kernelbase: Report correct errors in GetModuleHandleExA().
Alistair Leslie-Hughes (5):
mountmgr.sys: Don't attempt to read from invalid media.
include: Add _XHR enum values.
include: Add D3DKMT_ENUMADAPTERS2 structure.
secur32: QueryContextAttributesW check for valid object before use.
secur32: Trace fContextReq consistently.
Bernhard Kölbl (12):
windows.media.speech: Move constraints vector to the recognition session.
windows.media.speech: Do not force calling convention on internal callbacks.
windows.media.speech: Return IAsyncAction from session_StopAsync.
windows.media.speech: Return IAsyncAction from session_PauseAsync.
windows.media.speech/tests: Test the recognizer state.
windows.media.speech/tests: Test starting, stopping, pausing and resuming the recognition session.
windows.media.speech: Add a worker thread to the recognition session.
windows.media.speech/tests: Check if stopping the session resets the paused state.
windows.media.speech: Allow the recognition session worker to be paused.
windows.media.speech: Add an audio capturing system.
windows.media.speech: Partially implement the speech recognizer state.
windows.media.speech: Store recorded audio in a temporary ringbuffer.
Brendan Shanks (7):
include/msvcrt: Add __WINE_(DEALLOC|MALLOC) attributes to _strdup and _wcsdup.
include/msvcrt: Add __WINE_(ALLOC_SIZE|DEALLOC|MALLOC) attributes to _aligned_malloc functions.
include/msvcrt: Add __WINE_(ALLOC_SIZE|DEALLOC) attributes to _recalloc.
taskmgr: Use exit code 1 when terminating processes.
taskkill: Use exit code 1 when terminating processes.
ntdll: Add stub for NtQueryInformationProcess(ProcessCycleTime).
kernelbase: Implement and add tests for QueryProcessCycleTime.
Eric Pouech (20):
dbghelp: Don't search path when we have a file handle to loaded image.
winedbg: Pass loaded image's file handle to dbghelp.
dbghelp: Expose the real path to the module in SymGetModuleInfo*().
dbghelp: In dwarf debug info, use the same name of anonymous UDT as pdb.
dbghelp: Don't use dbghelp_current_cpu.
winedbg: Use debuggee's bitness for 'examine /a' command.
conhost.exe: Handle ctrl-pause/break key strokes.
conhost.exe: Handle ctrl-\ in Wine.
winedbg: Track loaded modules.
winedbg: Fix read access to variables with thread local storage.
include: Be consistent in naming regarding MSF's block.
include: Update some fields in PDB headers.
include: Consistenly use _size to name the size of a sub-block.
include: Use stream to denote MSF stream/file.
winedump: Introduce a helper to print PE section's characteristics.
winedump: Correctly dump PDB_STREAM_INDEX.segment.
winedump: Explain a bit more errors on hash header.
winedump: Dump correctly ranges part of DBI stream.
winedump: Properly dump segment map information from PDB/DBI stream.
winedump: Be stricter about sizes while walking module's list.
Evan Tang (6):
mshtml: Implement IHTMLRect2 for HTMLRect.
ntdll: TlsIndex should not actually contain tls indices.
secur32: Schannel AcceptSecurityContext support.
secur32: Share code for schannel Acquire and AcceptCredentialsHandle.
secur32: Fix schannel AcquireCredentialsHandle algorithm mismatch error return.
secur32: Add test for schannel AcceptSecurityContext.
Fabian Maurer (7):
user32/tests: Don't assign const variable to other const (gcc 4.7).
wldap32: Free resource in error case and return error code (Coverity).
wldap32: Set error code in error cases (Coverity).
d2d1_1: Don't redefine D2D1_PROPERTY_BINDING (gcc 4.3).
d3dx10core: Don't redefine ID3D10Device1 (gcc 4.3).
winedump: Prevent "format overflow" warning.
dwrite/tests: Prevent "misleading indentation" warnings.
François Gouget (5):
user32: GetClipboardData() should set last error when the format is not found.
user32/tests: Use wine_dbgstr_an() to trace malformed Unicode strings.
user32: Fix a SetClipboardData() underflow and improve the tests.
user32: Fix a SetClipboardData() buffer overflow.
d3d12/tests: Don't check the refcount after releasing the dxgi adapter.
Gabriel Ivăncescu (20):
mshtml: Don't release the frame returned by get_frame_by_name.
mshtml: Don't hold ref to the created window in the FrameBase.
mshtml: Release the image factory's dispex.
mshtml: Don't initialize HTMLElement dispex for Option constructor.
mshtml/tests: Fix EventObj leak in onclick test.
mshtml/tests: Fix window leaks in dom tests.
mshtml: Implement location props when there's no URI.
mshtml: Defer populating the IActiveScript field until it's fully initialized.
mshtml: Set SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION properly.
jscript: Implement SID_GetCaller for QueryService.
vbscript: Add a ServiceProvider stub.
vbscript: Implement SID_GetCaller for QueryService.
include/mshtml: Add the other IHTMLEventObj* interfaces.
mshtml: Use Scrollbar_Auto as default for vertical scrollbars.
jscript: Pass the correct ServiceProvider when invoking external prop.
mshtml: Return undefined from window.XMLHttpRequest for uninitialized documents.
mshtml: Traverse and unlink builtin func disps.
mshtml: Simplify dynamic props unlinking.
mshtml: Tie window.location to the outer window.
mshtml: Embed the HTMLLocation into the outer window.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.240.
Gerald Pfeifer (2):
localspl: Avoid uninitialized variable in fill_builtin_form_info.
tools: Include limits.h for PATH_MAX.
Hans Leidekker (22):
advapi32: Bump random buffer size.
dplayx/tests: Skip tests when the dll is missing.
wbemprox: Implement Win32_Volume.
wbemprox: Implement GetBinaryValue() method.
wbemprox: Remove reg_ prefix from static functions.
winhttp/tests: Fix test failures with the UTF-8 code page.
adsldp/tests: Avoid test failures when the server is down.
ntdll/tests: Mark more Windows 11 test failures as broken.
ntdll/tests: Fix path test failures on Windows 11.
ntdll/tests: Fix some Wow64 test failures on Windows 11.
gdi32/tests: Mark another D3DKMTCheckOcclusion() test as flaky.
ws2_32/tests: Fix some test failures on Windows 11.
ws2_32/tests: Skip adapters that aren't up and running in test_bind().
ntdll: Add Windows 11 version.
ntdll: Default to Windows 10.
winecfg: Fix CurrentVersion registry string for Windows 10 and up.
msi/tests: Avoid test failures when running with insufficient rights.
msi: Install and patch global assemblies in InstallFinalize.
msi: Perform late initialization of the assembly caches.
msi: Remove msi_ prefix from static functions.
msi: Get rid of unnecessary typedefs.
wbemprox: Recognize Windows 11.
Huw D. M. Davies (1):
winebuild: Reorder the includes to avoid a build error on macOS.
Jacek Caban (2):
win32u: Silence spurious FIXME in NtUserScrollWindowEx.
ieframe/tests: Relax session count test.
James McDonnell (1):
kernel32: Use MoveFileWithProgress() to partially implement MoveFileTransacted(),
Jinoh Kang (9):
ntoskrnl.exe/tests: Use loopback address in test_wsk_listen_socket.
riched20: Obtain the composition start index after deleting selection.
ntdll: Check for delayed free block in heap_validate_ptr.
ntdll: Validate subheap's owner heap when validating heap.
ntdll: Validate blocks in the heap pending free request list.
ntdll: Remove redundant WARN_ON(heap) check.
ws2_32/test: Fix sockaddr buffer overflow in test_reuseaddr.
include: Add noreturn attribute to RtlRaiseStatus.
include/msvcrt: Add noreturn attribute to _assert.
Joshua Ashton (1):
winevulkan: Enable VK_EXT_hdr_metadata.
K.B.Dharun Krishna (1):
po: Update Tamil translation.
Kacper Michajłow (1):
include: Add some DXGI_COLOR_SPACE_TYPE enumeration values.
Mohamad Al-Jaf (5):
include: Add windows.system.profile.systemmanufacturers.idl file.
windows.system.profile.systemmanufacturers: Add stub DLL.
windows.system.profile.systemmanufacturers: Stub ISmbiosInformationStatics interface.
windows.system.profile.systemmanufacturers/tests: Add ISmbiosInformationStatics_get_SerialNumber tests.
windows.system.profile.systemmanufacturers: Implement ISmbiosInformationStatics_get_SerialNumber.
Nikolay Sivov (11):
include: Add recent DirectWrite API changes.
windows.globalization: Implement ILanguage::get_LanguageTag().
comctl32/header: Do not touch 'hwnd' field in HDM_LAYOUT.
ktmw32: Use syscall interface for transaction objects stubs.
propsys: Add InitPropVariantFromStringVector().
d3dx9/preshader: Set input table size for texture shaders.
d3dx9: Create parameter evaluator for texture shaders.
d3dx9: Partially implement D3DXFillTextureTX().
d3dx9/tests: Add a helper to compare filled cube textures.
d3dx9: Fix ARGB texture fills with negative component values.
d3dx9: Partially implement D3DXFillCubeTextureTX().
Paul Gofman (14):
ntdll/tests: Fix the case of absent XSTATE context in test_copy_context().
ntdll/tests: Fix xstate tests failing on modern Windows and CPUs with more xstate features.
ntdll/tests: Fix random test failure in test_restore_context().
ntdll: Factor out context_copy_ranges() function.
ntdll: Do not use extended context in RtlCopyContext() if extended state is not copied.
ddraw: Do not report D3DDEVCAPS_HWRASTERIZATION for RGB emulation device.
ntdll: Use MemAvailable field for free RAM estimation if available.
cryptnet: Cache revocation status in verify_cert_revocation().
cryptnet: Use cert data hash as cache id instead of serial number.
cryptnet: Also hash issuer cert for cache id.
msmpeg2vdec: Add stub dll.
msauddecmft: Add stub dll.
ntdll: Add stub for NtQueryInformationProcess( ProcessHandleTable ).
ws2_32: Provide same address order from gethostbyname() on consequent calls.
Robert Wilhelm (2):
vbscript: Return type mismatch for UBound(Empty) and UBound(NULL).
vbscript: Return type mismatch for LBound(Empty) and LBound(NULL).
Rémi Bernon (57):
sechost: Use heap_strdup_multi_AtoW for dependencies in CreateServiceA.
services: Use a separate allocation for NotifyParamsArray[0].params.
dwrite: Statically init the system_fallback locale list.
schedsvc: Avoid mismatching heap in SchRpcEnumFolders.
schedsvc: Avoid mismatching heap in SchRpcEnumTasks.
schedsvc: Avoid mismatching heap in RPC allocations.
schedsvc: Use CRT allocation functions in remaining calls.
dinput: Avoid sending envelope report if it has been removed.
windows.gaming.input: Fix infinite effect duration scaling.
windows.gaming.input: Introduce new effect_reorient_direction helper.
windows.gaming.input: Fix magnitude sign for constant and ramp effects.
hidp: Allow match all usages on specific functions only.
oledb32: Fix error info cleanup dispparams rgvarg index.
oledb32/tests: Avoid use-after-free and unused assignment.
dinput: Remove outdated and superfluous comments.
dinput: Add traces to the ANSI wrappers.
dinput: Remove unnecessary initialization helpers.
dinput: Move dinput class implementation to dinput.c.
dinput: Rename lpdid local variable to device.
include: Add Windows.Foundation.Collections.IVectorChangedEventArgs definition.
include: Add Windows.Foundation.Collections.IMapChangedEventArgs<T> definition.
include: Add Windows.Foundation.Collections.MapChangedEventHandler<K, V> definition.
include: Add Windows.Foundation.Collections.IMap<K, V> definition.
include: Add Windows.Foundation.Collections.IObservableMap<K, V> definition.
include: Add Windows.Foundation.Collections.IPropertySet definition.
include: Add Windows.Foundation.Collections.IObservableVector<T> definition.
include: Add Windows.Foundation.IAsyncActionWithProgress<TProgress> definition.
include: Add Windows.Foundation.IAsyncOperationWithProgress<TResult, TProgress> definition.
dinput: Use an internal refcount on all dinput devices.
dinput: Introduce a new struct to keep input thread state.
dinput: Introduce new input_thread_update_device_list helper.
dinput: Keep an internal refcount for dinput devices references.
dinput: Keep a reference on acquired devices while waiting.
dinput: Update the input thread device list when notified only.
dinput: Update the device status while holding its CS.
dinput: Cleanup low-level hooks on input thread exit.
dinput: Introduce new dinput_unacquire_window_devices helper.
dinput: Unacquire all devices on internal thread error.
dinput: Keep track of input thread users using public refcounts.
gitlab: Run dinput 64-bit tests in a dedicated job.
dinput/tests: Dynamically allocate async operation handlers.
dinput: Move window hook checks to input_thread_update_device_list.
dinput: Move rawinput registration to input_thread_update_device_list.
dinput: Move di_em_win_wndproc function around.
dinput: Use SendMessageW to notify and stop input thread.
dinput: Avoid entering hook CS for rawinput messages.
include: Declare some NtUser pointer related syscalls.
win32u: Move NtUserEnableMouseInPointer from user32.
win32u: Stub NtUserIsMouseInPointerEnabled syscall.
win32u: Stub NtUserGetPointerInfoList syscall.
win32u/tests: Test NtUserEnableMouseInPointer syscall.
win32u/tests: Test NtUserIsMouseInPointerEnabled syscall.
win32u/tests: Test NtUserGetPointerInfoList syscall signature.
comctl32/tests: Test unicode nature of window subclasses.
comctl32: Save unicode window nature on SetWindowSubclass call.
comctl32: Always use unicode messages for subclass procedures.
comctl32: Skip restoring window proc if it has been modified.
Santino Mazza (3):
mshtml/tests: Test for get_all and get_body in document fragments.
mshtml: Use This->node for HTMLDocument_get_all.
mshtml: Implement HTMLDocument_get_body for document fragments.
Shaun Ren (3):
winegstreamer: Parse all tag events in query_tags.
winegstreamer: Map MF_SD_LANGUAGE to ISO 639-1 for QuickTime media.
mfplay/tests: Add tests for MF_SD_LANGUAGE.
Zebediah Figura (31):
d3d11/tests: Add a basic test for vertex formats.
d3d10core/tests: Add a basic test for vertex formats.
wined3d: Separate a parse_channel_desc() helper.
wined3d: Use a string channel desc to initialize typed formats.
rpcrt4: Use a CONTAINING_RECORD helper to retrieve CStdStubBuffer from IRpcStubBuffer.
rpcrt4: Use a CONTAINING_RECORD helper to retrieve CInterfaceStubHeader from CStdStubBuffer.
rpcrt4: Rename "ref_counted_vtbl" to "struct delegating_vtbl".
rpcrt4: Use a flexible array member in struct delegating_vtbl.
rpcrt4: Use CONTAINING_RECORD in release_delegating_vtbl().
win32u: Make call_messageAtoW() static.
win32u: Make the global "caret" structure static.
win32u: Make create_brush() hidden.
win32u: Make draw_frame_caption() static.
win32u: Make draw_scroll_bar() static.
win32u: Make DrawTextW() hidden.
win32u: Make get_winproc_ptr() static.
win32u: Make ImmProcessKey() hidden.
win32u: Make ImmTranslateMessage() hidden.
win32u: Make is_child() hidden.
ntdll: Make fd_set_file_info() static.
ntdll: Make call_user_mode_callback() hidden.
ntdll: Make user_mode_callback_return() hidden.
ntdll: Make __wine_syscall_dispatcher_prolog_end() hidden on x86_64.
ntdll: Make __wine_unix_call_dispatcher_prolog_end() hidden on x86_64.
win32u: Make send_message_timeout() hidden.
win32u: Make set_visible_region() hidden.
winex11: Make client_foreign_window_proc hidden.
winex11: Include x11drv.h in xrandr.c even if compiling without xrandr.
winepulse: Include mult.c in pulse.c.
include: Fix the definition of DIFXAPILOGCALLBACK_* functions.
include: Add more definitions to difxapi.h.
Zhiyi Zhang (4):
comctl32/tests: Add WM_STYLECHANGED tests for changing listview view styles.
comctl32/listview: Repaint when changing view styles.
include: Add uiviewsettingsinterop.idl.
opengl32/tests: Make context current before calling wglCopyContext().
The Wine team is proud to announce that the stable release Wine 8.0
is now available.
This release represents a year of development effort and over 8,600
individual changes. It contains a large number of improvements that
are listed in the release notes below. The main achievement is the
completion of the conversion to PE format.
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.0.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.
----------------------------------------------------------------
What's new in Wine 8.0
======================
*** PE modules
- After 4 years of work, the PE conversion is finally complete: all modules can
be built in PE format. This is an important milestone on the road to supporting
various features such as copy protection, 32-bit applications on 64-bit hosts,
Windows debuggers, x86 applications on ARM, etc.
However, some modules still perform direct calls between the PE and the Unix
part, instead of going through the NT system call interface. The remaining
direct calls will be removed during the Wine 8.x development phase.
- A special syscall dispatcher is used for PE -> Unix transitions, to avoid the
overhead of a full NT system call. This minimizes the performance impact of the
new architecture, in particular for the OpenGL and Vulkan libraries.
- Building mixed Windows/Unix libraries in ELF format (.dll.so libraries) is
still supported for use in Winelib applications. However, such applications
won't support features enabled by the NT syscall interface, such as WoW64
without 32-bit libraries.
*** WoW64
- WoW64 thunks are implemented for essentially all Unix libraries, enabling a
32-bit PE module to call a 64-bit Unix library. Once the remaining direct
PE/Unix calls have been removed, this will make it fully possible to run
32-bit Windows applications without any 32-bit Unix library.
- When the 32-bit Wine loader isn't found, 32-bit applications are started in
the new experimental "Windows-like" WoW64 mode (where 32-bit code runs inside
a 64-bit host process). This mode can be enabled by building with the
'--enable-archs' configure option. This is still under development and not yet
recommended for general use. Since in case of configuration errors it is
possible for it to be triggered inadvertently, applications started in this
mode print the warning "starting in experimental wow64 mode".
*** Graphics
- The "Light" theme is enabled in the default configuration, for a more modern
look. Other themes can still be configured through WineCfg.
- The graphics drivers (winex11.drv, winemac.drv, wineandroid.drv) are converted
to run on the Unix side of the syscall boundary, and interface with the Unix
side of the Win32u library.
- The Print Processor architecture is implemented. This will be used to avoid
direct PE<->Unix calls in the printer driver.
- Effects are supported in Direct2D, including description parsing and a number
of core objects.
- Command lists recording and playback are implemented in Direct2D.
- The Vulkan driver supports up to version 1.3.237 of the Vulkan spec.
*** Direct3D
- Many optimizations related to streaming map acceleration are implemented, in
common code as well as in the GL renderer. Depending on the application, this
may result in major performance improvements.
- Adapter video memory budget change notifications are implemented.
- The Vulkan renderer supports setting multiple viewports and scissor rectangles.
- Several Direct3D 10 and 11 features, which were already implemented, are
accurately reported through capability flags:
- Per-format support for vertex and index buffers.
- Per-format support for all capabilities via D3D11_FEATURE_FORMAT_SUPPORT.
- No-overwrite maps on shader resources and constant buffers.
- Partial range binding of constant buffers.
- For convenience, a new WINE_D3D_CONFIG environment variable may be used instead
of modifying the HKEY_CURRENT_USER\Software\Wine\Direct3D registry key. The
value is a comma- or semicolon-separated list of key-value pairs, e.g.:
WINE_D3D_CONFIG="renderer=vulkan;VideoPciVendorID=0xc0de"
If an individual setting is specified in both the environment variable and the
registry, the former takes precedence.
- The Direct3D graphics card database recognizes more graphics cards.
- The Vulkan renderer limits the maximum Direct3D feature level based on
available Vulkan features.
*** Direct3D helper libraries
- A new HLSL compiler is implemented using the vkd3d-shader library.
- A new HLSL disassembler is implemented using the vkd3d-shader library.
- The HLSL preprocessor is reimplemented using the vkd3d-shader HLSL
preprocessor.
- The D3DX 10 Thread Pump is implemented.
- Many more expressions are supported in Direct3D 10 effects.
- Cubemap projection is implemented in the D3DX 9 helper library.
*** Audio / Video
- The MPEG-1 audio decoder filter for layers 1 and 2, and the separate filter for
layer 3, are both implemented on top of GStreamer.
- The ASF reader filter is implemented.
- The OpenAL32.dll wrapper library is removed, in favor of the native
OpenAL32.dll library shipped by Windows applications.
*** Media Foundation
- Content type resolution is improved in the Media Foundation Player.
- Rate control is implemented.
- The Enhanced Video Renderer default mixer and presenter are better supported.
- The DirectShow filter is implemented in the Enhanced Video Renderer.
- An initial framework is implemented for the Writer encoding API.
- The topology loader is better supported.
*** Input devices
- Controller hotplug support is greatly improved, and controller removal and
insertion are correctly dispatched to applications.
- Driving wheel device detection and reporting is better implemented, using the
SDL library and HID usages as hints for the device types.
- Force feedback effect support is improved, specifically with driving wheel
controllers.
- The HID Haptics specification is used for left / right motor rumble and trigger
rumble. It makes it possible for device drivers to expose haptics support over
HidRaw, and overcome EvDev limitations.
- The Joystick Control Panel is redesigned, with new graphics and a dedicated
view for XInput gamepads.
- Sony DualShock and DualSense controllers are supported when the hidraw backend
is used, and exposed to applications in the same way as they are on Windows.
- The Windows.Gaming.Input module is introduced, one of the first WinRT modules
in Wine, implementing a new programming interface to access gamepads, joysticks
and driving wheel devices. For this new input API, hotplug notifications are
also implemented, as well as force feedback effects and haptics. This API is
the first one to support trigger rumble.
*** Internationalization
- A proper locale database, in Windows locale.nls format, is generated from the
Unicode CLDR database. The list of supported locales is essentially identical
to that of the latest Windows version.
- Unicode string comparison is based on the Windows Sortkey database and
algorithms instead of the Unicode Collation Algorithm, yielding more compatible
results.
- Characters from high Unicode planes (in UTF-16 encoding) are supported in most
functions, in particular for case mappings, BiDi formatting, and character
shaping.
- The UTF-8 encoding is supported as Ansi codepage. It is enabled when requested
by the application's manifest.
- Unicode character tables are based on version 15.0.0 of the Unicode Standard.
- The timezone data is generated from the IANA timezone database version 2022g.
*** Text and fonts
- Font linking is enabled for most system fonts, which should fix missing glyphs
in CJK locales.
- Font fallback in DirectWrite is reworked, with additional support for an large
number of scripts.
*** Kernel
- The ApiSetSchema database is implemented, replacing all the api-ms-* forwarding
modules. This reduces both disk space and address space usage.
- DOS file attributes are persistent, and stored on disk using the filesystem's
extended attributes, in a format compatible with Samba.
*** Internet and networking
- The Online Certificate Status Protocol (OCSP) is implemented.
- More EcmaScript features are supported in JScript standard-compliant mode.
- The JScript garbage collector is implemented.
- Accessibility support is enabled in Wine Gecko package.
- Web Storage, Performance object and more event objects are implemented in
MSHTML.
*** Mono / .NET
- The Mono engine is updated to version 7.4.0. The list of changes can be viewed
at https://github.com/madewokherd/wine-mono/releases/tag/wine-mono-7.4.0
*** Builtin applications
- All the builtin applications use Common Controls version 6, which enables
theming and high-DPI rendering by default.
- The Wine Debugger (winedbg) prints thread names in the 'info thread' listing,
for applications that set the names of their threads. All internal Wine threads
also set their own name.
- The QWORD type is supported in the REGEDIT and REG registry tools.
- Notepad has a status bar displaying the current cursor position. The Goto Line
functionality is also implemented.
- The builtin console programs print data in the OEM codepage, for better
compatibility with applications reading their output.
- The Service Control tool (sc.exe) supports the 'query' command.
*** Development tools
- The PE conversion has made it necessary to implement a new mechanism to run
static C++ constructors in Winelib ELF applications. Unfortunately, this
requires the corresponding modules to be rebuilt with Wine 8.0. The rebuilt
modules will still run correctly on older Wine versions, but older modules will
no longer execute static constructors when run on Wine 8.0.
- In regression tests, individual checks can be marked as "flaky". This is useful
for checks that depend on external factors such as network timings. The errors
are still reported but not counted as failures.
- Test failure messages can be printed in color by setting the WINETEST_COLOR
environment variable, to make them easier to spot in the test log.
- The Resource Compiler (WRC) and Message Compiler (WMC) use the locale.nls
database to detect languages and codepages, and thus support all the Windows
locales.
- The WineDump tool supports printing the contents of Enhanced Metafile spool
files, as well as more contents from PDB files.
*** Build infrastructure
- PE binaries can be built for multiple architectures from the same build tree,
using the '--enable-archs' option to configure, for example
'--enable-archs=i386,x86_64'. This can be used to enable the experimental
WoW64 mode, where 32-bit applications can run without any 32-bit host
libraries. Note that this mode is still under development and not yet
recommended for general use.
- Data types that are defined as 'long' on Windows are defined as 'long' instead
of 'int' on all platforms with a 32-bit long type. This is more compatible, but
it can cause printf format warnings with Unix compilers. In Winelib code, it
can be disabled by defining WINE_NO_LONG_TYPES.
- Import libraries can be generated without using dlltool, by passing the
'--without-dlltool' option to winebuild. This is used to avoid dlltool bugs
with delay import libraries.
- Libraries that contain only resources and no code can be built with the
'--data-only' option to winegcc, which makes them smaller and more efficient to
load.
*** Bundled libraries
- Faudio is updated to the upstream release 22.11.
- LCMS2 is updated to the upstream release 2.14.
- LibJPEG is updated to the upstream release 9e.
- LibMPG123 is updated to the upstream release 1.31.1.
- LibPng is updated to the upstream release 1.6.39.
- LibTiff is updated to the upstream release 4.4.0.
- LibXml2 is updated to the upstream release 2.10.3.
- LibXslt is updated to the upstream release 1.1.37.
- Zlib is updated to the upstream release 1.2.13.
*** Platform-specific features
- The experimental WoW64 architecture is supported on macOS versions from 10.15.
- 64-bit time_t is supported on 32-bit Linux with recent Glibc versions.
- Exception unwinding on ARM platforms is extended with EHABI support on ARM32
and Dwarf support on ARM64.
*** Miscellaneous
- RSA encryption and the RSA-PSS signing algorithm are implemented.
- An initial version of the UI Automation API is implemented.
- Function name demangling supports various C++11 features.
*** External dependencies
- The vkd3d and LDAP libraries are bundled in the source tree and built as
PE. The corresponding Unix libraries are no longer needed.
- The OpenAL library is no longer used.
The Wine development release 8.0-rc5 is now available. This is
expected to be the last release candidate before the final 8.0.
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/8.0/wine-8.0-rc5.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.0-rc5 (total 9):
- #26822 Double click the icon in the title bar should close the window
- #32643 getsockopt() does not indicate WSAEFAULT when setting optlen too small
- #45542 WeGame hangs after login.
- #50351 Slow text rendering in dofus linked to fnIMLangFontLink2_GetCharCodePages calling WideCharToMultiByte with CP_UNICODE
- #51227 urlmon:url breaks the wininet:http test on Windows 10 1709+ (7 failures)
- #51906 Multiple games fail to play videos (War Mongrels, The Medium, Sherlock Holmes Chapter One)
- #53408 Dark Souls: Remastered has slow performance with OpenGL renderer
- #53761 Broken rendering in Mafia III: Definitive Edition
- #54283 dinput:force_feedback - test_windows_gaming_input() sometimes crashes on Windows
----------------------------------------------------------------
Changes since 8.0-rc4:
Alexandre Julliard (1):
tools: Always fall back to argv[0] to find the tools directory.
Brendan Shanks (1):
kernel32/tests: Test GetFileType() with additional types of handles.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Eric Pouech (3):
kernel32/tests: Extend share right for debugger's black box tests.
kernel32/tests: Merge two debug event loops in test_debugger().
kernel32/tests: Filter spurious thread creation debug events.
Fan WenJie (1):
winebuild: Only set thumb_mode on ARM targets.
François Gouget (4):
d3d12/tests: Allow a broken Windows 10 1709 hresult.
nsi: Return an error if NsiAllocateAndGetTable() fails to allocate the tables.
nsi: Add some margin to the tables size in NsiAllocateAndGetTable().
win32u: Document the font_lock handling in font_EnumFonts().
Gabriel Ivăncescu (1):
notepad: Fix uninitialized upper 64-bits of `pos` in DoFind.
Jactry Zeng (1):
po: Update Simplified Chinese translation.
Lauri Kenttä (1):
po: Update Finnish translation.
Robert Wilhelm (1):
vbscript/tests: Fix chr() tests with double-byte character sets.
Santino Mazza (2):
iphlpapi/tests: Test for Ipv4Enabled and Ipv6Enabled flags.
iphlpapi: Set Ipv4Enabled and Ipv6Enabled flags accordingly.
Tim Clem (2):
user32/tests: Test GetRawInputBuffer header fields more thoroughly.
win32u: Correct GetRawInputBuffer alignment under WoW64.
The Wine development release 8.0-rc4 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/8.0/wine-8.0-rc4.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.0-rc4 (total 25):
- #48553 Catia (CAD software) refuse to run installation on newest wine (<=4.18)
- #51268 Assembler messages: Error: no such instruction: `xsavec (%esp)'
- #51301 Any action that locks the cursor into place inside the Roblox Client window causes the cursor to freeze
- #51420 Running any program in Wine causes 100% cpu usage in Xorg
- #52089 d2d1:d2d1 fails in test_draw_geometry() on Wine
- #52152 comctl32:edit gets unexpected heights in test_text_position_style() on Windows 10 1809+
- #52429 Guild Wars: login not possible
- #52557 GetNetworkParams loops forever on musl
- #52749 winetricks dotnet35sp1: printfilterpipelinesvc.exe crashes in background
- #52932 comctl32:edit & user32:edit have test_char_from_pos() failures on Windows with the UTF-8 codepage
- #52994 mstask:task_trigger - test_GetNextRunTime() fails in Wine on date change
- #53382 Slow rendering when connected to external monitor
- #53536 ntdll:rtl - The 32-bit RtlUlonglongByteSwap() breaks test_RtlDecompressBuffer() on Windows
- #53583 FindNLSStringEx reimplementation doesn't match native
- #53671 No objects are being rendered in any DX10/11 apps with older GPU drivers
- #53837 HS_hevo_gc 8.6.1.2 fails to install
- #54045 ntdll:rtl - test_RtlIpv6StringToAddress() fails on Windows 11
- #54151 xactengine3_7:xact3 crashes when no speaker is connected
- #54172 ddraw:ddraw1, ddraw:ddraw2, ddraw:ddraw4, ddraw:ddraw7 - test_window_position() gets the size of the wrong screen in Wine
- #54180 Petz 4 has corrupt .pet files at startup
- #54210 Wine fails to compile with Linux 4.11 headers (use of undefined AT_HWCAP2)
- #54218 RTLD_SELF use breaks musl build since 8.0-rc1
- #54263 Build of 7.22 fails with mingw-w64 10.0
- #54264 Hyperdimension Neptunia Re;Birth1 crashes on exit in xactengine notification callback
- #54287 wineconsole: alternate screen buffer does not work
----------------------------------------------------------------
Changes since 8.0-rc3:
Alexandre Julliard (6):
Update copyright info for 2023.
gitlab: Add a daily win10 test run.
kernelbase: Fix FindNLSStringEx for strings with no primary weights.
wow64: Initialize win32u syscall table when it is mapped.
winecrt0: Check for RTLD_SELF support to enable ELF constructors.
tools: Create a temporary directory to store temp files.
Alistair Leslie-Hughes (1):
faudio: Purge and clear notifications on ShutDown.
Conor McCarthy (1):
d3d11: Apply the 'KEEP' options when sending RTVs and UAVs to wined3d.
Eric Pouech (7):
user32/tests: Retry when opening the clipboard.
user32/tests: Fix failing WM_PASTE tests for edit control on Win10+.
comctl32/tests: Retry when opening the clipboard.
comctl32/tests: Fix failing WM_PASTE tests for edit control on Win10+.
conhost: Reset console attribute upon exit in unix mode.
conhost: Initialize color_map when creating an alternate screen buffer.
po: Update French translations.
Gabriel Ivăncescu (2):
win32u: Initialize the tracking_info for NtUserDrawScrollBar params.
winex11.drv: Obtain icon info for icons passed to fetch_icon_data().
Gerald Pfeifer (1):
wrc: Avoid undefined behavior in the FreeBSD case.
Hans Leidekker (7):
iphlpapi: Handle errors from DnsQueryConfig(DnsConfigDnsServerList).
wininet/tests: Pass INTERNET_FLAG_RELOAD in secure connection tests.
shell32/tests: Fix a test failure on Windows 11.
ws2_32/tests: Fix test failures on Windows 11.
ntdll: Conform to Windows 11 behavior in RtlIpv6StringToAddress().
ntdll: Fix a test failure on Windows 11.
ntdll/tests: Mark some test results on Windows 11 as broken.
Hugh McMaster (1):
conhost: Migrate from FontPitchFamily to FontFamily.
Jacek Caban (2):
include: Add vadefs.h header.
include: Add stdarg.h header.
Julian Rüger (1):
po: Update German translation.
Paul Gofman (3):
dwmapi: Fill qpcVBlank in DwmGetCompositionTimingInfo().
cryptnet: Check cached revocation status in verify_cert_revocation().
cryptnet: Also cache revocation status when using OCSP.
Rémi Bernon (10):
ole32: Use CRT allocation for MIDL_user_(allocate/free).
ole32: Allocate IEnumSTATDATA data with the process heap.
ole32: Reset IMoniker data pointer to NULL on failure.
ole32: Allocate and free moniker lists with CRT allocations.
dinput/tests: Remove the async cancel tests.
rpcrt4/tests: Avoid invalid free of static string.
msv1_0: Avoid double free when SpAcceptLsaModeContext fails.
msv1_0: Avoid double free when SpInitLsaModeContext fails.
wininet: Allocate returned options strings with the process heap.
comctl32: Avoid mismatching heap in ProgressWindowProc.
Stefan Dösinger (1):
wined3d: Clamp the bound buffer range to the buffer size.
Zebediah Figura (4):
ntdll: Check for AT_HWCAP2 definition before using it.
ntdll: Manually write byte code for the xsavec instruction.
wined3d: Map the destination BO with WINED3D_MAP_DISCARD when replacing the entire destination in wined3d_context_gl_copy_bo_address().
wined3d: Write into a mapped BO when replacing the entire destination in wined3d_context_gl_copy_bo_address().
Zhiyi Zhang (2):
win32u: Introduce a get_display_depth() helper to retrieve emulated display depth.
ddraw/tests: Do not create a fullscreen test window in test_window_position_cb().
The Wine development release 8.0-rc3 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.0-rc3.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 8.0-rc3 (total 28):
- #35126 AirBuccaneers hangs on exit
- #41339 Minor regression: Wine loads with "/wine/dlls/ntdll/loader.c: loader_section" errors when creating a new prefix or running an application
- #47438 Bloodstained: Ritual of the Night freeze at whitescreen
- #47536 Can't aim in Overwatch after alt-tabbing
- #47828 regedit: Random crashes on selecting an entry (thread-related?)
- #48322 World of Warcraft Classic: Mouse movement can block keydown events from registering
- #49164 Call of Cthulhu: Dark Corners of the Earth crashes after start
- #50519 Adobe Digital Editions 4.5 crash on Wine 6.0
- #52563 d3d11:d3d11 fails in test_dynamic_map_synchronization() on cw-rx460 in Wine
- #52903 Resizing Dn-FamiTracker fails to redraw pattern editor and status bar
- #53101 Public Peer silently exits
- #53403 winegstreamer "flush" removal breaks radio in fallout 3
- #53627 Max Payne: mouse scroll behaves erratically
- #53640 Bully: Scholarship Edition hangs on loading screen and doesn't play intros
- #53680 urlmon:url - test_BindToStorage() fails on Windows <= 8.1
- #53743 Vivisector has graphical glitches
- #53748 Sacred Gold (GOG): missing audio in .wmv videos
- #53752 Rayman 3: glitched graphics (black textures)
- #53785 Need for Speed: Payback crashes on launch with OpenGL renderer
- #53863 Tsui no Stella = Stella of the End: doesn't launch anymore (GL_INVALID_OPERATION)
- #53908 Comptes.exe errors with "dxLockMessage fails"
- #53995 d2d1:d2d1 runs out of GL memory and crashes on the debian 11 VM
- #54023 d3d11:d3d11 - test_dynamic_map_synchronization() fails on w11pro64_nv
- #54049 ddraw:ddraw2 test_texture_wrong_caps test triggers use after free bug
- #54170 20XX: invisible character
- #54184 Multiple applications fail http requests when WinHttpSendRequest() doesn't contain full request data
- #54191 Agarest 1 stopped showing Videos after implementing ASF Reader filter
- #54268 Moving the separator in regedit don't repaint listview
----------------------------------------------------------------
Changes since 8.0-rc2:
Alexandre Julliard (3):
d3d9/tests: Mark a texture sampling test as todo.
d3d9/tests: Mark a render target color test as todo.
d3d9/tests: Fix some activation/focus test failures.
Alistair Leslie-Hughes (2):
xactengine3_7/tests: Skip tests when XACTEngine Initialization fails.
include: Add missing enum XHR_PROP_ values.
André Zwing (3):
advapi32/tests: Don't test function directly when reporting GetLastError().
kernel32/tests: Don't test function directly when reporting GetLastError().
setupapi/tests: Don't test function directly when reporting GetLastError().
Biswapriyo Nath (1):
include: Add missing constants in d3d11.idl.
Eric Pouech (2):
comctl32/tests: Fix failing test on Windows in Arabic UTF-8.
comctl32/test: Adapt the edit tests for height to Win10+.
Floris Renaud (1):
po: Update Dutch translation.
Jinoh Kang (4):
user32/tests: Add tests for CS_HREDRAW and CS_VREDRAW.
win32u: Honor CS_HREDRAW and CS_VREDRAW when resizing window.
regedit: Use the default WM_PAINT implementation for REGEDIT window.
regedit: Clip siblings when drawing list and tree views.
Nikolay Sivov (1):
comctl32/tests: Ignore some IME messages in monthcal tests.
Philip K. Gisslow (1):
msi: Initialize all members of WINTRUST_DATA.
Piotr Caban (2):
msvcirt: Don't fail in streambuf_xsputn on 0xff character.
msvcirt: Fix ostream_print_char on 0 character.
Rémi Bernon (5):
dinput/tests: Reduce tests verbosity.
dinput/tests: Test W.G.I ramp effect with negative directions.
dinput/tests: Test W.G.I constant effect with negative direction.
dinput/tests: Test W.G.I periodic effect with negative direction.
dinput/tests: Test W.G.I condition effect with negative direction.
Tim Clem (3):
dinput/tests: Test granularity of the mouse z-axis.
dinput: Create object_properties for each mouse axis.
dinput: Add granularity to object_properties.
Vladislav Timonin (1):
comctl32/listview: Exclude header area in WM_NCPAINT.
Zebediah Figura (10):
ntdll/tests: Avoid testing the server pipe signaled state from the main thread.
d3d11/tests: Do not test deferred contexts in test_dynamic_map_synchronization().
d3d9/tests: Test uploading the whole mipmap chain in one map.
d3d8/tests: Test uploading the whole mipmap chain in one map.
wined3d: Load and invalidate every mipmap level when mapping the top mipmap level.
wined3d: Ignore DISCARD and NOOVERWRITE on buffers which are not GPU-accessible.
winegstreamer: Factor out a parser_create() helper.
winegstreamer: Protect the "streaming" member of struct parser with a separate lock.
winegstreamer: Explicitly sleep in the streaming thread when flushing.
d3d8: Filter out redundant buffer discards.
Zhiyi Zhang (1):
d2d1/tests: Fix memory leaks.
Ziqing Hui (2):
mfplat/tests: Test MFGetStrideForBitmapInfoHeader for NV11.
mfplat/tests: Add more RGB24 image size tests.
The Wine development release 8.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/8.0/wine-8.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 8.0-rc2 (total 50):
- #31927 ws2_32:sock fails intermittently - 'Test succeeded inside todo block: GetQueuedCompletionStatus returned 0'
- #42797 ICU64 for VICE: No highlighted read/write-colors in Memory-window.
- #46500 Cogpack - Exercises can't be run - Error 380 - Invalid property value
- #46538 Unreal Tournament (UT99): mouse clicks in main menu work only once
- #49394 CED1401 USB function driver needs ntoskrnl.exe.KeInsertQueueDpc()
- #49517 Warframe crashes during loading before menu with wined3d, gives popup
- #50013 MyPhoneExplorer 1.8.15 crashes
- #50043 Kholat from GOG does not launch anymore
- #50315 Silent Hill 2 failed to install -installshield extraction error
- #50468 winedbg fails to load symbols for non PE builtin dlls
- #52334 Performance has degraded in multiple games (WoW 1.12.1, Kane & Lynch: Dead Men Demo)
- #52394 "Control panel" -> "Add/Remove Programs" in builtin wine explorer is not working
- #52564 dxgi:dxgi times out in test_find_closest_matching_mode() on cw-gtx560
- #52708 libs/xslt/libxslt/attributes.c:136:9: error: variadic functions must use the base AAPCS variant
- #52779 Construction Set Extender crash with an Assertion Error in wine 7.5
- #52873 oleaut32:typelib fails in Wine in Hindi
- #52964 kernel32:locale - test_CompareStringA() fails on Wine in Hindi
- #52997 Integration of D3D12 support with a PE build of vkd3d causes a crash in Steam Overlay.
- #53028 gamepad buttons stopped working correctly
- #53099 wineserver (gcc -O0) crash when exiting LiLi USB Creator
- #53300 Controller response delayed
- #53384 Hogia Hemekonomi Unexpected error on first start
- #53406 Had been running 7.10 Fedora version no problem, but today updated to 7.12 broke??
- #53485 Cursor is missing in Visio 2003 when editing text
- #53503 QuickBooks Pro 99 page faults with print preview or attempting to print
- #53525 dinput:hid - test_hid_multiple_tlc() sometimes fails with testsigning turned on
- #53550 Some Catalan locales not properly handled
- #53595 Iran Timezone is not detected correctly
- #53623 Resident Evil 7 has broken rendering in DX11 mode
- #53625 In function ‘get_gnutls_cipher’ ... error: ‘GNUTLS_CIPHER_AES_128_CFB8’ undeclared
- #53744 WM_SETTEXT between ANSI programs treating LPARAM as Unicode causing name corruption
- #53756 configure fails in 32-bit gcc checking pthread_create using -Wl,--disable-stdcall-fixup
- #53884 Project Ignis: EDOPro corrupted textures on resizing
- #53894 user32:sysparams - test_WM_DISPLAYCHANGE() times out on Windows 7+
- #53911 DC++ can't retrieve file list from another user
- #53912 Static initialization in Winelibs may hang the loader as of Wine 7.21
- #53918 Building with external PE libraries fails when static libraries are also installed
- #53941 Chicken Tournament crashes on start
- #53976 ntoskrnl.exe:ntoskrnl - test_pnp_devices() fails on Windows 7
- #53977 amstream:amstream qedit:mediadet mf:transform mfmediaengine:mfmediaengine quartz:filtergraph winmm:mci wmp:media wmvcore:wmvcore mf:mf mfplay:mfplay qasf:asfreader broken on Debian Testing
- #53980 httpapi:httpapi sometimes crashes testing overlapped I/O with the v2 server in Wine
- #53990 Serious Sam 2 crashes with OpenGL renderer
- #54000 user32:win - test_mouse_input() gets an unexpected 0x60 message on Windows 11
- #54060 Compilation fails with gcc 4.8.4 (Error: junk at end of line, first unrecognized character is `"')
- #54085 windows.devices.enumeration:devices - test_DeviceAccessInformation() sometimes crashes on Windows 10
- #54094 kernel32:process - test_services_exe() sometimes fails due to an invalid buffer size in Windows
- #54096 Non-PE builds broken since "ntdll: Move the .so module initialization to winecrt0."
- #54101 unimplemented function MSVCP70.dll.?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ
- #54105 taskschd:scheduler fails on Windows 10 1607+
- #54121 8.0-rc1 build fails with errors in bcrypt in Ubuntu 18.04
----------------------------------------------------------------
Changes since 8.0-rc1:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (4):
include: Add _recalloc.
joy: Correct spelling of "overridden".
dswave: Don't force a calling convention on internal functions.
po: Update Catalan translation.
Alexandre Julliard (14):
winecrt0: Include windef.h to get definitions needed on FreeBSD.
winegcc: Add -ldl when linking .so files.
oleaut32: Fix A<->W conversion when storing names in typelibs.
kernel32/tests: Fix a string comparison test in utf-8 locales.
d3d9/tests: Mark a few more message tests as flaky.
winebuild: Use new ELF tag ids also on 64-bit.
winebuild: Disable relay for non-standard fastcall parameters.
winegcc: Check for Mingw-style .dll.a import libraries.
ntdll: Match a timezone change happening at 23:59:59 with the following day.
d3d8/tests: Mark a zero-size pixel test as todo.
d3d9/tests: Mark a zero-size pixel test as todo.
d3d9/tests: Mark some of the depth bias tests as todo.
d3d8/tests: Don't require WM_MOVE on window reactivation.
d3d8/tests: Make sure that the window has focus before testing loss of focus.
Eric Pouech (14):
d3dx9/tests: Avoid a GCC warning (-Wsizeof-array-div).
rpcrt4: Pass a common header to RPCRT4_BuildCommonHeader.
rpcrt4: Fix GCC12.2 warnings.
kernel32/tests: Fix a debugger test failing on Windows.
ntdll: Fix export and calling convention of RtlUlonglongByteSwap().
ntdll/tests: Add tests for RtlU(long|short)ByteSwap().
ntdll: Implement RtlU(short|long)ByteSwap() using fastcall bits.
kernel32/tests: Fix failing debugger test on Win7.
kernel32/tests: Improve loading of debugger's test children results.
kernel32/tests: Handle some variations in process start debug events.
kernel32/tests: Test that control characters can be read & stored.
conhost: Don't print control characters for Unix tty.
kernel32/tests: Silence a failing test on Win10+.
kernel32/tests: Skip some console tests on w1064v1909.
Fabian Maurer (2):
user32/tests: Ignore undocumented Win11 message.
urlmon: Pass correct parameter to realloc and simplify code (Coverity).
Gabriel Ivăncescu (6):
mshtml: Fix document fragment's inner window leak.
mshtml: Fix previous EventObj leak.
jscript: Release converted args after invoking.
jscript: Fix array ref leak when setting element.
jscript: Fix refcount trace's long type format specifier.
jscript: Fix JSCaller Release refcount.
Gerald Pfeifer (4):
winebus.sys: Fix the build without HAVE_SYS_INOTIFY_H.
libwine: Only define exe_link when needed.
wmc: Avoid uninitialized variable in init_argv0_dir.
winebus.sys: Declare a variable only when used.
Hans Leidekker (1):
bcrypt: Add PSS compatibility defines.
Huw D. M. Davies (10):
winemac: Fix printf format warnings in clipboard.c.
winemac: Fix printf format warnings in display.c.
winemac: Use a designated initializer to silence a compiler warning.
winemac: Fix printf format warnings in event.c.
winemac: Fix LONG vs int mismatch.
winemac: Fix printf format warnings in keyboard.c.
winemac: Fix printf format warnings in mouse.c.
winemac: Fix printf format warnings in window.c.
winemac: Fix remaining printf format warnings.
ntdll: Only compile get_current_teb() on linux.
Jacek Caban (5):
win32u: Call init_window_call_params after WH_CALLWNDPROC hook in call_window_proc.
win32u: Convert inter-process messages to Unicode.
win32u/tests: Add inter-process message tests.
urlmon/tests: Use gitlab.winehq.org host in can_do_https.
shell32: Always set last error in Shell_NotifyIconW.
Michael Stefaniuc (3):
dmime: Split the segment object creation into a separate helper.
dmime: Implement the IDirectMusicSegment8_Clone() method.
dmcompos: Return a valid pointer from ComposeSegmentFromTemplate().
Paul Gofman (9):
bcrypt: Do not error out for GNUTLS_ECC_CURVE_SECP384R1 in key_export_ecc().
bcrypt: Use SecureZeroMemory() to zero magic values before free.
bcrypt: Return correct error from key_asymmetric_encrypt() if key is missing.
bcrypt: Set pubkey from privkey in key_asymmetric_import().
bcrypt/tests: Test BCRYPT_PAD_NONE encryption result in test_rsa_encrypt().
winhttp: Check for NULL lpszAutoConfigUrl in WinHttpGetProxyForUrl().
winhttp: Handle state in a single switch in receive_response().
winhttp: Only read server reply in send_request() if the whole request is sent.
ddraw/tests: Release ddraw after device in test_texture_wrong_caps().
Piotr Caban (4):
winspool/tests: Fix test failures on Windows 11.
shell32: Store NameSpace registry path in global variable.
shell32: Add partial ControlPanel GetAttributesOf implementation.
shell32: Fix SHChangeNotify test failures.
Robert Wilhelm (1):
vbscript: Fix spelling in a FIXME message.
Ryan Hendrickson (1):
wined3d: Recognize AMD as a vendor string.
Rémi Bernon (23):
winevulkan: Skip asserts for some critical functions.
winevulkan: Skip traces for some critical functions.
winevulkan: Return void for some critical functions.
user32/tests: Don't expect WM_DISPLAYCHANGE with the default display mode.
user32/tests: Use %d to print last_bpp instead of %u.
hidclass.sys: Make sure a desktop is created for the driver process.
dinput/tests: Unregister rawinput devices after tests.
dinput/tests: Remove old physical joystick tests.
dinput/tests: Avoid using INFINITE timeouts.
dinput/tests: Use semaphores to count and notify rawinput messages.
dinput/tests: Add a device count parameter to hid_device_(start|stop).
dinput/tests: Wait for each device interface to start / stop.
user32/tests: Test EnableMouseInPointer behavior.
user32/tests: Test IsMouseInPointerEnabled behavior.
user32/tests: Test GetPointerInfo behavior with EnableMouseInPointer.
user32/tests: Move old GetPointerType tests into test_GetPointerInfo.
user32/tests: Test GetPointer(Frame)Info(History) behavior.
dinput/tests: Factor async await together with some new helpers.
dinput/tests: Test windows.gaming.input infinite effect duration.
dinput/tests: Test dinput force feedback effect envelope removal.
Revert "qasf: Register ASF Reader filter media type."
opengl32/tests: Test wglChoosePixelFormatARB flags filters.
winex11: Check pixel format flags in X11DRV_wglChoosePixelFormatARB.
Shaun Ren (2):
mfmediaengine: Change media_engine_Shutdown FIXME to TRACE.
mfmediaengine: Pause the session in media_engine_Pause.
Sven Baars (2):
win32u: Account for 16-bit instances in find_class().
wined3d: Do not explicitly check 3D depth/stencil capabilities in wined3d_check_device_format().
Torge Matthies (1):
ntdll: Make sure xmm6-xmm15 are always restored in unix call dispatcher.
Zebediah Figura (21):
win32u: Downgrade the NtOpenFile ERR to a WARN in add_device().
include: Add CONFIGFLAG_* definitions.
ntoskrnl/tests: Ignore CONFIGFLAG_FINISH_INSTALL on the child device.
ws2_32/tests: Add tests for state inherited by accept().
server: Inherit address reuse flags in accept_socket().
server: Inherit the SO_SNDBUF value in accept_socket().
server: Inherit the SO_RCVBUF value in accept_socket().
server: Inherit the SO_SNDTIMEO value in accept_socket().
server: Inherit the SO_RCVTIMEO value in accept_socket().
wined3d: Require depth bias clamp to create a feature level 10.0 device.
wined3d: Disable wide line support.
wined3d: Require precise occlusion queries to create a feature level 9.2 device.
wined3d: Require pipeline statistics queries to create a feature level 10.0 device.
wined3d: Require vertex pipeline image stores and atomics to create a feature level 11.1 device.
wined3d: Always bind to GL_ELEMENT_ARRAY_BUFFER if the bind flags include WINED3D_BIND_INDEX_BUFFER.
win32u: Set the width and height when creating a caret from an existing bitmap.
httpapi: Allow passing NULL size to HttpReceiveHttpRequest().
httpapi: Allow passing NULL size to HttpReceiveRequestEntityBody().
httpapi/tests: Test passing NULL size to request reading functions.
d3d9/tests: Test GenerateMipSubLevels() on a managed texture.
d3d9: Upload the relevant texture in d3d9_texture_gen_auto_mipmap().
Ziqing Hui (7):
mf/tests: Test GetOutputType for WMV decoder.
mf/tests: Test info headers returned by GetOutputType for WMV decoder.
mf/tests: Shorten test messages.
mf/tests: Introduce check_dmo_set_input_type.
mf/tests: Use one input type for GetOutputType tests.
mf/tests: Test SetOutputType for WMV decoder.
mfplat/tests: Add MEDIASUBTYPE_RGB* and NV11 image size tests.
The Wine development release 8.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 8.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 8.0 as good as possible.
What's new in this release:
- Bundled vkd3d upgraded to version 1.6.
- Vulkan and OpenGL thunking optimizations.
- More support for print processors.
- Improved joystick control panel.
- Long types printf format conversion finished.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.0/wine-8.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 8.0-rc1 (total 52):
- #28290 shell32:shelllink - test_load_save() crashes randomly in Wine
- #36681 ws2_32/tests/sock.c fails on gentoo without IPX support
- #46649 Multiple applications need D3DXDisassembleShader() implementation (Tom Clancy's Rainbow Six: Vegas 2, The Void)
- #48105 kernel32:console fails on Japanese and Chinese Windows
- #51234 user32:clipboard test_ClipboardOwner() has a race condition with clipboard managers
- #51456 oleaut32:typelib: test_CreateTypeLib(SYS_WIN32) fails in 64-bit Wine
- #51457 The 32-bit version:install fails in 64-bit wineprefixes (now todo)
- #51780 The user32:msg output is too big in Wine
- #52507 user32:win has some spurious GetScrollInfo failures
- #52875 riched20:editor fails with the UTF-8 code page
- #52877 user32:msg - test_dbcs_wm_char() fails in Wine in the Japanese and Chinese locales
- #52909 rpcrt4:ndr_marshall crashes on the latest Windows 8.1, 21H1 and 21H2
- #52910 mshtml:htmldoc fails on Windows with the UTF-8 codepage
- #52965 kernel32:locale - test_GetLocaleInfoW() and test_invariant() fail on Windows in Hindi
- #52980 conhost.exe:tty - test_tty_input() fails in most locales on Windows
- #53183 shell32:shelllink - test_load_save() randomly fails to delete test.lnk in Wine
- #53199 dinput:force_feedback - test_windows_gaming_input() sometimes has unexpected reference counts in Wine
- #53207 user32:msg - test_button_messages() fails randomly in Windows and Wine
- #53208 user32:msg - The SW_SHOWMINIMIZED test in test_messages() succeeds in Wine with fvwm
- #53211 ddraw:ddraw1 has over 255 failures on the debian11 TestBot VMs
- #53233 ddraw:ddraw1 - test_clear() has rare failures in Wine on the debian11 VM
- #53240 dinput:device8 - test_sys_mouse() has some rare failures on the TestBot VMs
- #53254 urlmon:url - test_URLDownloadToFile_abort() sometimes fails on Windows 7+
- #53327 Ragnarok Online bad performance
- #53342 quartz:mpegaudio - The 64-bit test_streaming_events() times out on fg-deb64
- #53530 mshtml:htmldoc - test_editing_mode(TRUE, TRUE) sometimes fails
- #53568 16bit applications refuse to start wine 7.15+
- #53646 Multiple installers crash in user32 (Drakan, Star Wars, Colin McRae, X-COM, etc.)
- #53678 vbscript can not compile CaseClausules that do not use a colon
- #53684 ntdll:info is broken on Windows 8 to 10 1709 in the GitLab WineTest builds
- #53686 The 64-bit kernel32:console is broken on Windows in the GitLab WineTest builds
- #53783 vbscript can not compile private const expressions
- #53814 TMUnlimiter 1.2.0.0 requires ini files with whitespace in the section to be parsed properly
- #53895 ddraw:ddraw1, ddraw:ddraw2, ddraw:ddraw4, ddraw:ddraw7 - test_cursor_clipping() fails on dual screen setups in Wine
- #53927 script56.chm help file pages not functioning properly due to wine missing beforeprint and afterprint html events
- #53950 dup2 error returns ENFILE instead of EBADF
- #53964 Redim should fail on fixed arrays
- #53966 NCryptExportKey is not implemented
- #53968 NCryptSignHash is not implemented
- #53971 postgresql installer 9.3 needs support for Username in WScript.Network
- #53972 BCryptSignHash does not support BCRYPT_PAD_PSS
- #53987 Regression in print handling in Framemaker 8
- #53996 MDB Viewer Plus: can not open database
- #53999 JGlossator crashes
- #54009 Wine segfaults on startup on macOS 12 and 13
- #54012 kernel32:heap - The 64-bit test_GlobalAlloc() fails on Windows 7
- #54043 Studio One Professional 5 crash on launch with an unimplemented function USER32.dll.RegisterSuspendResumeNotification
- #54057 prints do not work in any application
- #54075 wldap32:parse - test_ldap_paged_search() sometimes gets LDAP_SERVER_DOWN in Wine, crashes
- #54087 mshtml:events sometimes gets a failure in Protocol_Continue() on Windows
- #54098 winhttp:notification fails and times out systematically in Wine
- #54111 Unable to run "make install" after "makedep: Add a helper function to skip spaces in strings."
----------------------------------------------------------------
Changes since 7.22:
Alex Henrie (44):
wldap32: Use the strdup function instead of reimplementing it.
mshtml: Remove string constant macros from navigate.c.
wininet: Simplify memory allocation in HTTP_InsertCustomHeader.
comctl32: Use standard C functions for memory allocation in edit.c.
atl: Fix memory leak on error path in do_process_root_key (scan-build).
vbscript: Fix memory leak on realloc failure in Global_Split (cppcheck).
shell32: Rename ShellItem to struct shell_item.
include: Add shobjidl_core.idl.
include: Annotate StrDup[AW] with __WINE_MALLOC and __WINE_DEALLOC.
hhctrl: Use standard C functions for memory allocation.
mountmgr: Use standard C functions for memory allocation.
include: Annotate I_RpcAllocate with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
services: Use standard C functions for memory allocation.
include: Annotate WlanAllocateMemory with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
include: Define __stat64.
msi: Use the wcsdup function instead of reimplementing it.
include: Annotate ber_(alloc_t|bvdup|init) with __WINE_(DEALLOC|MALLOC).
include: Annotate SnmpUtilMem(Re)Alloc with __WINE_(DEALLOC|MALLOC).
mshtml: Annotate nsalloc with __WINE_(DEALLOC|MALLOC).
rpcrt4/tests: Don't use an array of pointers in test_conf_complex_struct.
comctl32: Annotate (Re)Alloc with __WINE_(DEALLOC|MALLOC).
wiaservc: Remove unused function wiaservc_strdup.
include: Move wdbgexts.h from dbghelp to include.
shell32: Don't use GetProcAddress for GetOpenFileName[AW].
winecfg: Use standard C functions for memory allocation.
winecfg: Annotate allocation functions with __WINE_(DEALLOC|MALLOC).
quartz/tests: Remove redundant null check from testfilter_JoinFilterGraph.
rpcrt4: Use standard C functions for memory allocation.
dbghelp: Annotate allocation functions with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
include: Annotate CreateThreadpool* with __WINE_(DEALLOC|MALLOC).
kernel32/tests: Use the strcasecmp function instead of reimplementing it.
setupapi: Use _S_I(READ|WRITE) from sys/stat.h instead of redefining them.
setupapi: Move prototypes not in Windows's setupapi.h to setupapi_private.h.
msi: Use _O_* constants from fcntl.h instead of redefining them.
msi: Remove wrappers around CRT memory allocation functions.
include: Annotate WSDAllocateLinkedMemory with __WINE_(ALLOC_SIZE|MALLOC).
winhlp32: Use standard C functions for memory allocation.
include: Annotate MFHeapAlloc with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
include: Annotate (Alloc|Realloc)ADs* with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
include: Annotate GdipAlloc with __WINE_(DEALLOC|MALLOC).
include: Annotate ILC* functions with __WINE_(DEALLOC|MALLOC).
include: Add corecrt_malloc.h.
wsdapi: Annotate duplicate_(string|name) with __WINE_MALLOC.
cmd: Use standard C functions for memory allocation.
Alexandre Julliard (84):
avicap32: Use the Unix call helpers.
capi2032: Use the Unix call helpers.
ctapi32: Use the Unix call helpers.
dnsapi: Use the Unix call helpers.
gphoto2.ds: Use the Unix call helpers.
msv1_0: Use the Unix call helpers.
netapi32: Use the Unix call helpers.
qcap: Use the Unix call helpers.
sane.ds: Use the Unix call helpers.
winspool.drv: Use the Unix call helpers.
wpcap: Use the Unix call helpers.
ntdll: Also fixup the delay import directory when mapping a .so dll.
winebuild: Add a helper function to output a thunk data pointer.
winebuild: Use RVAs instead of absolute addresses in the delay import descriptors.
winebuild: Generate a separate helper for each delay-imported module.
winebuild: Pass the delay import descriptor to the __wine_spec_delay_load function.
winebuild: Call __delayLoadHelper2 to resolve delay imports also on non-PE builds.
opengl32: Fix calling convention of Unix call entry points.
ntdll: Export the Unix call dispatcher function pointer.
ntdll: Implement a faster Unix call dispatcher on i386.
ntdll: Implement a faster Unix call dispatcher on x86_64.
ntdll: Implement a faster Unix call dispatcher on ARM64.
ntdll: Implement a faster Unix call dispatcher on ARM.
wow64cpu: Add a custom 32->64 thunk for Unix calls.
ntdll: Replace the __wine_unix_call() syscall by a function calling through the dispatcher.
configure: Remove obsolete AL/al.h check.
setupapi: Fix wildcard matching for fakedlls inside the build dir.
ntdll: Only build the wow64 function table on 64-bit.
ntdll: Use ret instead of jmp to return from syscall dispatchers.
winebuild: Reinstate the __wine_spec_dll_entry() entrypoint for .so dlls.
ntdll: Move the .so module initialization to winecrt0.
ntdll: Initialize Unix calls early during startup.
opengl32: Fix GLdouble type alignment on the Unix side.
opengl32: Pass the TEB pointer in the Unix call parameters.
opengl32: Don't free memory at process exit.
png: Import upstream release 1.6.39.
mpg123: Import upstream release 1.31.1.
kernelbase: Update timezone data to version 2022g.
winebuild: Avoid quoting section names.
winebuild: Put the delay import thunk in a separate section.
include: Use proper dllimports for advapi32 functions.
include: Use proper dllimports for lz32 functions.
include: Use proper dllimports for version functions.
include: Use proper dllimports for gdi32 functions.
include: Use proper dllimports for user32 functions.
include: Use proper dllimports for shlwapi functions.
include: Use proper dllimports for rpcrt4 functions.
include: Use proper dllimports for OLE functions.
include: Use proper dllimports for crypt32 functions.
include: Use proper dllimports for comctl32 functions.
include: Use proper dllimports for comdlg32 functions.
include: Use proper dllimports for winhttp functions.
include: Use proper dllimports for wininet functions.
include: Use proper dllimports for shell32 functions.
include: Use proper dllimports for winsock functions.
vkd3d: Import upstream release 1.6.
makedep: Add the default Unix libraries also when building .dll.so files.
makedep: Add a helper function to skip spaces in strings.
ldap: Use LONG instead of long for exported types.
msvcrt: Fix printf format warnings on ARM platforms.
ntdll: Fix printf format warnings on ARM platforms.
oleaut32: Fix printf format warnings on ARM platforms.
winedbg: Fix printf format warnings on ARM platforms.
winspool.drv: Remove a no longer used inline function.
kernel32/tests: Fix an uninitialized variable warning.
kernelbase/tests: Fix an uninitialized variable warning.
makedep: Fix parsing of man page section.
configure: Simplify checks for functions that require an external library.
configure: Only require frame pointer on the MSVCRT side.
configure: Enable printf format warnings for 64-bit PE builds.
commdlg: Consistently use %I printf format for ULONG_PTR values.
gdi.exe: Consistently use %I printf format for ULONG_PTR values.
kernel32/tests: Consistently use %I printf format for ULONG_PTR values.
mmsystem: Consistently use %I printf format for ULONG_PTR values.
msacm: Consistently use %I printf format for ULONG_PTR values.
msvcrt: Consistently use %I printf format for ULONG_PTR values.
msvideo: Consistently use %I printf format for ULONG_PTR values.
ntdll: Consistently use %I printf format for ULONG_PTR values.
setupx: Consistently use %I printf format for ULONG_PTR values.
shell: Consistently use %I printf format for ULONG_PTR values.
user.exe: Consistently use %I printf format for ULONG_PTR values.
wintab: Consistently use %I printf format for ULONG_PTR values.
winecrt0: Include basetsd.h to get the _WIN64 definition.
apisetschema: Add a few more API sets pointing to existing dlls.
Anton Baskanov (6):
quartz/tests: Add tests for MPEG layer-3 decoder source connection.
quartz/tests: Add tests for MPEG layer-3 decoder sample processing.
quartz/tests: Add tests for MPEG layer-3 decoder sample timestamps.
quartz/tests: Add tests for MPEG layer-3 decoder streaming events.
quartz/tests: Add tests for MPEG layer-3 decoder quality control.
winegstreamer: Register MPEG layer-3 decoder.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (6):
gdiplus: Add support for Custom Line Indent.
gdiplus: Fix position of Custom Cap when Scale is different that 1.
gdiplus: Add support for LineCapArrowAnchor.
gdiplus: Improve performance of GdipScaleMatrix.
gdiplus: Improve performance of matrix multiplication by unrolling loop.
gdiplus: Improve performance of GdipTranslateMatrix.
Bernhard Kölbl (1):
mfmediaengine: Pass volume changes to media session.
Brendan Shanks (18):
include: Add __WINE_(DEALLOC|MALLOC) attributes to wine_get_(dos|unix)_file_name.
mountmgr.sys: Free wine_get_dos_file_name memory with HeapFree.
wpcap: Free wine_get_unix_file_name memory with HeapFree.
loader: Add comments to 'start' in macOS preloader.
loader: In macOS preloader, fix up argc/argv in C rather than asm.
loader: In macOS preloader, manually set 'environ' to work around a bug in macOS 12 and later.
configure: Always enable Mac driver on macOS.
configure: Remove ApplicationServices.framework check (always present on macOS).
configure: Remove Carbon.framework check (always present on macOS).
configure: Remove CoreAudio.h check (always present on macOS).
configure: Remove DiskArbitration.framework check (always present on macOS).
configure: Remove check for the HID Manager (always present on macOS).
configure: Remove check for IOKit (always present on macOS).
configure: Remove Metal.framework check (present in all supported macOS SDKs).
configure: Remove Security.framework check (always present on macOS).
configure: Remove SystemConfiguration header check (always present on macOS).
winemac: Remove pre-Mac OS X 10.7 workaround.
loader: In macOS preloader, set NXArgc, NXArgv, and environ on i386 and x86_64.
Connor McAdams (4):
uiautomationcore: Add UiaRemoveEvent stub.
uiautomationcore: Add UiaEventAddWindow stub.
uiautomationcore: Add UiaEventRemoveWindow stub.
uiautomationcore: Add UiaAddEvent stub.
David Kahurani (3):
xmllite/writer: Implement WriteChars.
xmllite/writer: Implement WriteRawChars.
xmllite/writer: Implement WriteSurrogateCharEntity.
Eric Pouech (64):
wined3d: Set flag types to uint32_t (external definitions).
wined3d: Set flag types to uint32_t (internal definitions).
wined3d: Set location types to uint32_t.
winedump: Don't crash when dumping .dbg files.
configure: Log pkg-config error messages.
wined3d: Store version information as unsigned int.
wined3d: Change wined3d_resource.usage field to uint32_t.
wined3d: Set resource's priority field's type as unsigned int.
wined3d: Convert fbo_entry.rt_mask to uint32_t type.
wined3d: Let control_values' type be unsigned int.
wineconsole: Set launched process name as created console title.
wined3d: Transfer long types' enabling at file level.
wined3d: Store GetLastError() into an unsigned int.
wined3d: Enable long types in adapter_vk.c.
wined3d: Enable long types in ati_fragment_shader.c.
wined3d: Reduce long integral type usage in wined3d_main.c.
wined3d: Enable long types in wined3d_main.c.
wined3d: Reduce usage of long integral types in vertexdeclaration.c.
wined3d: Enable long types in vertexdeclaration.c.
wined3d: Reduce usage of long integral types in palette.c.
wined3d: Enable long types in palette.c.
wined3d: Enable long types in directx.c.
wined3d: Enable long types in context_gl.c.
wined3d: Reduce usage of long integral types in buffer.c.
wined3d: Enable long types in buffer.c.
wined3d: Reduce usage of long integral types in swapchain.c.
wined3d: Enable long types in swapchain.c.
wined3d: Enable long integral types in cs.c.
wined3d: Reduce usage of long integral types in adapter_gl.c.
wined3d: Enable long types in adapter_gl.c.
wined3d: Reduce usage of long integral types in glsl_shader.c.
wined3d: Enable long types in glsl_shader.c.
wined3d: Reduce usage of long integral types in include/wined3d.h.
wined3d: Reduce usage of long integral types in device.c.
wined3d: Enable long types in device.c.
wined3d: Reduce usage of long integral types in surface.c.
wined3d: Enable long types in surface.c.
msvcr90: Fix warning on object access tests.
wined3d: Reduce usage of long integral types in utils.c.
wined3d: Enable long types in utils.c.
wined3d: Reduce usage of long integral types in shader.c.
wined3d: Enable long types in shader.c.
wined3d: Reduce usage of long integral types in nvidia_texture_shader.c.
wined3d: Enable long types in nvidia_texture_shader.c.
wined3d: Get/set texture's level_count and lod as unsigned int.
wined3d: Change stencil parameter type in blitter_clear() method.
wined3d: Reduce usage of long integral types in texture.c.
wined3d: Enable long types in texture.c.
d3dx9_36/tests: Enable compilation with long types.
winedbg: Avoid passing a non allocated buffer to HeapFree.
wined3d: Reduce usage of long integral types in shader_sm1.c.
wined3d: Enable long types in shader_sm1.c.
wined3d: Reduce usage of long integral types in shader_sm4.c.
wined3d: Enable long integral types in shader_sm4.c.
wined3d: Let sampler_states and texture_states be 2D arrays of uint32_t.
wined3d: Reduce usage of long integral types in stateblock.c.
wined3d: Enable long integral types in stateblock.c.
wined3d: Reduce usage of long integral types in state.c.
wined3d: Enable long integral types in state.c.
wined3d: Reduce usage of long integral types in view.c.
wined3d: Enable long integral types in view.c.
wined3d: Reduce usage of long integral types in arb_program_shader.c.
wined3d: Use proper enum type in arb_program_shader.c.
wined3d: Enable long types in arb_program_shader.c.
Etaash Mathamsetty (1):
ntoskrnl.exe: Use KeQueryMaximumProcessorCountEx for KeQueryMaximumProcessorCount.
Evan Tang (1):
winebus.sys: Report unique serial numbers for SDL devices.
Floris Renaud (1):
po: Update Dutch translation for joy.cpl.
François Gouget (1):
kernel32/tests: Avoid failures when processes start during the process test.
Gabriel Ivăncescu (24):
mshtml: Implement print events.
mshtml: Implement location.reload().
mshtml: Implement `onload` prop for input elements.
mshtml: Set `reload` load type to Gecko for document reloads.
mshtml: Implement performance.navigation.redirectCount.
mshtml: Implement performance.navigation.type.
mshtml: Treat edit mode as a reload.
mshtml: Return proper error for invalid selectors in IE8 mode.
mshtml: Don't check for doc_node from the doc obj when it can't be NULL.
include/mshtml: Add IHTMLXDomainRequest and factory interfaces and classes.
mshtml: Keep a ref to the window during the doc nsevent handlers.
mshtml: Send load event synchronously for img elements that loaded instantly in legacy modes.
jscript: Pass correct 'this' to host objects in ES5 mode.
mshtml: Don't lock document mode when querying IEventTarget.
mshtml/tests: Allow BINDINFO_OPTIONS_ENABLE_UTF8 in bind options.
mshtml/tests: Expect UpdateUI, Exec_UPDATECOMMANDS and Exec_SETTITLE in edit mode.
include/mshtmhst: Add CGID_ScriptSite and CMDIDs for it.
mshtml: Rename EVENTID_INVALID to EVENTID_INVALID_ID.
mshtml/tests: Accept rare unknown error in ReportResult.
jscript: Use a jsdisp to hold refs for scopes.
jscript: Implement a Garbage Collector to deal with circular references.
jscript: Implement CollectGarbage().
jscript: Run the garbage collector every 30 seconds on a new object allocation.
jscript: Create the source function's 'prototype' prop object on demand.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.237.
Hans Leidekker (15):
ncrypt: Implement NCryptExportKey().
ncrypt: Implement NCryptSignHash().
wpcap: Build pcap_address structure from IP_ADAPTER_UNICAST_ADDRESS.
wldap32/tests: Skip paged search tests when the server can't be reached.
bcrypt/tests: Get rid of workarounds for old Windows versions.
bcrypt: Pass key size in bytes to EXPORT_SIZE and use the macro consistently.
bcrypt: Fix possible buffer overflow in export_gnutls_datum().
bcrypt: Remove unused argument from hash_finalize().
bcrypt: Validate key type.
bcrypt: Support duplicating public keys without access to the private key.
bcrypt: Add support for PSS padding.
winhttp/tests: Reduce send buffer size.
wtsapi32: Improve the stub for WTSQuerySessionInformation(WTSClientProtocolType).
wofutil: New dll.
wofutil: Stub WofShouldCompressBinaries().
Huw D. M. Davies (1):
ntdll: Fix -Wformat warnings on macOS.
Ivo Ivanov (6):
wineusb.sys: Move event handling to a single thread.
winebus.sys: Search for added devices by devnode path in process_monitor_event().
wineusb.sys: Add support for TransferBufferMDL.
wineusb.sys: Pass interface and interface_index from the event data to the usb device data.
wineusb.sys: Implement DevClass compatible id for devices with multiple interfaces.
wineusb.sys: Add usbver, revision, busnum and portnum to PDO's instance id.
Jacek Caban (34):
configure: Use -nostdlib instead of -nostartfiles in WINE_TRY_PE_CFLAGS.
winegcc: Use -nostdlib instead of -nostartfiles on Clang MSVC targets.
configure: Use -fuse-ld=lld also for compilation targets.
ntdll: Get TEB from signal stack pointer in init_handler.
ntdll: Call init_handler in usr1_handler.
ntdll: Detect ntdll module also by module path comparison.
win32u: Move NtUserGetDC implementation from user32.
win32u: Move NtUserGetWindowDC implementation from user32.
win32u: Move NtUserValidateRect implementation from user32.
win32u: Move NtUserPrintWindow implementation from user32.
user32: Merge painting.c into win.c.
winex11: Use NtUserGetDC.
winevulkan: Fix handling pointers to pointer-size variables in 32-bit thunks.
winevulkan: Don't try to unwrap missing optional handle struct members.
winevulkan: Wrap VkDeviceMemory.
winevulkan: Use VK_EXT_external_memory_host extension to map memory on wow64.
winevulkan: Get rid of direct Unix calls.
winevulkan: Use UNIX_CALL macro for Unix calls.
configure: Use -Wl,-WX for clang configure checks in MSVC mode.
wldap32: Define LDAP_NEEDS_PROTOTYPES.
opengl32: Use default calling convention for WGL driver entry points.
winex11: Remove no longer used declarations.
win32u: Move NtUserRealChildWindowFromPoint implementation from user32.
win32u: Move NtUserGetInternalWindowPos implementation from user32.
user32: Merge winpos.c into win.c.
winevulkan: Rename needs_host_type to needs_win32_type.
win32u: Move NtUserWaitMessage implementation from user32.
win32u: Move GetShellWindow implementation from user32.
win32u: Move NtUserSetShellWindowEx implementation from user32.
win32u: Move SetProgmanWindow implementation from user32.
win32u: Move GetProgmanWindow implementation from user32.
win32u: Move SetTaskmanWindow implementation from user32.
win32u: Move GetTaskmanWindow implementation from user32.
user32: Merge focus.c into input.c.
Matteo Bruni (6):
wined3d: Don't try to access unused buffers in wined3d_context_gl_load_numbered_arrays().
wined3d: Remove unnecessary index increment in wined3d_context_gl_cleanup_resources().
wined3d: Get rid of a redundant branch.
wined3d: Move backup window / DC handling from the swapchain to the device.
wined3d: Destroy primary GL context if initialization fails.
wined3d: Don't use separate GL contexts for different swapchains.
Michael Stefaniuc (4):
dmstyle: Simplify parsing of a style track list.
dmstyle: Simplify parsing of a style reference list.
dmstyle: Get rid of a no longer used function.
dmstyle: Move a struct declaration to the file it is used in.
Michel Zou (1):
msvcrt: Fix errno set on dup from read-only file.
Mohamad Al-Jaf (1):
wbemprox: Provide accurate SMBIOS serial number.
Nikolay Sivov (21):
wshom: Fix WshNetwork interface definition.
comctl32/header: Use CRT allocation functions.
comctl32/monthcal: Use CRT allocation functions.
comctl32/static: Use CRT allocation functions.
comctl32/button: Use CRT allocation functions.
comctl32/listview: Use CRT allocation functions.
d3dcompiler: Implement D3DDisassemble() using vkd3d-shader.
vbscript: Make redim fail on fixed-size arrays.
d3d10/effect: Remove unused field from property description data.
d3d10/effect: Add min/max instructions support for expressions.
d3d10/effect: Add 'neg' instruction support for expressions.
d3d10/effect: Add 'mul' instruction support for expressions.
d3d10/effect: Add sin/cos instruction support for expressions.
d3dx9/preshader: Handle input register table.
d3dx9/effect: Split parameters data from effect object.
d3d10/effect: Partially implement updates through value expressions.
d3d10/effect: Add 'ftob' instruction support for expressions.
d3d10/effect: Add 'div' instruction support for expressions.
d3d10/effect: Add 'rcp' instruction support for expressions.
d3d10/effect: Add 'frc' instruction support for expressions.
comctl32: Switch back to internal allocation function.
Paul Gofman (17):
user32: Add stub for GetPointerInfo().
winegstreamer: Query stream tags and set MF_SD_LANGUAGE attribute.
winegstreamer: Extract stream name from QT demuxer private data.
mfplay/tests: Add MF_SD_LANGUAGE and MF_SD_STREAM_NAME value tests.
ddraw: Sync draw textures even for hardware device.
windows.devices.enumeration/tests: Fix reference count test in device_watcher_handler_Invoke().
windows.devices.enumeration/tests: Make test handlers structure static.
winhttp: Do not open connection in handle_redirect().
winhttp: Don't refill buffer after receiving server response.
winhttp: Send notifications from receive_response() directly.
winhttp: Receive server reply in send_request().
winhttp: Factor out queue_receive_response().
winhttp: Call receive_response() recursively instead of looping.
winhttp: Wait for WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE in request_send().
winhttp: Execute receive_response() synchronously when possible.
winhttp/tests: Test WinHttpReceiveResponse() synchronous behaviour.
winhttp/tests: Test calling WinHttpReceiveResponse() recursively from various send callbacks.
Piotr Caban (56):
localspl: Add FILE: port monitor implementation.
localspl: Add FILE: port tests.
localspl: Convert MONITOREX structure to MONITOR2 during port monitor initialization.
localspl: Introduce printer_info_t structure.
localspl: Add AddJob implementation.
localspl: Add StartDocPrinter implementation.
localspl: Add SetJob implementation.
localspl: Add GetJob implementation.
localspl: Add partial ScheduleJob implementation.
localspl: Add EndDocPrinter implementation.
gdi32: NULL terminate output string in CreateDCW.
winspool: Don't translate port name to path in StartDocDlgW.
localspl: Add printer port redirection extension.
localspl: Fix parameters validation in FILE StartDocPort.
localspl: Add pipe port extension.
localspl: Add unixname port extension.
localspl: Add lpr port extension.
localspl: Add cups port extension.
localspl: Return error if cups port handle is used from different threads.
localspl: Fix error handling in ScheduleJob.
winspool: Use providor for print jobs implementation.
winspool: Use providor for WritePrinter implementation.
localspl: Fix error handling in printer_alloc_handle helper.
localspl: Preparation for using handle type specific structures.
localspl: Use separate structure to store XcvPort and XcvMonitor handles.
localspl: Use separate structure to store printserver handles.
localspl: Rename job_t structure to job_info_t.
localspl: Add support for Job handles.
localspl: Add ReadPrinter implementation.
winspool: Call providor in ReadPrinter implementation.
winprint: Fix parameters validation in EnumPrintProcessorDatatypesW.
winprint: Fix datatype validation in PrintDocumentOnPrintProcessor.
wineps: Add print processor stub.
localspl: Add support for Port handles.
localspl: Support Port handles in WritePrinter.
localspl: Partially support Port handles in StartDocPrinter.
localspl: Support Port handles in EndDocPrinter.
winspool: Implement print processor validation in AddPrinter.
localspl: Add AddPrintProcessor implementation.
winprint: Register winprint print processor.
localspl: Load printer datatype and print processor information on init.
localspl: Use helper for loading string from registry in monitor_load.
localspl: Store datatype in print job data.
localspl: Store default datatype in printer data.
localspl: Use print processor in ScheduleJob.
localspl: Add partial SeekPrinter implementation.
winspool: Add SeekPrinter implementation.
wineps: Add EnumPrintProcessorDatatypesW implementation.
wineps: Add OpenPrintProcessor implementation.
wine.inf: Also install wineps.drv to print processor directory.
wineps: Register print processor.
wineps: Improve PrintDocumentOnPrintProcessor stub.
wineps: Skip EMRI_METAFILE_DATA record silently.
wineps: Support parsing EMRI_METAFILE_EXT records.
msvcrt: Construct a real C++ object to test against.
msvcp70: Update spec file.
Robert Wilhelm (9):
vbscript: Accept private and public const global declarations.
wshom.ocx: Added WshNetwork class factory implementation.
wshom.ocx: Add IWshNetwork2 interface stub implementation.
wshom.ocx: Add WShNetwork object creation test.
vbscript: Handle "case" statements without separators.
wshom.ocx: Downgrade FIXME to WARN for unsupported interfaces.
wshom.ocx: Implement WshNetwork2_GetIDsOfNames.
wshom.ocx: Implement WshNetwork2_Invoke.
wshom.ocx: Implement IWshNetwork2_get_UserName().
Rémi Bernon (72):
maintainers: Take ownership of joy.cpl.
joy.cpl: Move constants and structures to main.c.
joy.cpl: Move ff_effects_callback function around.
joy.cpl: Use designated initializer to init effect params.
joy.cpl: Read the effect parameters instead of storing them.
joy.cpl: Read the effect DIEFFECTINFOW instead of storing it.
joy.cpl: Use a struct list to keep created device effects.
joy.cpl: Read the device instance name instead of storing it.
joy.cpl: Read the number of buttons instead of storing it.
joy.cpl: Read the device path property instead of storing it.
joy.cpl: Remove unnecessary joystick forcefeedback member.
joy.cpl: Avoid race condition when accessing selected effect.
ntdll: Keep the region base offset in the block header.
ntdll: Find heap block region from its base offset.
ntdll: Avoid clearing BLOCK_FLAG_USER_INFO in heap_reallocate.
ntdll: Stop locking heap to access block-local data.
ntdll: Inverse the control flow in heap_reallocate.
ntdll: Reallocate a new block if we failed to commit.
joy.cpl: Move the device effect list to static global scope.
joy.cpl: Use a struct list to keep created dinput devices.
joy.cpl: Always start input threads and remove num_ff member.
joy.cpl: Use a notification event rather than polling state.
joy.cpl: Reduce the button size on the device test tab.
joy.cpl: Merge the dinput test and force feedback tabs.
joy.cpl: Add DI_ prefix to dinput dialog constants.
joy.cpl: Use designated initializers in display_cpl_sheets.
joy.cpl: Build without NONAMELESSUNION.
joy.cpl: Add a new xinput controller test tab.
joy.cpl: Draw xinput controller state with gdi32.
joy.cpl: Add a checkbox to test xinput rumble.
joy.cpl: Draw dinput button state with gdi32.
joy.cpl: Draw dinput axes state with gdi32.
joy.cpl: Move dinput test tab logic to dinput.c.
joy.cpl: Remove unnecessary JoystickData structure.
ntdll: Merge next free block before resizing in heap_reallocate.
ntdll: Move large block resize in heap_reallocate.
ntdll: Return the old data size from heap_reallocate.
ntdll: Make realloc implementation more generic.
ntdll: Move large block alloc out of heap_allocate.
ntdll: Move large block free out of heap_free.
ntdll: Move delayed free support out of heap_free.
kernel32/tests: Make sure the LFH is enabled for some sizes.
kernel32/tests: Add more GlobalReAlloc tests with larger size.
kernelbase: Restore HEAP_REALLOC_IN_PLACE_ONLY usage in LocalReAlloc.
wmvcore: Move async reader from winegstreamer/wm_asyncreader.c.
wmvcore/tests: Test that a unique read thread is involved.
wmvcore/tests: Fix OnStreamSample stream number checks.
wmvcore/tests: Test OnTime callback events synchronously.
wmvcore/tests: Track and check last and next output pts.
wmvcore/tests: Test user time granularity and delivered pts.
wmvcore/tests: Test changing compressed samples dynamically.
taskschd: Use CRT functions for remaining heap allocations.
inetcomm: Allocate PROPVARIANT value with CoTaskMemAlloc.
inetcomm: Free IMoniker_GetDisplayName value with CoTaskMemFree.
mountmgr.sys: Allocate UNICODE_STRING buffers with RtlAllocateHeap.
advapi32/tests: Only free GetSecurityInfo pointer on success.
kernel32/tests: Avoid releasing invalid path pointer.
user32: Avoid freeing invalid pointers in WIN_CreateWindowEx.
inetcomm: Allocate PROPVARIANT memory with CoTaskMemAlloc.
ntdll: Split heap region memory allocation to allocate_region helper.
ntdll: Move heap allocation and initialization into RtlCreateHeap.
ntdll: Clear BLOCK_FLAG_PREV_FREE flag out of shrink_used_block.
ntdll: Split heap blocks before creating or resizing used block.
ntdll: Merge prev and next free heap blocks in heap_free_block.
ntdll: Split create_free_block into block_init_free / insert_free_block.
ntdll: Move the insertion of the first block out of create_subheap.
ntdll: Keep subheap parent heap pointer and check for mismatches.
mshtml: Fix realloc size vs element count mixup.
msvcrt: Use operator_delete to free _Condition_variable queue nodes.
mfplat: Clear the clsid pointer in MFTEnum to avoid invalid free.
opengl32: Avoid calling functions that have not been queried yet.
uxtheme: Use bsearch and CompareStringOrdinal in MSSTYLES_LookupProperty.
Sven Baars (6):
mmdevapi/tests: Mark some more capture tests as flaky.
win32u: Use WMCHAR_MAP_SENDMESSAGE for NtUserSendMessage.
mstask: Don't assume a ONCE trigger is on the current day.
win32u: Pass the client instance to NtUserCreateWindowEx.
taskschd/tests: Fix a test failure on w1064v1507.
taskschd/tests: Fix test failures on newer version of Windows 10.
Tim Clem (1):
winex11.drv: Don't ignore virtual EnterNotify events.
Torge Matthies (7):
msvcr100: Implement _StructuredTaskCollection::_RunAndWait.
msvcr100: Move exception_ptr functions to a separate file.
msvcr100: Factor out EXCEPTION_RECORD to exception_ptr conversion.
msvcr100: Implement exception passing from chore threads to _RunAndWait.
msvcr110: Implement _StructuredTaskCollection constructor.
msvcr100: Implement missing_wait exception.
msvcr120: Throw exception in ~_StructuredTaskCollection if _RunAndWait was not called.
Zebediah Figura (20):
wined3d: Use unsigned int for "refcount" variables.
wineusb.sys: Do not close the device handle more than once.
winspool: Define copy_file() only if CUPS is available.
wined3d: Trace the sampler desc in wined3d_sampler_init().
wined3d: Trace the created command stream in wined3d_cs_create().
wined3d: Make a couple of variables const.
d3d9/tests: Do not test the alpha channel in test_multisample_get_front_buffer_data().
ntdll: Trace the name of critical sections which are released while not acquired.
qasf/asfreader: Do not store the media type passed to IFileSourceFilter::Load().
qasf/tests: Expand the IFileSourceFilter tests.
wined3d: Allow exposing lower d3d feature levels from the Vulkan adapter.
wined3d: Allow creating a feature level 9.3 device even if custom vertex attribute divisors are not supported.
wined3d: Require independent blending to create a feature level 9.3 device.
wined3d: Implement multiple viewports for the Vulkan adapter.
wined3d: Require geometry shaders to create a feature level 10.0 device.
wined3d: Require tessellation shaders to create a feature level 11.0 device.
wined3d: Require texture cube array support to create a feature level 10.1 device.
wined3d: Require multiple indirect draw support to create a feature level 11.0 device.
wined3d: Require indirect draw first instance support to create a feature level 11.0 device.
wined3d: Require depth clip control to create a feature level 10.0 device.
Zhiyi Zhang (3):
winex11.drv: Support _KDE_NET_WM_STATE_SKIP_SWITCHER.
winex11.drv: Release window data before calling sync_window_cursor().
Revert "ntdll: Call usleep() instead of NtYieldExecution() in NtDelayExecution().".
Ziqing Hui (4):
wmvcore/tests: Test subtype and formattype for IWMMediaProps.
mf/tests: Test IMediaObject_SetInputType for WMV decoder.
winegstreamer: Add WMV support to wg_format.
winegstreamer: Implement media_object_SetInputType for WMV decoder.
The Wine development release 7.22 is now available.
What's new in this release:
- 32-on-64 thunks for both Vulkan and OpenGL.
- OpenLDAP library bundled and built as PE.
- Support for the RAW print processor in WinPrint.
- More progress on the long types printf format conversion.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.22.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.22 (total 38):
- #41989 Musette crashes in winex11
- #45233 TIDAL installer can't launch installed program in 64bit WINEPREFIX
- #48053 kernel32:change fails randomly (and rarely) in Wine
- #49091 nProtect Anti-Virus/Spyware 4.0 'TKPcFtCb64.sys' crashes on unimplemented function 'ntoskrnl.exe.KeInitializeGuardedMutex'
- #49297 Spark AR studio installer fails to start:Spark AR Studio is not supported in this version of Windows. Please upgrade to Windows 10
- #50097 comctl32:monthcal fails on Wednesdays!!!
- #52511 Hemekonomi hangs on exit due to deadlock between loader_section and Win16 mutex
- #52872 vbscript: incorrect codepage handling in Asc/Chr, causing tests failures on Hindi locale
- #53130 ntdll:threadpool - test_tp_instance() fails (rarely) on Windows 8+
- #53131 ntdll:threadpool - test_tp_multi_wait() fails (rarely) in Wine
- #53266 Syberia: game crashes frequently
- #53268 urlmon:protocol - test_protocol_terminate() fails on Windows and Wine
- #53288 Application compiled with MSVC 2022 ASan does not start, needs QueryVirtualMemoryInformation
- #53296 USB Device Remover crashes on unimplemented function mscoree.dll.StrongNameTokenFromAssembly
- #53387 Vernier USB sensors are not usable in WINE
- #53402 fake dlls such as OPENGL32.dll won't load when their unix lib is linked by LLVM lld
- #53429 opengl32:opengl fails on Debian 11 + Intel GPU
- #53474 Change in memory handling gives crash in Framemaker 8
- #53529 Use wine with custom ld-linux.so.2 32-bit preloader, without hacks
- #53670 vbscript can not compile if expressions with reversed gte, lte, (=>, =<)
- #53677 invalid O_WRONLY read sets errno=EACCES instead of EBADF
- #53741 Gothic II: Night of the Raven (v2.7) fails to start (failure to load msdbi.dll)
- #53782 vbscript can not compile ReDim with list of variables
- #53807 vbscript fails to redim original array in function when passed byref
- #53867 vbscript fails to retrieve property array by index
- #53868 vbscript fails to return TypeName for VT_DISPATCH
- #53870 vkGetPhysicalDeviceSurfaceCapabilities2KHR passes invalid VkSurfaceKHR handle to driver
- #53873 vbscript fails to compile Else If when If is on same line
- #53909 opengl32.dll can't be loaded if win32u.so is not initialized first
- #53915 Pivot animator runs into assert
- #53919 crypt32:cert - testVerifyRevocation() uses an outdated certificate
- #53923 tools/makedep during wine-7.21 build segfaults
- #53930 Build broken with Clang in MSVC mode due to OpenLDAP import using getopt.h
- #53932 ntlm_auth was not found or is outdated.
- #53935 __unDName doesn't support 'G' and 'H' modifiers
- #53940 VARA window is black when launched from RMS Express
- #53954 Saints Row 2022 fails with Unimplemented function KERNEL32.dll.SetProcessInformation
- #53967 Running anything hangs on start up
----------------------------------------------------------------
Changes since 7.21:
Akihiro Sagawa (1):
include: Fix typo in IN4ADDR_LOOPBACK_INIT.
Alex Henrie (82):
include: Add IN4ADDR_*_INIT to mstcpip.h.
include: Add IN6ADDR_*_INIT to ws2ipdef.h.
ws2_32: Add in[46]addr_* constants to import library.
user32: Use standard C functions for memory allocation in combo.c.
include: Include limits.h in stdlib.h.
include: Add wspiapi.h.
comctl32: Fix memory leak on error path in EDIT_MakeUndoFit.
inetcomm: Use standard C functions for memory allocation in mimeole.c.
ole32: Correct warning message in composite_get_leftmost.
sspicli: Use standard C functions for memory allocation.
comdlg32: Use standard C functions for memory allocation in printdlg.c.
ole32: Fix memory leak on error path in CompositeMonikerImpl_CommonPrefixWith (Coverity).
dpnet: Use standard C functions for memory allocation in address.c.
localspl: Use the wcsdup function instead of reimplementing it.
d3dx9/tests: Use standard C functions for memory allocation in mesh.c.
httpapi: Use standard C functions for memory allocation.
msi/tests: Correct a couple of failure messages in test_msirecord.
msxml3: Remove unused function heap_strdupW.
dpnet: Use standard C functions for memory allocation in client.c.
dpnet: Use standard C functions for memory allocation in peer.c.
dpnet: Use standard C functions for memory allocation in server.c.
dpnet: Remove unused function heap_strdupW.
mstask: Use standard C functions for memory allocation in task.c.
ole32: Fix memory leak on error path in composite_get_(left|right)most (Coverity).
msado15: Use standard C functions for memory allocation in command.c.
msado15: Use standard C functions for memory allocation in connection.c.
msado15: Use standard C functions for memory allocation in recordset.c.
msado15: Use standard C functions for memory allocation in stream.c.
msado15: Remove unused functions heap_realloc_zero and strdupW.
inetcomm: Use standard C functions for memory allocation in protocol.c.
dinput/tests: Get rid of pDirectInputCreateEx.
oleaut32: Use standard C functions for memory allocation in olefont.c.
oledb32: Use standard C functions for memory allocation in datainit.c.
sapi: Use standard C functions for memory allocation in token.c.
schedsvc: Use standard C functions for memory allocation in atsvc.c.
schedsvc: Use standard C functions for memory allocation in schedsvc.c.
schedsvc: Remove unused function heap_strdupW.
spoolss: Use standard C functions for memory allocation in router.c.
jscript: Use standard C functions for memory allocation in dispex.c.
jscript: Use standard C functions for memory allocation in jscript.c.
jscript: Remove unused function heap_strdupW.
windowscodecs: Use standard C functions for memory allocation in metadataquery.c.
wldap32: Use the wcsdup function instead of reimplementing it.
winhttp: Use the wcsdup function instead of reimplementing it.
secur32: Use the wcsdup function instead of reimplementing it.
adsldp: Use standard C functions for memory allocation in adsldp.c.
oledb32: Handle memory allocation failure in rowpos_cp_Advise.
appwiz: Use standard C functions for memory allocation.
urlmon: Remove unused function heap_strdupWtoA.
mshtml: Handle realloc failure in add_func_info.
msxml3: Use standard C functions for memory allocation in saxreader.c.
dinput/tests: Avoid using GCC's typeof extension.
webservices: Remove unused function heap_realloc_zero.
dinput/tests: Put the calling convention inside the function pointer parentheses.
kernel32/tests: Avoid using GCC's typeof extension.
explorer: Put the calling convention inside the function pointer parentheses.
windows.media.speech: Put the calling convention inside the function pointer parentheses.
advapi32/tests: Avoid using GCC's typeof extension.
taskschd: Use standard C functions for memory allocation in folder_collection.c.
taskschd: Use standard C functions for memory allocation in regtask.c.
taskschd: Use standard C functions for memory allocation in task.c.
taskschd: Remove unused function heap_strdupW.
hhctrl: Handle memory allocation failure in GetChmString.
oledb32: Use standard C functions for memory allocation in rowpos.c.
shlwapi/tests: Use standard C functions for memory allocation in path.c.
oledlg: Use standard C functions for memory allocation in pastespl.c.
ucrtbase/tests: Put the calling convention inside the function pointer parentheses.
ieframe: Use standard C functions for memory allocation.
urlmon: Use standard C functions for memory allocation.
dnsapi: Use the strdup and wcsdup functions instead of reimplementing them.
pdh: Use standard C functions for memory allocation.
mshtml: Use standard C functions for memory allocation.
dmband: Don't force a calling convention on internal functions.
dmcompos: Don't force a calling convention on internal functions.
dmime: Don't force a calling convention on internal functions.
dmloader: Don't force a calling convention on internal functions.
dmscript: Don't force a calling convention on internal functions.
dmstyle: Don't force a calling convention on internal functions.
dmsynth: Don't force a calling convention on internal functions.
dmusic: Don't force a calling convention on internal functions.
wininet: Use standard C functions for memory allocation.
mshtml: Handle memory allocation failure in ConnectionPoint_Advise.
Alexandre Julliard (68):
winecrt0: Don't build with WINE_UNIX_LIB.
opengl32: Fix parsing of the DisabledExtensions option.
opengl32: Consistently use RtlSetLastWin32Error() everywhere.
win32u: Use RtlGetLastWin32Error() instead of GetLastError().
winex11: Use RtlGetLastWin32Error() instead of GetLastError().
winemac: Use RtlGetLastWin32Error() instead of GetLastError().
include: Disable some inline kernelbase functions when building Unix libraries.
configure: Don't use LDFLAGS to initialize PE flags.
wrc: Add support for named locales.
wmc: Add support for named locales.
configure: Skip the rest of the PE checks if the cross-compiler isn't detected.
ntdll: Use the unique id of the user locale for resource lookup.
include: Remove custom/undocumented language identifiers.
winegcc: Default to msvcrt mode for all PE builds.
winecrt0: Build without -DWINE_NO_LONG_TYPES.
opengl32: Build without -DWINE_NO_LONG_TYPES.
wineusb.sys: Build without -DWINE_NO_LONG_TYPES.
wineandroid: Build without -DWINE_NO_LONG_TYPES.
winemac: Build without -DWINE_NO_LONG_TYPES.
winex11: Fix int/long type mismatches.
winex11: Add a debug helper to print color values.
winex11: Use int instead of long types in a few places.
winex11: Build without -DWINE_NO_LONG_TYPES.
ntdll: Fix int/long type mismatches.
ntdll: Use UINT instead of ULONG in ioctl helpers.
ntdll: Use unsigned int instead of NTSTATUS in async callbacks.
ntdll: Use int instead of long types in a few places.
ntdll: Use unsigned int for the return value of server calls.
ntdll: Build the PE side without -DWINE_NO_LONG_TYPES.
ntdll: Build the Unix side without -DWINE_NO_LONG_TYPES.
ntdll: Always set WINELOADER variable to the current loader name.
ntdll: Always use the name of the current loader to exec a new process.
ntdll: Fall back to the current loader if the corresponding 32/64-bit loader isn't found.
configure: Don't rename the loader to wine64 for multi-arch builds.
makedep: Assume that all modules are built with msvcrt.
kernel32/tests: Don't filter out the WINELOADER variable.
win32: Fix int/long type mismatches.
win32u: Add a debug helper to print color values.
win32u: Use int instead of long types for font sizes and flags.
win32u: Use int instead of long types for monitor index and flags.
win32u: Use int instead of long types in a few places.
win32u: Build without -DWINE_NO_LONG_TYPES.
makedep: Unify the search for static and import libs.
makedep: Pass the actual name of the module in the delay load flags.
winecrt0: Add a helper function and macro to simplify Unix library usage.
winex11.drv: Use the Unix call helpers.
winemac.drv: Use the Unix call helpers.
wineandroid.drv: Use the Unix call helpers.
winealsa.drv: Use the Unix call helpers.
winecoreaudio.drv: Use the Unix call helpers.
wineoss.drv: Use the Unix call helpers.
winepulse.drv: Use the Unix call helpers.
mountmgr.sys: Use the Unix call helpers.
nsiproxy.sys: Use the Unix call helpers.
winebus.sys: Use the Unix call helpers.
wineusb.sys: Use the Unix call helpers.
bcrypt: Use the Unix call helpers.
crypt32: Use the Unix call helpers.
dwrite: Use the Unix call helpers.
kerberos: Use the Unix call helpers.
odbc32: Use the Unix call helpers.
opencl: Use the Unix call helpers.
opengl32: Use the Unix call helpers.
secur32: Use the Unix call helpers.
winegstreamer: Use the Unix call helpers.
winevulkan: Use the Unix call helpers.
ws2_32: Use the Unix call helpers.
winecrt0: Call __wine_unix_call through an explicit pointer in the helper macro.
Alexandros Frantzis (1):
winevulkan: Generate "in_ext" definition on demand.
Anton Baskanov (17):
wined3d: Introduce a new flag to indicate that indirect draws won't be used.
wined3d: Use the chunk allocator for GL element array buffers.
quartz/tests: Add tests for MPEG layer-3 decoder sink allocator.
quartz/tests: Add tests for MPEG layer-3 decoder output media type enumeration.
winegstreamer: Implement output media type enumeration in MPEG layer-3 decoder.
winegstreamer: Check whether transform is supported when creating MPEG layer-3 decoder.
quartz/tests: Add tests for MPEG layer-3 decoder source allocator.
winegstreamer: Set allocator properties for MPEG layer-3 decoder source.
winegstreamer: Hold the streaming lock while destroying wg_transform.
winegstreamer: Destroy the sample queue when stopping the quartz transform.
winegstreamer: Allocate at least 3 buffers for MPEG audio in quartz parser.
include: Add MFSampleExtension_Discontinuity to mfapi.h.
winegstreamer: Set the discontinuity flag in wg_transform.
wined3d: Factor out and expose functions to map/unmap wined3d_streaming_buffer.
ddraw: Use the wined3d_streaming_buffer helpers to manage the streaming vertex buffer.
ddraw: Use the wined3d_streaming_buffer helpers to manage the streaming index buffer.
wined3d: Add a lower size bound for the streaming buffer allocation.
Aric Stewart (1):
server: Take into account extra_size in get_rawinput_buffer.
Bartosz Kosiorek (12):
msvcrt: Add _scwprintf_l implementation.
msvcrt: Add _scwprintf_p_l implementation.
msvcrt: Add _scwprintf_p implementation.
msvcrt: Add _vcprintf_l implementation.
msvcrt: Add _vcwprintf_l implementation.
gdiplus: Add GdipSetCustomLineCapBaseCap implementation.
gdiplus: Remove not used LineCustomCap parameter.
gdiplus: Add GdipSetCustomLineCapBaseInset implementation.
gdiplus: Use GpPointF for drawing in widen_closed_figure.
gdiplus: Add support for widen path with GpCustomLineCap.
gdiplus: Fix shape of CustomLineCap created by GdipCreateAdjustableArrowCap.
gdiplus: Add GdipSetCustomLineCapStrokeCaps implementation and usage.
Bernhard Kölbl (1):
include: Add GUIDs for video decoder profiles.
Biswapriyo Nath (1):
include: Add Stg functions declaration in propvarutil.h.
Brendan Shanks (2):
configure: On macOS, build the loader targeting 10.7 when preloader is used.
ntdll: Add native thread renaming for macOS.
Connor McAdams (5):
uiautomationcore: Add UiaFind stub.
uiautomationcore: Partially implement UiaFind.
uiautomationcore: Add support for ExcludeRoot parameter in UiaFind.
uiautomationcore: Store traverse_uia_node_tree() results in a dynamic array.
uiautomationcore: Add support for returning multiple HUIANODEs from UiaFind.
Eric Pouech (27):
winedbg: Don't use invalid address mode in exception prolog.
cmd: Don't write outside of variable array.
kernel32/tests: Fix sporadic process test failure.
d3d11/tests: Introduce a clear_uav() helper.
d3dx9_36/tests: Introduce union to help passing float values in DWORD.
d3dx9_36/tests: Use correct integral type.
dbghelp: Fix handling of BA_OP_ChangeCodeLength (PDB).
dbghelp: Use same compiland's pathname as native (PDB).
dbghelp: Create a single compiland instance by name in PDB.
dbghelp: Function static variables should be found by address.
ntdll/tests: Adapt file tests on delete-on-close / delete disposition to Windows 10.
ntdll/tests: Fix share mode for some delete-on-close/delete disposition tests.
ntdll/tests: Extend file tests about delete-on-close and disposition.
dbghelp: Implement SymAddrIncludeInlineTrace().
dbghelp: Add partial implementation of SymQueryInlineTrace.
comctl32/tests: Fix monthcal selection tests.
ucrtbase: Extend ucrtbase's undname tests.
msvcrt: Rename modifier into qualifier.
ucrtbase: Handle undecoration of function's reference qualifiers (C++11).
dbghelp: Convert of couple more of string literals.
dbghelp: Search debug info files into local cache of debuginfod.
dbghelp: Locate alternate debug info files by their build id.
dbghelp: Fix typos in codeview_is_type_forward().
wined3d: Use long type for interlock variables/fields.
wined3d: Use pointer to non long integral type for some helpers.
wined3d: Change return value for *get_emul_mask() to unsigned int.
cmd: Use OEM code page when reading a file.
Erich Hoover (1):
ntdll: Add support for FreeBSD style extended attributes.
Etaash Mathamsetty (2):
ntoskrnl.exe: Implement KeQueryMaximumProcessorCount/Ex.
ntoskrnl.exe: Implement KeQueryActiveProcessorCount.
Evan Tang (2):
mshtml: Add tests for things removed in IE11.
mshtml: Hide things that were removed in IE11.
Fabian Maurer (1):
imm32: Prevent deadlock on unload.
Gabriel Ivăncescu (35):
mshtml/tests: Implement IServiceProvider and few other interfaces needed for navigation.
mshtml: Expose IEventTarget on HTMLDocumentObj and forward it to the doc node.
mshtml: Forward toString to the document node.
mshtml: Forward IDispatchEx to the document node.
mshtml: Handle cNames > 1 in GetIDsOfNames properly.
mshtml: Allow EVENT_BIND_TO_TARGET to bind to the window.
mshtml: Do not register Gecko load event handler twice.
mshtml: Dispatch Gecko events to the window if there's no node.
mshtml: Add visibilitychange event stub.
mshtml: Store the nsevent listener descs in a table.
mshtml: Implement pageshow event.
mshtml: Dispatch beforeunload event to the window.
mshtml: Implement unload event.
mshtml: Implement pagehide event.
jscript: Use CRT allocation functions.
mshtml: Fix performance variant leak.
mshtml: Link the performance.timing from the window at creation.
mshtml: Implement performance.timing.navigationStart.
mshtml: Implement performance.timing.redirectStart.
mshtml: Implement performance.timing.unloadEventStart & unloadEventEnd.
mshtml: Implement the remaining pre-response performance.timing props.
mshtml: Implement performance.timing.responseStart & responseEnd.
mshtml: Implement performance.timing.domLoading.
mshtml: Implement performance.timing.domInteractive.
mshtml: Implement performance.timing.domComplete.
mshtml: Implement performance.timing.domContentLoadedEventStart & End.
mshtml: Get rid of useless window check.
mshtml: Implement performance.timing.loadEventStart & loadEventEnd.
mshtml: Implement performance.timing.msFirstPaint.
jscript: Initialize source and lastIndex for RegExp.prototype.
jscript: Pass a jsval as the 'this' to jsdisp_call_value.
jscript: Pass a jsval as the 'this' to disp_call_value.
jscript: Pass correct 'this' to callbacks called by builtins.
jscript: Throw proper error when calling Map constructor as method.
jscript: Throw proper error when calling Set constructor as method.
Georg Lehmann (2):
winevulkan: Convert unions when nessecary.
winevulkan: Update to VK spec version 1.3.235.
Gerald Pfeifer (2):
msado15: Avoid uninitialized variable warning in fields_get_Item.
ntdll: Make init_builtin_dll return a value on FreeBSD.
Hans Leidekker (11):
crypt32/tests: Remove OCSP revoked cert test.
libs: Import code from upstream openldap 2.5.13.
wldap32/tests: Get rid of workarounds for old Windows versions.
wldap32/tests: Switch to db.debian.org.
wldap32: Get rid of the function documentation.
wldap32: Add a prefix to functions that conflict with OpenLDAP exports.
wldap32: Add a prefix to definitions that conflict with OpenLDAP headers.
wldap32: Use the bundled liblber and libldap.
ldap: Don't depend on the getopt.h header.
ldap: Mark ldap_int_destroy_global_options() as a destructor when building with Clang.
msv1_0: Drop the ntlm_auth version check.
Ivo Ivanov (8):
dinput: Prevent a potential array overflow error during the conversion from spherical to Cartesian coordinates.
dinput: Remove redundant physical range values.
windows.gaming.input: Add gain of 1.0 to the initialization params of (Constant|Ramp)Effect's SetParameters.
dinput: Always send both "Type Specific" and "Set Effect" reports on initial Download.
windows.gaming.input: Implement IForceFeedbackMotor_get_SupportedAxes.
dinput/tests: Reduce the available FFB axes to X and Y in test_windows_gaming_input.
windows.gaming.input: Implement the number of FFB axes according to the SupportedAxes property.
windows.gaming.input: Assume that joysticks with single FFB axis are racing wheels.
Jacek Caban (18):
winevulkan: Don't try to convert ignored VkWriteDescriptorSet members.
winevulkan: Move need for output member copy check to needs_conversion.
winevulkan: Align conversion_context_alloc result.
winevulkan: Convert all 32-bit structs containing pNext pointer.
winevulkan: Convert all 32-bit structs containing pointer or pointer-size members.
winevulkan: Convert dispatchable handle arrays in 32-bit thunks.
winevulkan: Convert pointers to pointer-sized variables in 32-bit thunks.
winevulkan: Convert dispatchable handle array struct members.
winevulkan: Introduce find_next_struct32.
winevulkan: Use PTR32 for pointer-size variables in 32-bit structs.
winevulkan: Always convert 32-bit pointer arrays.
winevulkan: Use separated implementations for all 32-bit Unix calls.
winevulkan: Add __wine_unix_call_wow64_funcs support.
winevulkan: Never copy pNext pointer in 32-bit struct conversion functions.
winevulkan: Return error if vkMapMemory would truncate pointer on wow64.
win32u: Remove __wine_get_wgl_driver PE entry point.
win32u: Don't use CDECL for __wine_get_wgl_driver.
winevulkan: Don't try to convert unions without selectors.
Jason Millard (3):
vbscript: Add support for VT_DISPATCH in Global_TypeName.
vbscript: Update parser to allow statements after ELSE without new line.
vbscript: Add support for redim byref.
Jinoh Kang (1):
ntdll: Use an acquire/release pair on the IOSB status.
Martin Storsjö (1):
ntdll: Avoid accidentally picking up ntdll's __wine_unix_call_funcs for other DLLs.
Matthew Tran (7):
dinput/tests: Add more tests for HidP_SetUsageValue.
dinput/tests: Fix incorrect HID STRING_INDEX tag value.
hidparse.sys: Fix incorrect HID STRING_INDEX tag value.
ntoskrnl.exe/tests: Fix incorrect HID STRING_INDEX tag value.
winebus.sys: Fix incorrect HID STRING_INDEX tag value.
winexinput.sys: Fix incorrect HID STRING_INDEX tag value.
hid: Fix HidP_(Get|Set)(Scaled)UsageValue with usage ranges and arrays.
Mohamad Al-Jaf (15):
mscoree: Add StrongNameTokenFromAssembly stub.
dbghelp: Add SymAddrIncludeInlineTrace stub.
include/windowscontracts: Bump contractversion to 14.
windows.media: Add stub DLL.
windows.media: Stub IClosedCaptionPropertiesStatics interface.
windows.media/tests: Add Closed Caption Properties tests.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontColor.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontOpacity.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontSize.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontStyle.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontEffect.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_BackgroundColor.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_BackgroundOpacity.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_RegionColor.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_RegionOpacity.
Nikolay Sivov (36):
d3drm: Use CRT allocation functions.
d3drm/tests: Use CRT allocation functions.
vbscript: Use CRT allocation functions.
d3dx9: Add missing path conversion call in D3DXLoadVolumeFromFileA().
d2d1: Silently ignore non-default state block implementations.
vbscript: Implement FormatCurrency().
vbscript: Implement FormatPercent().
vbscript: Implement FormatDateTime().
vbscript: Implement FormatNumber().
oleaut32/tests: Add a test for VT_NULL input for VarFormatDateTime().
d2d1: Derive shared bitmap format from the source bitmap.
d2d1/tests: Use d2d error code name for unsupported pixel format error code.
vbscript: Handle index read access to array properties.
ntdll: Do not set system locales that resolve to custom-unspecified.
xmllite/writer: Handle surrogate pairs.
xmllite/reader: Use consistent formatting for traces.
kernelbase: Add SetProcessInformation().
comctl32/animate: Use CRT allocation functions.
comctl32/pager: Use CRT allocation functions.
comctl32/updown: Use CRT allocation functions.
comctl32/treeview: Use CRT allocation functions.
comctl32/progress: Use CRT allocation functions.
comctl32/ipaddress: Use CRT allocation functions.
comctl32/hotkey: Use CRT allocation functions.
vbscript: Handle CP_UTF8 in Chr()/Asc().
ntdll: Use system language as preferred, if user language is custom-unspecified.
kernelbase: Forward SetThreadIdealProcessor() to ntdll.
kernel32/tests: Remove workarounds for SetThreadIdealProcessor().
kernelbase: Forward thread priority boost functions to ntdll.
kernelbase: Forward GetThreadIdealProcessorEx() to ntdll.
vbscript: Fix a typo in variable name in LBound().
vbscript/tests: Fix redim tests.
oleaut32/safearray: Fix an error code when trying to redim fixed arrays.
kernel32/profile: Trim spaces from section names on load.
vbscript/tests: Add some tests for lte/gte tokens.
vbscript: Accept "><" as inequality operator.
Paul Gofman (17):
winhttp: Always send Content-length with PUT.
ws2_32: Return success for setting SO_ERROR.
xinputuap.dll: Add new dll.
wmic: Don't set WBEM_FLAG_FORWARD_ONLY flag on query.
wmic: Call _BeginEnumeration() before iterating class object.
wmic: Handle VariantChangeType() failures.
wmic: Add nicconfig alias.
wmic: Support array of BSTRs in convert_to_bstr().
winhttp: Add reference counting for connection.
winhttp/tests: Avoid race condition on closing connection in server_thread().
winhttp: Send connection close notifications in finished_reading().
winhttp: Store connection in websocket.
winhttp: Move flags to websocket header.
winhttp: Move read buffer to websocket.
winhttp: Do not reference request from socket.
winhttp: Set name resolution timeout in download_script().
winhttp: Cache script in download_script().
Piotr Caban (16):
winspool.drv: Use CRT allocation functions.
localspl: Use wcslen instead of lstrlenW.
localspl: Use CRT allocation functions.
winspool: Remove strdupW helper.
winspool: Allow specifying out buffer in DEVMODEdupWtoA.
winspool: Use GetJobW in GetJobA implementation.
winprint: Add stub dll.
winprint: Implement RAW print processor.
gdi32: Don't crash in StartDoc on NULL DOCINFO.
gdi32: Get printer output file name in StartDoc.
winspool: Correctly free data allocated with GdiConvertToDevmodeW.
localspl: Run AddPortEx tests when InitializePrintMonitor2 is used.
localspl: Run EnumPorts tests when InitializePrintMonitor2 is used.
localspl: Run OpenPort tests when InitializePrintMonitor2 is used.
localspl: Remove unused OpenPortEx function pointers.
localspl: Run XcvOpenPort tests when InitializePrintMonitor2 is used.
Robert Wilhelm (1):
vbscript: Handle another variant of LTE/GTE tokens.
Rémi Bernon (52):
server: Remove no-op raw_msg.foreground release.
ntdll: Delay loading unixlibs until the functions are requested.
user32: Move touch related functions to input.c.
user32: Add GetPointerTouchInfo(History) stubs.
kernel32: Validate pointer before calling HeapSize.
kernel32: Lock heap and validate pointer in LocalHandle.
kernelbase: Validate pointers before calling heap functions.
ntdll: Cleanup heap block macro definitions.
opengl32: Generate wow64 thunks.
opengl32: Manually write glPathGlyphIndexRangeNV wow64 thunk.
opengl32: Implement wow64 thunk for wglGetProcAddress.
opengl32: Implement wow64 thunk for wglMakeCurrent (et al.).
opengl32: Implement wow64 thunk for wglCreateContextAttribsARB.
opengl32: Implement wow64 thunk for wglCreatePbufferARB.
opengl32: Implement wow64 thunk for wglGetPbufferDCARB.
opengl32: Implement wow64 thunks for input pointer arrays.
opengl32: Implement wow64 thunks for glFenceSync (et al.).
dwrite: Avoid memcpy source overflow in GetFontAxisValues.
opengl32: Implement wow64 thunk for glGetString (et al.).
opengl32: Use manual win32 thunks for glMapBuffer (et al.).
opengl32: Implement wow64 thunks for glMapBuffer (et al.).
opengl32: Cast wow64 pointers in glGet(VertexAttrib)Pointerv.
opengl32: Use the +opengl debug channel everywhere.
dinput/tests: Add more HidP_(Set|Get)UsageValue tests with array caps.
hid: Move (get|set)_usage_value around and use it for scaled values.
hidclass.sys: Add more trace messages.
winebus.sys: Add more trace messages.
server: Set missing error status for get_process_image_name.
kernel32/tests: Add more (Global|Local)ReAlloc tests.
comdlg32: Call GlobalReAlloc with GMEM_MOVEABLE flag.
ole32: Call GlobalReAlloc with GMEM_MOVEABLE flag.
riched20: Call GlobalReAlloc with GMEM_MOVEABLE flag.
winemac.drv: Call GlobalReAlloc with GMEM_MOVEABLE flag.
user32: Call GlobalReAlloc with GMEM_MOVEABLE flag.
kernelbase: Don't try in-place HeapReAlloc in LocalReAlloc.
kernelbase: Handle LMEM_MODIFY flag first in LocalReAlloc.
kernelbase: Handle LMEM_DISCARDABLE flag specifically in LocalReAlloc.
kernelbase: Avoid moving locked HLOCAL pointer without LMEM_MOVEABLE.
kernel32: Return success from GlobalReAlloc with locked HGLOBAL pointer.
kernelbase: Only discard HLOCAL with LMEM_MOVEABLE and if not locked.
rpcss: Use I_Rpc(Free|Allocate) in MIDL_user_(allocate|free).
winex11.drv: Reposition windows on desktop resize only when useful.
ntdll: Rename heap block ALIGNMENT macro to BLOCK_ALIGN.
ntdll: Use BLOCK_FLAG_LARGE rather than subheap pointer.
ntdll: Compute effective flags in unsafe_heap_from_handle.
ntdll: Compute block size before calling heap_(re)allocate.
ntdll: Pass a heap block pointer to initialize_block.
dinput/tests: Test zero-ed force feedback effect parameters.
windows.gaming.input: Set initial effect parameters within the CS.
appwiz.cpl: Free wine_get_dos_file_name memory with HeapFree.
mshtml: Free wine_get_dos_file_name memory with HeapFree.
winepath: Free wine_get_(dos|unix)_file_name memory with HeapFree.
Santino Mazza (5):
kernel32: Forward CreateFileMappingFromApp kernel32 to kernelbase.
kernel32: Forward MapViewOfFileFromApp kernel32 to kernelbase.
kernelbase: Create GetGeoInfoEx stub.
kernel32/tests: Test for GetGeoInfoEx.
kernelbase: Implement GetGeoInfoEx.
Sven Baars (7):
ntdll/tests: Add some Software\Classes subkey tests.
server: Recursively obtain the Wow6432Node parent.
ntdll/tests: Test that NtCreateKeyEx() also recursively obtains the Wow6432Node parent.
ntdll/tests: Add some some Software\Classes query and enumerate tests.
server: Don't return the actual 32-bit Software\Classes key.
ntdll/tests: Factor out the NtEnumerateKey() tests.
ntdll/tests: Refactor the Software\Classes tests.
Tim Clem (1):
winspool.drv: Ignore input in DocumentPropertiesA unless DM_IN_BUFFER is passed.
Zebediah Figura (16):
ntdll: Make the "not found" trace in nt_to_unix_file_name_no_root() less misleading.
setupapi/tests: Add more tests for buffer size handling in SetupDiGetDeviceInterfaceDetail().
setupapi: Correctly calculate the required size in SetupDiGetDeviceInterfaceDetailA().
setupapi: Fill the required size in SetupDiGetDeviceInterfaceDetail() also on success.
ntoskrnl/tests: Test retrieving SPDRP_CONFIGFLAGS.
setupapi: Set SPDRP_CONFIGFLAGS in SetupDiInstallDevice().
ntoskrnl: Set SPDRP_CONFIGFLAGS in install_device_driver().
d3dcompiler: Print message output with ERR() in D3DCompile2().
d3dcompiler: Print message output with ERR() in D3DPreprocess().
winex11: Print a winediag err if XComposite is missing.
configure: Override PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH for 32-bit builds on 64-bit hosts.
quartz: Use a single message thread for all filter graphs.
ntdll: Add a get_free_list_block_size() helper.
ntdll: Always trace sizes with %#x.
ntdll: Avoid casting a struct to its first field.
ntdll: Remove an unnecessary cast.
Zhiyi Zhang (4):
dwmapi: Fallback to 60Hz if the display frequency is invalid in get_display_frequency().
explorer/tests: Add taskbar tests.
explorer: Use a valid taskbar position when the taskbar is hidden.
win32u: Fix a memory leak.
Ziqing Hui (6):
wmvcore/tests: Add tests for IWMProfile_GetStreamByNumber.
winegstreamer: Implement profile_GetStreamByNumber.
mf/tests: Test IMediaObject_GetStreamCount for WMV decoder.
winegstreamer: Implement media_object_GetStreamCount for WMV decoder.
mf/tests: Test IMediaObject_GetInputType for WMV decoder.
winegstreamer: Implement media_object_GetInputType for WMV decoder.
The Wine development release 7.21 is now available.
What's new in this release:
- OpenGL library converted to PE.
- Support for multi-architecture PE builds.
- More preparation work for Vulkan 32-on-64 support.
- Support for creating import libraries without dlltool.
- Locale data updates.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.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 7.21 (total 25):
- #29974 StarBurn 13 crashes on disabling skins
- #51418 fotoBiz X - Fatal error on startup
- #51779 Visual Studio msvsmon fails to bind server socket in child processes
- #52467 Kaseya Live Connect 9.5.0.28 management software sub-component crashes
- #53081 Retina Mode broken since 7f7f9fa22c5cbe629e79a54257d5bd21403e80db
- #53100 Euphoria: freezes every second while controllers are plugged in
- #53153 SetWindowPos() incorrectly computes exposure region of parent window with WS_EX_COMPOSITED
- #53484 dxgi:dxgi times out on the debiant VM
- #53590 GetFileInformationByHandleEx() not fully implemented causing boost::directory_iterator failures with boost v1.79 and newer
- #53606 First intro stops on last frame in multiple games (Darksiders Genesis, The Medium)
- #53617 Imaris fails at exit with error, and keeps a process running.
- #53631 Multiple 64-bit applications have issues with dialogs (DipTrace, foobar2000 installer)
- #53676 vbscript can not exec_script - invalid number of arguments for Randomize
- #53738 Cherry MIDI sequencer cannot read files with a path including CJK characters
- #53749 Hotel Giant 2: black screen after changing resolution or enabling anti-aliasing
- #53768 Winfile crashes due to unimplemented user32.dll.DragObject
- #53798 Port Royale 2: incomplete text rendering
- #53849 Apiset DLLs broken in non-PE builds
- #53856 Wine 7.20 installs some windows files to the wrong location
- #53859 Hades shows black screen at Vulkan mode
- #53861 Non-PE builds fail after "makefiles: Add support for multiple PE architectures."
- #53872 Adobe Reader XI crash opening settings in Protected Mode
- #53879 Gothic 1 doesn't launch (msdbi.dll failed to initialize)
- #53888 vbscript does not allow Mid on non VT_BSTR
- #53893 ws2_32:sock - test_WSASocket() gets an unexpected raw protocol name in French on Windows
----------------------------------------------------------------
Changes since 7.20:
Alex Henrie (13):
include: Include minidumpapiset.h in imagehlp.h.
msvcrt: Change return type of _splitpath_s to errno_t.
include: Add _splitpath_s.
msvcrt: Change return type of freopen_s to errno_t.
include: Add freopen_s.
msvcrt: Change return type of wcsncat_s to errno_t.
include: Add wcsncat_s.
cmd: Remove inapplicable comment from WCMD_getfileowner.
cmd: Use the wcsrev function instead of reimplementing it.
include: Add sdkddkver.h.
uuid: Add propkey.h.
include: Define PROPSHEETPAGE[AW]_V[1-4].
mscoree: Use standard C functions for memory allocation in assembly.c.
Alexandre Julliard (34):
makefiles: Add support for multiple PE architectures.
makedep: Always generate a fake module for the native architecture.
ntdll: Fix trace formats for 64-bit values on ARM64.
wow64: Load dependencies of 64-bit modules only from the 64-bit system directory.
msvcrt: Use WINAPIV calling convention for variadic functions.
xml2: Use WINAPIV calling convention for variadic functions.
xslt: Use WINAPIV calling convention for variadic functions.
ntdll: Reimplement KeUserModeCallback in assembly on i386.
ntdll: Reimplement KeUserModeCallback in assembly on x86_64.
ntdll: Reimplement KeUserModeCallback in assembly on ARM.
ntdll: Reimplement KeUserModeCallback in assembly on ARM64.
faudio: Import upstream release 22.11.
png: Import upstream release 1.6.38.
zlib: Import upstream release 1.2.13.
lcms2: Import upstream release 2.14.
xml2: Import upstream release 2.10.3.
xslt: Import upstream release 1.1.37.
nls: Update locale data to CLDR version 42.
kernelbase: Update timezone data to version 2022f.
win32u: Always use the full union for sysparams entries.
ntdll: Don't inline NtCurrentTeb() in Unix libraries.
openal32: Remove dll.
ntdll: Use a pthread key for the TEB on all platforms.
ntdll: Move the initialization of the thread register into signal_start_thread().
ntdll: Use a separate function pointer for the TEB hack on ARM64.
ntdll: Use a proper Unix syscall for load_so_dll().
ntdll: Use a proper Unix syscall for init_builtin_dll().
ntdll: Use a proper Unix syscall for unwind_builtin_dll().
ntdll: Use a proper Unix syscall for RtlGetSystemTimePrecise().
Revert "light.msstyles: Add nonclient metrics.".
ntdll: Add a Wine-specific process info class for the LDT copy.
makedep: Remove support for "hybrid" Unix libraries.
winegcc: Remove support for "hybrid" Unix libraries.
winebuild: Remove support for "hybrid" Unix libraries.
Anton Baskanov (6):
quartz/tests: Add tests for MPEG layer-3 decoder IEnumMediaTypes.
winegstreamer: Add a skeleton MPEG layer-3 decoder filter.
quartz/tests: Add tests for MPEG layer-3 decoder accepted media types.
winegstreamer: Reject incompatible input media types in MPEG layer-3 decoder.
quartz/tests: Add tests for MPEG layer-3 decoder sink connection.
winegstreamer: Reject incompatible output types in MPEG layer-3 decoder.
Arkadiusz Hiler (1):
cmd/tests: Make sure for /f doesn't loop infinitely on NULs.
Bartosz Kosiorek (19):
msvcrt: Add _fprintf_l implementation.
msvcrt: Add _fprintf_p implementation.
msvcrt: Add _fprintf_p_l implementation.
msvcrt: Add _fprintf_s_l implementation.
msvcrt: Add _fwprintf_p implementation.
msvcrt: Add _fwprintf_p_l implementation.
msvcrt: Add _fwprintf_s_l implementation.
msvcrt: Add _scprintf_l implementation.
msvcrt: Add _scprintf_p implementation.
msvcrt: Add _scprintf_p_l implementation.
msvcrt: Add _swprintf_p_l implementation.
msvcp90: Add _Cin_func implementation.
msvcp90: Add _Wcin_func implementation.
msvcp90: Add _Cout_func implementation.
msvcp90: Add _Clog_func implementation.
msvcp90: Add _Cerr_func implementation.
msvcp90: Add _Wcout_func implementation.
msvcp90: Add _Wclog_func implementation.
msvcp90: Add _Wcerr_func implementation.
Bernhard Kölbl (3):
mf/tests: Test for copier node in topology using evr.
mf: Assume same up and downstream media type for copier creation.
mf: Set media types for output nodes in the media session.
Brendan Shanks (12):
ntdll: Print correct thread rename trace if non-pseudo-handle to current thread is used.
winemac: Remove pre-Mac OS X 10.8 workarounds.
ntdll: Set the QoS class of the main Wine thread on macOS.
ntdll: Add a Wine-specific THREADINFOCLASS to set just the native thread name.
ntdll: Add native thread renaming for exception method.
dsound: Set name of internal threads.
winepulse: Set name of internal threads.
winealsa: Set name of internal threads.
ntdll: Fix runtime availability check for pthread_attr_set_qos_class_np.
ntdll: Suppress deprecation warnings when calling MPTaskIsPreemptive().
ntdll: Stop using deprecated kIOMasterPortDefault constant.
winemac.drv: Stop using deprecated kIOMasterPortDefault constant.
Connor McAdams (7):
uiautomationcore: Add UiaNavigate stub.
uiautomationcore: Add parent link check to prepare_uia_node().
uiautomationcore: Add helper function for returning a new node from an IWineUiaProvider.
uiautomationcore: Implement ConditionType_True parent navigation for HUIANODEs.
uiautomationcore: Partially implement ConditionType_True sibling navigation for HUIANODEs.
uiautomationcore: Implement ConditionType_True child navigation for HUIANODEs.
uiautomationcore: Add support for navigating between sibling node providers of a parent HUIANODE.
Dmitry Timoshkov (1):
uxtheme: Protect CloseThemeData() from invalid input.
Eric Pouech (13):
dbghelp: No longer pass inline site's address upon creation.
dbghelp: Store address range as FAM in symt_inlinesite.
dbghelp: Use addr_range for storing symt_function address and size.
dbghelp: Get rid of symt_inlinesite by merging it inside symt_function.
user32: Fix rounding issue in edit tests for char pos messages.
conhost/tests: Fix some conditions on tty test termination.
rpcrt4: Fix unexpected exception in ndr_marshal tests.
shell32/tests: Improve timeout detection in shlexec tests.
dbghelp: Added missing DECLSPEC_HIDDEN attribute.
dbghelp: Introduce a helper for module lookup.
dbghelp: Support loading modules from Wine's multi-arch build tree.
cmd: Use CRT file I/O function inside 'for /F' handling.
riched20: Fix failing test in UTF8 locales.
Etaash Mathamsetty (1):
ntoskrnl.exe: Implement KeInitializeGuardedMutex.
Evan Tang (4):
kernel32: Null-terminate the atom names passed to NtAddAtom.
riched20: Move test class creation to a helper function.
riched20: Add test for EN_CHANGE events during window creation.
riched20: Don't emit EN_CHANGE events during window creation.
Fabian Maurer (6):
wbemproxy/tests: Prevent double free (Coverity).
shell32: Prevent double free (Coverity).
win32u: Prevent use after free (Coverity).
ntdll/tests: Fix uninitialized read in ok (Coverity).
sapi: Prevent resource leak (Coverity).
msvcrt/tests: Fix typo (Coverity).
Gabriel Ivăncescu (12):
mshtml/tests: Handle broken localStorage on native.
mshtml: Implement isContentEditable for HTML elements.
mshtml: Improve locale stub for KeyboardEvent.
mshtml: Return E_ABORT if wine-gecko's OnDataAvailable aborts the binding.
mshtml: Don't include fragment in storage event's url prop.
mshtml: Implement HTMLLocation_put_hash.
mshtml: Implement document.importNode.
mshtml: Use nsIDOMDocument instead of nsIDOMHTMLDocument where possible.
jscript: Convert filetime to date properly using unsigned division.
include: Add IDOMParser interface, dispinterface, and coclass.
include: Add CLSID_XHTMLDocument and CLSID_SVGDocument.
mshtml: Add SVG and XHTML document information to the registry.
Georg Lehmann (4):
winevulkan: Update to VK spec version 1.3.233.
winevulkan: VkDeviceAddress needs alignment.
winevulkan: Fix handling bitmasks in needs_alignment.
winevulkan: Fix handling enums in needs_alignment.
Hans Leidekker (5):
rsaenh: Pass exact size to BCryptFinishHash().
bcrypt: Use get_object() in more places.
bcrypt: Validate hash output length.
netprofm: Store a list manager pointer in the network object instead of creating a new list manager.
netprofm: Use CRT allocation functions.
Jacek Caban (41):
winevulkan: Support optional dispatch handles.
winevulkan: Assert Unix call result in generated thunks.
winevulkan: Assert Unix call result in private thunks.
winevulkan: Don't check thunk_type in VkParam.needs_unwrapping.
winevulkan: Don't store conversion functions in VkParam.
winevulkan: Introduce needs_host_type helper function.
winevulkan: Remove unneeded needs_conversion() calls.
winevulkan: Store returnedonly attribute in VkVariable.
winevulkan: Pass direction to needs_conversion helpers.
winevulkan: Move get_conversions implementation to VkVariable.
winevulkan: Remove no longer used Direction.INPUT_OUTPUT.
winevulkan: Pass type as uint32_t to wine_vk_unwrap_handle.
winevulkan: Support output array conversion in _generate_array_conversion_func.
winevulkan: Drop "static_array" from conversion function names.
winevulkan: Use separated classes for struct and array conversions.
winevulkan: Use struct conversion functions for array conversion implementations.
winevulkan: Don't declare host types for structs that don't need it.
winevulkan: Skip unsupported functions in a few more places.
mshtml: Always use navigate_fragment for fragment-only navigation in navigate_uri.
winevulkan: Move find_next_struct implementation to vulkan_private.h.
winevulkan: Convert struct chains in struct conversion functions.
winevulkan: Avoid unneeded copies in struct conversion functions.
winevulkan: Support output dynamic array conversion.
winevulkan: Always fill output in fill_luid_property.
winevulkan: Store parent in VkVariable.
winevulkan: Support pointer dynamic array lengths.
winevulkan: Use generated thunks for vkGetImageSparseMemoryRequirements(2) conversion.
winevulkan: Use const types in conversion function declarations.
winevulkan: Convert struct chain conversions for all structs that need it.
winevulkan: Use generated thunks for VkPipelineCreationFeedback conversion.
winevulkan: Support conversion of optional parameters.
winevulkan: Fix handling unions in needs_alignment().
winevulkan: Preserve const in array conversion output types.
winevulkan: Add support for pointer array conversion.
winevulkan: Use local params struct declarations for 32-bit thunks.
winevulkan: Fix host aliases declaration.
winevulkan: Use local structs declarations for 32-bit conversion functions.
winevulkan: Get rid of *_host types.
winevulkan: Remove no longer used make_vulkan functions.
winevulkan: Move needs_unwrapping implementation to VkVariable.
winevulkan: Don't generate private thunk prototypes for PE-only functions.
Jinoh Kang (7):
server: Correctly expose composited parent window and its child on position change.
server: Redraw composited window child when its z-order changes.
server: Don't invalidate the newly exposed child region on the parent if it doesn't clip children.
ntdll: Move CFI helper macros out of signal_x86_64.c.
ntdll: Add CFI unwind info to __wine_syscall_dispatcher (i386).
comctl32/tests: Flush events before testing edit control SetFocus() messages.
comctl32/tests: Flush events before testing edit control IME messages.
Martin Storsjö (5):
winegcc: Prefer -Wl,--pdb=<file> over -Wl,-pdb,<file>.
ntdll: Add ARM EHABI unwind instructions in assembly functions.
ntdll: Implement ARM EHABI unwinding.
ntdll: Write ret_len with the right size in user_mode_callback_return on arm64.
ntdll: Readd the missed initialization of the thread register on arm.
Mohamad Al-Jaf (2):
setx: Add stub program.
certutil: Add stub program.
Nikolay Sivov (9):
mf/session: Add support for MESessionScrubSampleComplete event.
vbscript: Implement PRNG functions.
comctl32/edit: Check for control destruction on notification return.
user32/edit: Check for control destruction on notification return.
vbscript: Fix a typo in Right() argument type check.
vbscript: Improve invalid argument checks in Right().
vbscript: Improve argument type handling in Mid().
d2d1/tests: Use correct flags constants with D3D11CreateDevice().
vbscript: Add support for argument list in ReDim.
Paul Gofman (28):
ws2_32/tests: Add tests for SO_EXCLUSIVEADDRUSE.
ws2_32: Track SO_EXCLUSIVEADDRUSE option value.
server: Make SO_REUSEADDR and SO_EXCLUSIVEADDRUSE mutually exclusive.
server: Use struct bound_addr as a key to bound_addresses_tree.
server: Set error in check_addr_usage().
server: Use htonl() with INADDR_ANY in ipv4addr_from_v6().
server: Do not translate loopback addr in ipv4addr_from_v6().
server: Support SO_EXCLUSIVEADDRUSE socket option.
http.sys: Use SO_EXCLUSIVEADDRUSE on listening socket.
include: Add windows.gaming.ui.idl.
windows.gaming.ui.gamebar: Add stub DLL.
windows.gaming.ui.gamebar: Add IGameBarStatics interface.
mf: Handle timer time behind clock time in present_clock_schedule_timer().
mf/samplegrabber: Process samples in paused state in ignore_clock mode.
mf/samplegrabber: Handle samples receieved in paused state.
secure32/tests: Add tests for ApplyControlToken (schannel).
secur32: Allocate buffer for either ISC_REQ_ALLOCATE_MEMORY or NULL output in schan_InitializeSecurityContextW().
secur32: Add semi-stub for ApplyControlToken (schannel).
secur32: Implement ApplyControlToken for SCHANNEL_SHUTDOWN.
ws2_32/tests: Don't test protocol name in test_WSASocket().
ntdll: Pass limit instead of zero_bits to map_view().
ntdll: Factor out allocate_virtual_memory().
ntdll: Support HighestEndingAddress in NtAllocateVirtualMemoryEx().
ntdll/tests: Add tests for memory address requirements.
wow64: Support MEM_ADDRESS_REQUIREMENTS in wow64_NtAllocateVirtualMemoryEx().
wow64: Set HighestEndingAddress in wow64_NtAllocateVirtualMemoryEx() if it is absent.
ntdll: Pass alignemnt mask to map_view().
ntdll: Support specified alignment in NtAllocateVirtualMemoryEx().
Piotr Caban (5):
wineps.drv: Add DrvDocumentPropertySheets implementation.
winspool.drv: Use DrvDocumentPropertySheets driver entry in DocumentProperties.
wineps.drv: Remove DrvDocumentProperties entry point.
msvcrt: Fix errno set on read from write-only file.
msvcrt: Fix errno set on write to read-only file.
Rémi Bernon (64):
win32u: Add a BOOL force parameter to update_display_cache.
win32u: Force update display cache after NtUserChangeDisplaySettingsEx.
win32u: Add primary adapter name parameter to ChangeDisplaySettings.
winemac.drv: Use the primary adapter name instead of calling back win32u.
win32u: Add is_primary parameter to GetCurrentDisplaySettings.
winex11.drv: Use the primary adapter info instead of calling back win32u.
winmm: Use a separate last_check for joyGetDevCapsW and joyGetPosEx.
winmm: Add missing void parameter in function definition.
winebus.sys: Ignore SDL events for devices which aren't started.
win32u: Lock display devices while applying display settings.
win32u: Write display settings to the registry in apply_display_settings.
win32u: Read mode from the registry if GetCurrentDisplaySettings fails.
winebuild: Split get_link_name into a separate get_abi_name helper.
winebuild: Use asm_name to add underscore prefix in asm_globl.
winebuild: Split output_static_lib into output_(import|static)_lib.
opengl32: Create a unixlib interface for GL functions.
opengl32: Use the unixlib for glGet(String|Integerv).
opengl32: Move the null functions to unix_thunks.c.
opengl32: Use the unixlib interface for EXT functions.
opengl32: Use the unixlib interface for WGL functions.
opengl32: Avoid using internal functions in wglUseFontBitmaps.
opengl32: Avoid using internal functions in wglUseFontOutlines.
opengl32: Introduce a new NtUserCallOpenGLDebugMessageCallback callback.
opengl32: Move some WGL functions to unix_wgl.c.
opengl32: Use the unixlib interface for more WGL functions.
winebuild: Avoid calling asm_name twice in function arguments.
comctl32/tests: Remove a now succeeding todo_wine.
xaudio2_7/tests: Mark tests failing randomly as flaky.
mf: Always enumerate branch source types for transform nodes.
mf: Add some topology source node checks in IMFMediaSession_SetTopology.
gitlab: Add a 2s wait between macOS build iterations.
opengl32: Introduce new disabled_extensions_index helper.
opengl32: Move extension filtering helpers to unix_wgl.c.
opengl32: Move glGetStringi extension filtering to unix_wgl.c.
opengl32: Move glGetString extension filtering to unix_wgl.c.
opengl32: Move glGetIntegerv extension filtering to unix_wgl.c.
opengl32: Move function / extension registry mapping to unix_thunks.c.
opengl32: Move wglGetProcAddress extension filtering to unix_wgl.c.
winebuild: Introduce a new --without-dlltool winebuild flag.
winebuild: Implement import lib generation without dlltool.
winebuild: Enable unwind tables by default in PE files.
winebuild: Implement delay import lib generation without dlltool.
winebuild: Fix import hint value for symbols imported by name.
winebuild: Put the delay import descriptor in data section.
winegstreamer: Introduce new wm_stream_allocate_sample helper.
winegstreamer: Split the wm_reader_get_stream_sample helper.
winegstreamer: Allow wg_parser_stream_get_buffer to wait on all streams.
winegstreamer: Return no buffer when wg_parser stream is disabled.
winegstreamer: Merge wm_reader_get_stream_sample with GetNextSample.
opengl32: Avoid calling back the wglMakeCurrent win32 thunk.
opengl32: Use glReserved1[0] and glReserved1[1] for draw and read DCs.
opengl32: Split opengl_ext.h into private.h and unix_private.h.
opengl32: Avoid recursively entering WGL critical section.
opengl32: Use ntdll registry functions to read disabled extensions.
opengl32: Build with msvcrt.
opengl32: Use msvcrt allocation functions.
opengl32: Use RtlSetLastWin32Error instead of SetLastError.
kernel32/tests: Test more Global/Local functions with invalid pointers.
kernel32/tests: Test (Global|Local)Handle with heap allocated pointers.
ntdll: Introduce a new heap block_set_flags helper.
ntdll: Store the user flags in the heap block flags.
ntdll: Check block user flags in RtlSetUserValueHeap.
ntdll: Check block user flags in RtlGetUserInfoHeap.
ntdll: Implement RtlSetUserFlagsHeap.
Santino Mazza (2):
user32/tests: Test for MB_SYSTEMMODAL.
user32/msgbox: Implement MB_SYSTEMMODAL.
Sebastián Aedo (2):
netprofm: Add INetwork_GetNetworkConnections test.
netprofm: Implement network_GetNetworkConnections.
Stefan Dösinger (1):
ntdll: Fix building on Mojave / Xcode 11.3.1.
Tarcísio Ladeia de Oliveira (1):
gdi32/tests: Fix assertion message.
Tim Clem (3):
wow64: Truncate too-large regions from NtQueryVirtualMemory(MemoryBasicInformation).
wow64: Return error from NtQueryVirtualMemory(MemoryRegionInformation) for a too-large address.
wow64: Truncate too-large regions from NtQueryVirtualMemory(MemoryRegionInformation).
Torge Matthies (1):
ntdll: Fix incorrectly sized mov in user_mode_callback_return.
Zebediah Figura (12):
winevulkan: Do not pass win32 allocation callbacks directly to the Unix side.
winecoreaudio: Disable thread DllMain() calls.
winecoreaudio: Clean up the timer queue handle in DllMain().
wined3d: Factor out creating the window state thread.
wined3d: Set the window state thread description only if it's actually a new thread.
d3d8/tests: Test drawing from a managed texture after Reset().
d3d9/tests: Test drawing from a managed texture after Reset().
wined3d: Factor out a mark_managed_resource_dirty() helper.
wined3d: Add a dirty rect to managed textures when resetting.
wined3d: Always invalidate ~map_binding in texture write maps.
d3d8: Build without -DWINE_NO_LONG_TYPES.
d3d9: Build without -DWINE_NO_LONG_TYPES.
Zhiyi Zhang (15):
comctl32/button: Initialize dtFlags in PB_Paint().
win32u: Skip detached monitors in is_window_rect_full_screen().
winex11.drv: Initialize escape.drawable in X11DRV_GetDC().
winecfg: Use SM_CYSIZE to set and get caption height.
winecfg: Adjust top-level window rectangles after theme changes.
user32: Hook drawing menu buttons.
uxtheme: Support drawing themed menu buttons.
user32/tests: Test creating a fullscreen window spanning multiple monitors.
winex11.drv: Support _NET_WM_FULLSCREEN_MONITORS.
d2d1/tests: Add hwnd render target pixel format tests.
d2d1: Use D2D1_ALPHA_MODE_IGNORE if D2D1_ALPHA_MODE_UNKNOWN is used for creating hwnd render targets.
uxtheme: Reference count theme classes.
uxtheme: Use atomic functions for reference counting.
light.msstyles: Add nonclient metrics.
user32: Use NtUserSetWindowLongPtr() in set_dialog_proc().
Ziqing Hui (4):
usp10/tests: Add CJK shaping test.
usp10/tests: Add Hiragana shaping test.
usp10/tests: Add Katakana shaping test.
gdi32/uniscribe: Add fallback font for Kana and CJK script.
wuliande (1):
msvcp90: Make _Condition_variable_* function pointers static.
The Wine development release 7.0.1 is now available.
What's new in this release:
- Various bug fixes
- Translation updates
The source is available at:
https://dl.winehq.org/wine/source/7.0/wine-7.0.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.0.1 (total 32):
- #12732 Nota Bene crashes on install
- #44202 undname.c fails to parse symbols with rvalue-reference semantics '&&'
- #45916 x64dbg fails to load debuggee, needs ThreadScheduler_ScheduleTask
- #50352 Maximum sockets per process is set very low
- #50370 Gothic 1 doesn't start correctly when screen resolution of the game matches display resolution
- #50433 'MsiBreak' custom action debugging aid should use custom action's name from 'CustomAction' table (currently uses 'Target' field)
- #50869 Killing Wine process in Wine 6.5 doesn't terminate the application because of the new use of start.exe
- #51163 WinOffice Pro 5.3 stops after splashscreen, needs WMI class SoftwareLicensingProduct
- #51619 advapi32:registry fails in Wine because French & German timezone name translations are too long
- #51900 regression: REAPER scrollbars flash between themed and non-themed
- #52163 postgresql-9.3 installer expects scrrun:filesys_GetTempName to return filename with TMP suffix
- #52298 Opening PPT with Freeoffice Presentations crashes on unimplemented function ole32.dll.OleConvertIStorageToOLESTREAMEx
- #52426 BCryptSignHash mishandles empty arguments
- #52434 Light Blue theme has rendering errors in tree views
- #52436 In Light Blue theme, checkable toggle buttons (BS_AUTOCHECKBOX) look unchecked when hovered
- #52446 Normal dlls with native subsystem id are no longer processed when importing system dlls with uppercase names
- #52476 QuickLOAD (VB5 app) input value is changed by factor 10
- #52494 shell32 progman_dde tests crash if run immediately after prefix creation
- #52510 alt:V mod for Grand Theft Auto V fails due to missing concrt140._Byte_reverse_table@details@Concurrency@@3QBEB
- #52562 advapi32:registry fails in Wine because some French timezone name translations are too long
- #52581 Internet MIDI crashes with Light Blue theme enabled
- #52583 ApiSetView does not display export ordinals correctly
- #52616 SteelSeries GG installer crashes on unimplemented function setupapi.dll.SetupQueryInfVersionInformationW
- #52618 32-bit EXEs do not launch from build dir on macOS 10.14 in WOW64
- #52626 MahjongSoul needs unimplemented function combase.dll.RoSetErrorReportingFlags
- #52667 DTS Master Audio Suite can't select save file location when wine's "Light" theme is used
- #52679 Anno 1602 / 1602 A.D. graphics too dark / black
- #52704 FreeHand 9 demo: invalid handle exception (0xc0000008) when attaching uxtheme.dll
- #52787 Invalid function prototype for "RegisterUserApiHook" when compiling for C++
- #52953 GuiPy crashes on unimplemented function xmllite.dll.CreateXmlReaderInputWithEncodingCodePage
- #53034 Lazarus: menu text disappears under mouse if light theme is enabled
- #53430 urlmon:url fails due to unexpected redirection
----------------------------------------------------------------
Changes since 7.0:
Alex Henrie (14):
explorer: Only try to destroy the IShellWindows object if it exists.
tzres: Inform translators of 31-character limit.
po: Update Catalan translation.
msi: Fix memory leak in get_fusion_filename (Coverity).
winhttp: Fix memory leak on error path in WinHttpCrackUrl (Coverity).
adsldp: Fix memory leak on error path in search_ExecuteSearch (Coverity).
conhost: Fix memory leak on error path in create_screen_buffer (cppcheck).
dbghelp: Fix memory leak on error path in dwarf2_read_range (cppcheck).
ws2_32: Fix memory leak on error path in get_local_ips (cppcheck).
ws2_32: Fix memory leaks on error paths in unix_gethostby* (scan-build).
sane: Fix memory leak in create_item (Coverity).
winspool: Fix memory leaks on error path in DeviceCapabilitiesA (Coverity).
shell32: Fix sizeof argument in DoPaste (Coverity).
mciwave: Fix bad free in MCI_SendCommandAsync (Coverity).
Alexandre Julliard (12):
user.exe: Make sure that the thunk selector doesn't get freed.
makefiles: Disable printf format warnings for non-PE msvcrt modules.
readme: Mention Gitlab.
kernel32/tests: Fix affinity test when there are too many CPUs.
ntdll/tests: Fix affinity test when there are too many CPUs.
secur32/tests: Update for new WineHQ certificate.
urlmon/tests: Run tests against the gitlab server to avoid redirects.
webservices/tests: Mark tests that fail on 64-bit as todo.
wininet/tests: Update WineHQ certificate.
makedep: Make the handling of install rules more generic.
makefiles: Add install-test target to install winetest.exe.
winetest: Don't require an email if we have a URL.
Alistair Leslie-Hughes (1):
msado15: Return valid object in Recordset::Clone.
Andrey Gusev (1):
d3d11: Implement the ID3DUserDefinedAnnotation interface.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bastien Orivel (1):
ws2_32: Fix setsockopt(TCP_NODELAY) when optlen is less than 4.
Ben Shefte (1):
ntdll: Use case insensitive comparison in is_import_dll_system().
Bhavesh Davda (1):
wined3d: Add GPU information for NVIDIA Ampere A10 and AMD Radeon Pro V620 GPUs.
Brandon Moore (1):
msadpm: Stop decoding instead of crashing for invalid adpcm data.
Brendan Shanks (1):
makefiles: On macOS, use @rpath instead of @loader_path when building Unix libs.
David Kahurani (1):
oleaut32: Do not skip the first decimal digit in VarParseNumFromStr().
Dmitry Timoshkov (2):
ieframe: Clear a being invalidated history entry.
ieframe: Initialize new history log entry.
Eric Pouech (3):
start: Wrap child inside a job so it gets killed when start.exe terminates.
include/msvcrt: Redefine towlower* & towupper* with wint_t types.
msacm32: Use extended structure definition for driver configuration.
Fabian Maurer (4):
printui: Use LocalFree for memory allocated by LocalAlloc (Coverity).
mfplay: Prevent usage of uninitialized pointer in error case (Coverity).
mfplat: Prevent use after free (Coverity).
shell32: Prevent user after free in error case (Coverity).
Floris Renaud (1):
po: Update Dutch Translation.
François Gouget (8):
po: Fix the French translation of 'code page'.
po: Fix backslash duplication in a French translation.
po: Remove a space before a linefeed in the French translation.
po: Remove spaces before linefeeds in the Spanish translation.
po: Remove a space before a linefeed in the Chinese translation.
po: Fix an accelerator shortcut in the Norwegian Bokmål translation.
inetmib1: Avoid overflows in IPv4 address comparisons.
inetmib1: Fix the IPv4 address network order for comparisons.
Gabriel Ivăncescu (3):
ddraw: Use WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES only if window is not in foreground.
jscript: Handle NULL return pointers in all constructors.
mshtml: Fix leak on failure in return_nsstr.
Gerald Pfeifer (1):
iphlpapi: Zero-init prefix_len to avoid a compiler warning.
Gijs Vermeulen (1):
setupapi: Add SetupQueryInfVersionInformationA/W stub.
Giovanni Mascellani (3):
winegstreamer: Do not block forever if EOS races with command queue.
mfplat: Avoid a race condition when releasing a tracked sample.
mfmediaengine: Fix a memory leak.
Hans Leidekker (1):
msi: Use custom action name for MsiBreak handling.
Henri Verbeet (2):
d3d11/tests: Add some tests for ID3DUserDefinedAnnotation.
wined3d: Add GPU information for NVIDIA Tesla T4.
Kevin Puetz (1):
winegcc: --out-implib needs to propagate -m32/-m64 to winebuild.
Lauri Kenttä (2):
po: Update Finnish translation.
readme: Update Finnish translation.
Louis Lenders (2):
wbemprox: Add some properties of SoftwareLicensingProduct class.
ole32: Add stub for OleConvertIStorageToOLESTREAMEx.
Martin Storsjö (1):
ntdll: Zero-initialize the syscall_frame used for starting threads on ARM/ARM64.
Matteo Bruni (1):
combase: Add RoSetErrorReportingFlags() stub.
Michael Stefaniuc (3):
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
gitlab: Import the gitlab CI from the master branch (devel tree).
tools: Import make_announce changes from the devel tree.
Mohamad Al-Jaf (1):
hid: Implement HidD_GetPhysicalDescriptor.
Nikolay Sivov (4):
comctl32/listview: Initialize subitem text buffer before drawing each subitem.
uxtheme: Fix double free on registry key handle.
xmllite/reader: Implement CreateXmlReaderInputWithEncodingCodePage().
evr/sample: Avoid a race condition when releasing a tracked sample.
Paul Gofman (1):
concrt140: Add ?_Byte_reverse_table@details@Concurrency@@3QBEB data export.
Piotr Caban (2):
ucrtbase: Add support for r-value demangling in unDName.
msvcr100: Improve ThreadScheduler_ScheduleTask_loc stub.
Piotr Kleski (1):
bcrypt: Return BCryptSignHash len when only output is NULL.
Robert Wilhelm (2):
scrrun: Add test for GetTempName.
scrrun: Generate temp name with tmp suffix.
Rémi Bernon (1):
mf: Handle MESourceSeeked and MEStreamSeeked state change events.
Santino Mazza (2):
ncrypt/tests: Test key import of an rsa key.
ncrypt: Make NCryptOpenStorageProvider return a valid stub pointer.
Saulius Krasuckas (1):
ntdll: Check __WINE_PE_BUILD instead of compiler macros.
Zebediah Figura (12):
ws2_32/tests: Add tests for WSAStartup().
ws2_32: Always fill the WSADATA structure in WSAStartup().
ws2_32: Cap the negotiated winsock version to 1.1 or 2.2.
ws2_32: Return 32767 or 0 in the iMaxSockets field.
ws2_32: Return 65467 or 0 in the iMaxUdpDg field.
ws2_32: Return WSAEFAULT instead of WSAEINVAL from WSAStartup() if "data" is NULL.
configure: Fix the check for CAPI support.
d3dx9: Don't mark annotation variables as dirty.
winegstreamer: Release stream_cs on error in stream_thread().
setupapi: Avoid leaking subKey in SETUPDI_AddDeviceInterfaces().
server: Allocate enough space for the backslash in dup_nt_name() (Valgrind).
tiff: Explictly link to zlib.
Zhiyi Zhang (14):
user32/tests: Test painting standard scroll bars in hovered state.
user32: Draw standard scroll bars in hovered state only when they were previously painted by DefWinProc().
comctl32/button: Use pressed state when a pushlike checkbox or radio button is checked and hovered.
comctl32/treeview: Do not draw client edge without WS_EX_CLIENTEDGE.
light.msstyles: Do not use transparent treeview parts.
uxtheme/tests: Add IsThemePartDefined() tests.
uxtheme: Search parts of any state in IsThemePartDefined().
light.msstyles: Add Menu stub class.
user32/tests: Test NUMCOLORS for display DCs.
win32u: Return -1 for NUMCOLORS with 8-bit display DCs.
include: Avoid a C++ keyword for RegisterUserApiHook().
light.msstyles: Use stretch sizing type for scroll bar arrow button background.
uxtheme: Support parsing menu class.
light.msstyles: Add Menu parts.
The Wine development release 7.20 is now available.
What's new in this release:
- Mono engine updated to version 7.4.0.
- Font linking improvements.
- A number of fixes for exception unwinding.
- Support for dumping EMF spool files in WineDump.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.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 7.20 (total 29):
- #15679 cygwin symlinks not working in wine
- #29998 Crysis 2 (>1.0) huge graphical issues after loading a savegame
- #38594 dbghelp_msc:pe_load_debug_directory Got a page fault while loading symbols (Visual C++ 2013 .pdb's)
- #38604 winedbg: internal crash/hangs when running ieframe/tests/ie.c with pdb debug symbols
- #44814 cygwin's bsdtar.exe needs a better ntdll.NtQueryEaFile stub
- #46822 Edit control in ADL search dialog gets initially not drawn in DC++ 0.868, regression
- #47595 Tequila City of Heroes Launcher - expect_no_runtimes Process exited with a Mono runtime loaded.
- #48197 Autonauts in steam under wine has a memory leak.
- #50573 division by zero in wineconsole when hovering mouse over
- #51529 CloseHandle(INVALID_HANDLE_VALUE) returns FALSE, GetLastError is ERROR_INVALID_HANDLE
- #51775 Axiom Verge 2 crashes on startup due to incomplete sapi implementation
- #52545 ACE rights parser should allow octal and decimal formats
- #52648 conhost.exe:tty test_read_console_control() fails in Hindi and Portuguese
- #52790 winedbg 'bt all' filled with dbghelp_dwarf RULE_VAL_EXPRESSION fixmes
- #53437 ZOSI Cloud crashes on start
- #53455 shell32:recyclebin - test_query_recyclebin() gets unexpected recyclebin size in Wine
- #53521 imm32:imm32 - test_default_ime_window_creation() fails on Windows 10 21H1+
- #53552 Line width calculation failure in WineMono.Tests.System.Windows.Media.TextFormatting.TextFormatterTest.NewlineCharacterCollapsibleTest
- #53608 Visual Novel Shin Koihime † Eiyuutan 4 plays opening movie in separate window
- #53669 Problems with two separate MetaTrader4 programs on the same Wine desktop
- #53679 The 64-bit ntdll:env fails on Windows 7
- #53724 Obduction fails in a random way out of a handful of possible ways
- #53770 Wrong locale data for Chinese locales for LOCALE_SNATIVEDIGITS class
- #53800 CRYPT_GetBuiltinDecoder Unsupported decoder for lpszStructType 1.3.6.1.4.1.311.2.1.4
- #53813 Let's encrypt certificate validation fails
- #53821 winbase.h: ReOpenFile declaration missing (and not available in any other header)
- #53829 Font links for MingLiU broken 32-bit wineprefixes
- #53832 wbemprox: where-clause seems to be case-sensitive
- #53838 Non-PE builds fail after "makedep: Make the installation directories architecture-generic."
----------------------------------------------------------------
Changes since 7.19:
Akihiro Sagawa (8):
quartz/tests: Add a background brush test for video renderer.
quartz: Fix video flickering.
shell32/tests: Add DBCS file name tests for DragQueryFile.
shell32/tests: Add more DragQueryFile tests.
shell32: Merge ANSI part of DROPFILES handler into DragQueryFileW.
shell32: Reimplement DragQueryFileA to rely on its Unicode version.
shell32: Returns a number of copied characters in DropQueryFileW.
shell32: Returns a number of copied bytes in DropQueryFileA.
Alex Henrie (14):
include: Add TOOLINFO[AW].
shell32: Move strndupW to dde.c.
shell32: Use standard C functions for memory allocation in dde.c.
shell32: Introduce combine_path helper for DDE.
shell32: Sanitize Program Manager icon and group names.
include: Add WSANO_ADDRESS to winsock2.h.
include: Move strto[iu]max(_l) from stdlib.h to inttypes.h.
uuid: Add devguid.h.
msvcrt: Change return type of _putenv_s to errno_t.
include: Add _putenv_s.
shell32: Don't use strdupW or heap_* functions in shellole.c.
shell32: Don't use strdupW or heap_* functions in shelldispatch.c.
shell32: Don't use strdupW or heap_* functions in shelllink.c.
shell32: Remove unused function strdupW.
Alexandre Julliard (21):
nls: Update locales that have been added in recent Windows versions.
nls: Allow specifying a locale's native digits.
makedep: Pass a generic architecture value instead of the is_cross flag to various helpers.
makedep: Make the target flags architecture-generic.
makedep: Make the debug flags architecture-generic.
makedep: Make the delay load flags architecture-generic.
makedep: Make the extra C flags architecture-generic.
makedep: Make the installation directories architecture-generic.
makedep: Make the object files architecture-generic.
makedep: Make the import library files architecture-generic.
makedep: Make the makefile targets architecture-generic.
makedep: Add support for architecture-specific sources.
makedep: Add support for architecture-specific IDL objects.
makedep: Make the resource files architecture-generic.
makedep: Add a helper function to build a source file for one architecture.
makedep: Add a helper function to get a cross-compilation make variable.
makedep: Add a helper function to build an arch-specific module name.
makedep: Make the disabled flag architecture-generic.
makefiles: Store PE objects in subdirectories in the build tree.
configure: Remove no longer needed check for dlltool.
makedep: Remove arch directories on distclean.
Alistair Leslie-Hughes (8):
crypt32: Only report Unimplemented decoder when not found in external dll.
sapi: Implement ISpObjectToken OpenKey.
sapi: Move token structure before EnumTokens function.
sapi: Store registry key to Enum builder.
sapi: Implement ISpObjectTokenEnumBuilder Item.
sapi: Implement ISpObjectTokenEnumBuilder Next.
sapi: Add default voice registry key.
sapi: Add Voice enum tests.
Anton Baskanov (6):
quartz/tests: Add tests for MPEG layer-3 decoder interfaces.
quartz/tests: Add tests for MPEG layer-3 decoder aggregation.
quartz/tests: Test MPEG layer-3 decoder unconnected filter state.
quartz/tests: Add tests for IBaseFilter_EnumPins() on MPEG layer-3 decoder.
quartz/tests: Add tests for IBaseFilter_FindPin() on MPEG layer-3 decoder.
quartz/tests: Add tests for querying MPEG layer-3 decoder pin info.
Bartosz Kosiorek (26):
msvcrt: Add _mbctolower_l partial implementation.
msvcrt: Add _mbctoupper_l partial implementation.
msvcrt: Add _mbslwr_s_l partial implementation.
msvcrt: Add _mbsupr_s_l partial implementation.
msvcrt: Add _mbschr_l implementation.
msvcrt: Add _mbsicmp_l implementation.
msvcrt: Add _mbclen_l implementation.
msvcrt: Fix error handling for _mbscmp_l.
msvcrt: Add _ismbslead_l implementation.
msvcrt: Add _ismbstrail_l implementation.
msvcrt: Add _ismbcsymbol_l implementation.
msvcrt: Add _mbsinc_l implementation.
msvcrt: Fix error handling for strcat_s.
msvcrt: Fix error handling for strcpy_s.
gdiplus: Add GdipSetPenCompoundArray implementation.
gdiplus: Add GdipGetPenCompoundCount implementation.
gdiplus: Add GdipGetPenCompoundArray implementation.
msvcrt: Add _ismbchira_l implementation.
msvcrt: Add _ismbckata_l implementation.
msvcrt: Add _mbbtombc_l implementation.
ucrtbase: Export more _o_* functions.
msvcrt: Add _mbcjistojms_l implementation.
msvcrt: Add _mbcjmstojis_l implementation.
msvcrt: Add _mbctombb_l implementation.
msvcrt: Add _mbctohira_l implementation.
msvcrt: Add _mbctokata_l implementation.
Brendan Shanks (5):
mmdevapi: Set the name of internal threads.
xinput1_3: Set thread name for hid_update_thread_proc.
sechost: Set the name of internal threads.
ntdll: Set native thread names on Linux when set with SetThreadDescription().
server: Only require THREAD_SET_LIMITED_INFORMATION access to set thread description.
Chilung Chan (1):
po: Update Traditional Chinese translation.
Connor McAdams (15):
uiautomationcore: Add support for multiple providers on a single HUIANODE.
uiautomationcore: Determine provider type for nested node providers.
uiautomationcore: Add support for getting HWND providers to UiaNodeFromProvider().
uiautomationcore: Add support for getting HWND providers to uia_node_from_lresult().
uiautomationcore/tests: Ignore UIA_NativeWindowHandlePropertyId in certain tests.
uiautomationcore: Implement UiaRegisterProviderCallback.
uiautomationcore: Add UiaGetUpdatedCache stub.
uiautomationcore: Implement UiaGetUpdatedCache.
uiautomationcore: Add basic UiaCondition support to UiaGetUpdatedCache.
uiautomationcore/tests: Add tests for boolean UIA ConditionTypes.
uiautomationcore/tests: Add ConditionType_Property tests.
uiautomationcore: Add support for ConditionType_Not conditions.
uiautomationcore: Add support for ConditionType_{And/Or} conditions.
uiautomationcore: Implement ConditionType_Property conditional for UIAutomationType_Bool properties.
uiautomationcore: Add support for UIAutomationType_IntArray property comparisons.
Daniel Lehman (4):
kernel32/tests: Add tests for CancelSynchronousIo.
ntdll: Add NtCancelSynchronousIoFile stub.
ntdll: Implement NtCancelSynchronousIoFile.
kernelbase: Call NtCancelSynchronousIoFile in CancelSynchronousIo.
David Kahurani (1):
xmllite/writer: Null terminate duplicated strings.
Eric Pouech (11):
dbghelp: Rework dwarf2_get_ranges() helper.
dbghelp: No longer call read_range() for inline site (dwarf).
dbghelp: Allow symt_block to be defined over non contiguous chunks.
dbghelp: Silence some FIXMEs.
oleaut32/tests: Fix test failing on UTF-8 locale.
ntdll/tests: Force alignment of output structures.
dbghelp: Use heap functions for allocation.
dbghelp: Realloc array of buckets inside struct vector.
conhost/tests: Fix tests for some keyboard layouts.
conhost/tests: Fix some tests on input sequences.
kernel32/tests: Workaround some broken Windows behavior in console tests.
Esme Povirk (3):
user32: Test Get/SetWindowPlacement with invalid length.
win32u: Reject invalid length in SetWindowPlacement.
mscoree: Update Wine Mono to 7.4.0.
Etaash Mathamsetty (3):
ntoskrnl.exe: Implement IoCreateNotificationEvent.
ntoskrnl.exe: Fix formatting in IoCreateSynchronizationEvent.
ntoskrnl.exe: Use LoadLibraryW for MmGetSystemRoutineAddress.
Fabian Maurer (1):
ntdll: Prevent double free (Coverity).
Florian Kübler (1):
ntdll: Add CFI unwind info to __wine_syscall_dispatcher (x86_64).
François Gouget (8):
wintrust: Add a trailing linefeed to an ERR() message.
winetest: Let the get_subtests() caller report errors.
dbghelp: Fix the trailing linefeed of a WARN() message.
d3d10core/tests: Fix the spelling of a comment.
dbghelp: Fix the spelling of a couple of comments.
rpcrt4/tests: Fix the spelling of a couple of comments.
msdasql: Fix a typo in the is_fixed_length() function name.
ddraw/tests: Mark tests failing randomly on Windows 8 as flaky.
Gabriel Ivăncescu (28):
jscript: Implement Function.prototype.bind's `thisArg` properly.
jscript/tests: Fix copy paste mistake in JSON test.
jscript: Implement `reviver` argument for JSON.parse.
wininet: Handle offline state in InternetGetConnectedStateExW.
netprofm: Handle non-internet connectivity.
mshtml: Move the ConnectionPointContainer out of basedoc.
mshtml: Move the IServiceProvider interface out of basedoc.
mshtml: Move the Persist interfaces out of basedoc.
mshtml: Move the IOleCommandTarget interface out of basedoc.
mshtml: Move the OleObj interfaces out of basedoc.
mshtml: Move HTMLDocumentObj implementation to oleobj.c.
mshtml: Move the remaining non-IHTMLDocument* interfaces out of basedoc.
mshtml: Move the IHTMLDocument2 interface out of basedoc.
mshtml: Move the IHTMLDocument3 interface out of basedoc.
mshtml: Move the IHTMLDocument4 interface out of basedoc.
mshtml: Move the IHTMLDocument5 interface out of basedoc.
mshtml: Move the IHTMLDocument6 interface out of basedoc.
mshtml: Move the IHTMLDocument7 interface out of basedoc.
mshtml: Move the IDispatchEx interface out of basedoc.
mshtml: Get rid of the outer_unk in basedoc.
mshtml: Get rid of the outer window in basedoc.
mshtml: Get rid of the HTMLDocument basedoc.
jscript: Implement VariantChangeType for VT_DISPATCH and VT_UNKNOWN.
mshtml: Allow null or undefined listeners in attachEvent/detachEvent.
mshtml: Allow null or undefined func in addEventListener.
mshtml: Get rid of a EVENTID_LAST special case.
mshtml: Implement document.mimeType.
mshtml: Implement document.referrer.
Gerald Pfeifer (2):
ntdll: Fix build on systems without ENODATA.
loader: Unbreak FreeBSD builds (ARRAY_SIZE undefined).
Hans Leidekker (2):
crypt32: Parse OCSP responder name.
wbemprox: WQL string comparisons are case insensitive.
Hugh McMaster (4):
kernel32/tests: Remove tests comparing expected output in certain functions.
kernelbase: Add stubs for GetConsoleOriginalTitleA/W().
kernel32/tests: Add tests for GetConsoleOriginalTitleA/W().
kernelbase: Avoid memory leaks in GetConsoleTitleW().
Jacek Caban (2):
user.exe: Pass resource ID as a string in DIALOG_CreateControls16.
makedep: Always use -mno-cygwin for extra test modules.
Jinoh Kang (8):
win32u: Fix data race in NtUserGetProcessDpiAwarenessContext.
gdiplus: Avoid recursively locking image in GdipImageRotateFlip.
gdiplus: Avoid copying GpImage's busy flag in select_frame_wic().
gdiplus: Replace GpImage's busy flag with SRWLOCK.
user32/tests: Test for window exposure behaviours.
kernel32/tests: Add test for pipe name with a trailing backslash.
ntdll/tests: Add tests for pipe names.
ntdll/tests: Add more tests for \Device\NamedPipe and \Device\NamedPipe\.
Joel Holdsworth (2):
ntdll/tests: Add initial tests for reparse points.
ntdll: Add FSCTL_GET_REPARSE_POINT semi-stub.
Martin Storsjö (4):
win32u: Make sure that the stack buffer in set_multi_value_key is large enough.
ntdll: Move the dwarf reading routines to a shareable header.
ntdll: Add support for aarch64 in the dwarf implementation.
ntdll: Use the local dwarf implementation on arm64.
Michael Stefaniuc (11):
ntdll: Use ARRAY_SIZE instead of open coding it.
riched20/tests: Use ARRAY_SIZE instead of open coding it.
kernel32/tests: Use ARRAY_SIZE instead of open coding it.
server: Use ARRAY_SIZE instead of open coding it.
loader: Use ARRAY_SIZE instead of open coding it.
libs/wine: Use ARRAY_SIZE instead of open coding it.
widl: Use ARRAY_SIZE instead of open coding it.
winegcc: Use ARRAY_SIZE instead of open coding it.
wmc: Use ARRAY_SIZE instead of open coding it.
wrc: Use ARRAY_SIZE instead of open coding it.
makedep: Use ARRAY_SIZE instead of open coding it.
Mihail Ivanchev (1):
include: Add prototype for ReOpenFile().
Nikolay Sivov (13):
dwrite/tests: Use existing to create factory instance.
d2d1: Test device context type in BindDC().
ntdll: Add some already implemented security descriptor exports.
kernelbase: Forward some of the security descriptor functions to ntdll.
kernelbase: Forward some directory info classes in GetFileInformationByHandleEx().
kernelbase: Make sure to provide a message for missing information classes in GetFileInformationByHandleEx().
kernelbase: Forward some more classes in GetFileInformationByHandleEx().
ntdll: Partially implement MemoryRegionInformation query.
kernelbase: Add QueryVirtualMemoryInformation().
user32: Add DragObject() stub.
win32u: Move NtUserDragDetect() to window.c.
mf/samplegrabber: Send MEStreamSinkRateChanged event.
mf/samplegrabber: Send MEStreamSinkScrubSampleComplete event.
Paul Gofman (14):
wbemprox: Fix string length in get_value_bstr().
msvcrt: Display message box in abort() for specific CRT versions only.
winmm: Use a global timeout for refreshing joystick devices.
win32u: Store GPU luid in adapters cache.
win32u: Move NtUserDisplayConfigGetDeviceInfo implementation from user32.
win32u: Store output id in monitors cache.
win32u: Implement NtUserDisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME).
ws2_32/tests: Make test_so_reuseaddr() more conclusive.
ws2_32/tests: Add tests for reusing address without SO_REUSEADDR.
ws2_32/tests: Also test TCP6 in test_so_reuseaddr().
ntdll: Move SO_REUSEADDR handling to server.
server: Track SO_REUSEADDR value.
server: Set Unix SO_REUSEADDR on all the TCP sockets.
ws2_32/tests: Also test bind to any together with loopback in a different order.
Piotr Caban (34):
winedump: Add initial EMF spool files support.
winedump: Fix buffer overflow in debugstr_wn helper.
winedump: Don't use static offset in dump_emfrecord.
winedump: Dump metafiles in EMF spool files.
winedump: Add prefix when dumping EMF files.
winedump: Add support for EMRI_METAFILE_EXT records.
comctl32: Add helper for calling PROPERTYSHEETPAGE callback.
comctl32: Add helper for getting flags from HPROPSHEETPAGE.
comctl32: Add helper for loading dialog template from HPROPSHEETPAGE.
comctl32: Add helper for getting title from HPROPSHEETPAGE.
comctl32: Add helper for getting icon from HPROPSHEETPAGE.
comctl32: Add helper for creating page HWND from HPROPSHEETPAGE.
comctl32: Add helper for getting template from HPROPSHEETPAGE.
comctl32: Add helper for setting header title in HPROPSHEETPAGE.
comctl32: Add helper for setting header subtitle in HPROPSHEETPAGE.
comctl32: Add helper for drawing header title and subtitle obtained from HPROPSHEETPAGE.
msvcrt: Fix mbcasemap initialization.
msvcrt: Add support for multi-byte characters in _mbctolower_l.
msvcrt: Add support for multi-byte characters in _mbctoupper_l.
msvcrt: Fix error handling in _mbsupr_s_l.
msvcrt: Fix error handling in _mbslwr_s_l.
winedump: Handle NULL in get_unicode_str.
msvcrt: Fix _putenv_s return value on error.
msvcrt: Fix _wputenv_s return value on error.
msvcrt: Fix _wputenv_s invalid argument handling.
comctl32: Create page if PROPSHEETPAGE was passed as HPROPSHEETPAGE to PropertySheetAW or PSM_INSERTPAGE.
comctl32: Don't use PROPSHEETPAGE structure to store internal HPROPSHEETPAGE data.
comctl32: Fix PROPSHEETPAGE[AW] structure content in messages and callbacks.
comctl32: Add support for adding extra data in CreatePropertySheetPage.
compstui: Add CPSFUNC_ADD_PFNPROPSHEETUI support.
compstui: Add CPSFUNC_ADD_PROPSHEETPAGE support.
compstui: Test that callbacks are executed.
maintainers: Update Microsoft C Runtime files list.
winemac.drv: Fix registry path size in create_original_display_mode_descriptor.
Rémi Bernon (10):
opengl32: Split is_extension_supported helper.
opengl32: Build extension list in is_extension_supported.
opengl32: Move filter_extensions (et al.) around.
opengl32: Use has_extension in filter_extensions_index.
win32u: Use session BaseNamedObjects for display_device_init mutex.
winex11.drv: Use session BaseNamedObjects for display_device_init mutex.
dinput/tests: Add dummy flaky test count.
ntoskrnl.exe/tests: Add dummy flaky test count.
schedsvc/tests: Add dummy flaky test count.
win32u: Write display modes to registry as binary blobs.
Stanislav Motylkov (1):
hhctrl.ocx: Fix toolbar icons order.
Vladislav Timonin (2):
d2d1: Update to ID2D1Device1.
d2d1: Implement ID2D1Device1::CreateDeviceContext.
Zebediah Figura (8):
wined3d: Do not enforce GL map access for resources with WINED3D_RESOURCE_ACCESS_CPU.
ws2_32/tests: Add more tests for iosb contents while a recv is pending.
ntdll: The async handle passed to set_async_direct_result() cannot be NULL.
ntdll: Fill the IOSB in sock_recv() only inside the "if (alerted)" block.
ntdll: Combine the "if (alerted)" blocks in sock_recv().
ntdll: Fill the IOSB in sock_send() only inside the "if (alerted)" block.
ntdll: Combine the "if (alerted)" blocks in sock_send().
ntdll: Fill the IOSB in sock_transmit() only inside the "if (alerted)" block.
Zhiyi Zhang (10):
comctl32/tests: Ignore WM_NCPAINT when testing WM_THEMECHANGED for updown control.
comctl32/tests: Test if WM_STYLECHANGED repaints controls.
comctl32/treeview: Don't repaint when handling WM_STYLECHANGED.
comctl32/listview: Don't repaint when handling WM_STYLECHANGED.
comctl32/animate: Don't repaint when handling WM_STYLECHANGED.
comctl32/datetime: Don't repaint when handling WM_STYLECHANGED.
comctl32/syslink: Don't repaint when handling WM_STYLECHANGED.
comctl32/tab: Don't repaint when handling WM_STYLECHANGED.
comctl32/updown: Don't repaint when handling WM_STYLECHANGED.
comctl32/tests: Use a toolbar with TBSTYLE_FLAT in toolbar visual tests.
Ziqing Hui (10):
win32u: Add mechanism for font specific system links.
win32u: Add font link for MS UI Gothic.
win32u: Add more linked fonts for Tahoma.
win32u: Add locale_dependent member to struct system_link_reg.
win32u: Add font links for Microsoft JhengHei.
win32u: Add font links for MingLiU.
win32u: Add font links for MS Gothic.
win32u: Add font links for Yu Gothic UI.
win32u: Add font links for Meiryo.
win32u: Add font links for MS Mincho.
The Wine development release 7.19 is now available.
What's new in this release:
- Support for storing DOS attributes on disk.
- Bundled vkd3d upgraded to version 1.5.
- Support for MPEG-4 audio format.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.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 7.19 (total 17):
- #9158 Multiple Microsoft development tools online/web installers fail to skip "$shtdwn$.req" with FILE_ATTRIBUTE_HIDDEN (Visual Studio Express Editions, .NET Framework 3.0)
- #48414 OpenMPT UI does not render all textboxes correctly
- #50269 Multiple applications need IWMSyncReader::GetOutputCount() implementation (Resident Evil Revelations 2; Ultimate Marvel vs Capcom 3)
- #51884 HP Prime Virtual Calculator Emulator crashes when license agreement screen opens
- #52655 Cubase 12 crashes on unimplemented function advapi32.dll.OpenThreadWaitChainSession
- #52659 No sound for games that utilize windows media player functionality
- #52931 vulkan-1:vulkan fails in Wine on cw-rx460 and Intel cards
- #52954 Kheops Studio adventure games: Graphic bug that prevents any progress in the game
- #53234 nsi:nsi - test_ndis_ifinfo() fails randomly on Windows 10 1507
- #53575 Subtitle Workshop Classic 6.1.4 disabled menu items are not viewable at all with Light theme
- #53615 Sonic Adventure DX (2004) deadlocks on the title screen
- #53645 AIMP 3 causes memory leaks
- #53672 x64dbg crashes when opening executable
- #53673 "AE VN Tools" fails to launch in staging v7.17 (previously "just worked" on staging v7.13)
- #53700 DbgChild crashes on unimplemented function ntdll.dll.RtlDosPathNameToRelativeNtPathName_U
- #53714 SQLGetInfo(W) doesn't fill StringLength when InfoValue is NULL
- #53773 winetricks dotnet35 fails to install
----------------------------------------------------------------
Changes since 7.18:
Akihiro Sagawa (1):
imm32/tests: Don't expect IME window if the parent is message-only window descendant.
Alex Henrie (4):
winegstreamer: Fix memory leak in get_available_media_type (Coverity).
include: Fix typo in LR_VGACOLOR.
include: Fix typos in NIN_BALLOON*.
include: Add LV_COLUMN[AW].
Alexandre Julliard (19):
tests: Do not report flaky tests as failures by default.
user32/tests: Flush window events to fix some race conditions.
user32/tests: Mark some input tests as flaky.
mmdevapi/tests: Mark some capture tests as flaky.
dinput/tests: Mark a mouse input test as flaky.
quartz/tests: Mark some tests as flaky.
vkd3d: Import upstream release 1.5.
Revert "oleaut32: Dereference VT_RECORD|VT_BYREF in place.".
Revert "oleaut32/tests: Get_test_recordinfo shouldn't point into a specific VARIANT.".
vkd3d: Update version number.
gitlab: Run the full test suite on merge requests.
wmvcore/tests: Reduce the number of printed todos.
gdiplus: Get the compositing mode directly from the graphics object.
windowscodecs: Redirect TIFF debug output to the Wine debug functions.
winegstreamer: Respect debug channels configuration for error output.
mmdevapi/tests: Mark some failing tests as flaky.
ngen: Add version resource.
wined3d: Use a Wine debug channel for vkd3d debug output.
d2d1: Use a gcc pragma instead of a compiler flag for -fexcess-precision.
Alistair Leslie-Hughes (9):
odbc: SQLGetInfoW allow NULL parameter InfoValue.
msdasql: Implement IColumnsInfo GetColumnInfo.
msdasql: Select statements return -1 for affected rows in ICommandText Execute.
msdasql: Implement IRowsetInfo GetProperties.
sapi: Store the token id in ISpObjectToken SetId.
sapi: Implement ISpObjectToken GetId.
include: Add missing SP defines.
sapi: Implement ISpRegDataKey CreateKey.
sapi: Implement ISpRegDataKey GetStringValue.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (6):
ntdll: Set the name of internal thread pool threads.
rpcrt4: Set the name of internal threads.
wininet: Set thread name for collect_connections_proc.
wined3d: Set name of internal threads.
ntdll: Remove shared heap functionality.
kernel32: Remove shared heap functionality.
Connor McAdams (6):
uiautomationcore: Use a separate vtbl for nested node IWineUiaProviders.
uiautomationcore: Don't use nested node providers for same-thread HWNDs.
uiautomationcore: Track all HUIANODEs returned from the provider thread.
uiautomationcore: Implement UiaDisconnectProvider.
uiautomationcore: Store provider thread nodes that have a runtime ID in an rbtree.
uiautomationcore: Add UIAutomationType_Element property support for nested node providers.
David Kahurani (1):
xmllite/writer: Properly validate DocType name.
Eric Pouech (21):
dbghelp: Fix local scope reset upon module unloading.
krnl386.exe16: Don't pass NULL to printf/%s).
winedump: Dump global hash table out of PDB symbols' stream.
winedump: Dump PDB public symbols' stream.
dbghelp: Add support for static variables at function scope (PDB).
dbghelp: Fix container for global variables (Dwarf).
dbghelp: Fix variable storage information (Dwarf).
dbghelp: Don't load invalid records for global symbol stream.
dbghelp: Improve de-duping global symbols information (PDB).
dbghelp: SymFromName* should first look in local context.
dbghelp: Remove address field from symt_compiland.
dbghelp: Expose local static variables' address.
winedbg: Enhance printing of variables or fields.
dbghelp: No longer use wine_dbgstr_longlong.
dbghelp: Silence some FIXME for SymGetTypeInfo/TI_GET_OFFSET.
dbghelp: Keep compiland's address for Dwarf debug format.
dbghelp: Remove symt_close_func_block() stabs's only parameter.
wined3d: Ensure function declaration matches implementation.
wined3d: Ensure method declaration matches implementations.
wined3d: Use I width modifier for debug traces on DWORD_PTR.
conhost: Fix tests on ReadConsole with CONSOLE_READCONSOLE_CONTROL.
Erich Hoover (3):
ntdll: Implement retrieving DOS attributes in [fd_]get_file_info().
ntdll: Implement storing DOS attributes in NtSetInformationFile.
ntdll: Implement storing DOS attributes in NtCreateFile.
Esme Povirk (1):
windowscodecs/tests: Accept new error code from win11.
Etaash Mathamsetty (1):
ntoskrnl.exe: KeInsertQueueDpc stub.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (10):
tests: Make sure only one thread prints traces at a time.
tests: Print unhandled exception messages in colour.
dpnet/tests: Mark the test_enum_hosts*() tests failing randomly on Windows as flaky.
d3d9/tests: Mark the test_cursor_pos() tests failing randomly on Windows as flaky.
d3d9/tests: Mark the test_wndproc_windowed() tests failing randomly on Windows as flaky.
d3d9/tests: Mark the test_wndproc() tests failing randomly on Windows as flaky.
dxgi/tests: Mark the test_swapchain_window_styles() tests failing randomly on Windows as flaky.
dxgi/tests: Mark the test_swapchain_window_messages() tests failing randomly on Windows as flaky.
gdi32/tests: Mark tests failing randomly on Windows as flaky.
imm32/tests: Mark tests failing randomly on Windows as flaky.
Gabriel Ivăncescu (18):
mshtml: Override document.URL's name when adding it from the mshtml typelib.
include/mshtml: Move some forward interface declarations to match Windows SDK.
mshtml: Implement url prop for StorageEvent.
mshtml: Use actual Gecko event type for MessageEvent and StorageEvent.
mshtml: Expand event_info to include a special entry for EVENTID_LAST.
mshtml: Allocate events via event type.
mshtml: Silence a FIXME when parameter is missing.
jscript: Fill the builtin props for enumeration on prototypes as well.
jscript: Refill the props at end of enumeration in html mode and retry.
mshtml: Fix enumerating first custom prop after builtins.
mshtml: Do not enumerate internal dynamic props.
mshtml: Split the lookup for an element with name into a separate helper.
mshtml: Enumerate document elements with name.
shell32/tests: Test drive letters parsing for My Computer.
shell32: Handle drive letters properly when parsing MyComputer.
mshtml: Expose props via element name only for specific element types.
mshtml: Allow accessing some document elements as props via id.
mshtml: Don't create dynamic prop before checking if elem prop even exists.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.230.
Hans Leidekker (2):
schannel/tests: Fix test failure on Windows 11.
schannel/tests: Get rid of workarounds for old Windows versions.
Henri Verbeet (2):
wined3d: Handle VKD3D_SHADER_RESOURCE_DATA_MIXED in wined3d_data_type_from_vkd3d().
wined3d: Use the supplied context in wined3d_device_context_blt().
Hugh McMaster (2):
kernel32/tests: Add tests for GetConsoleTitle().
kernelbase: Return full title length from GetConsoleTitle().
Huw D. M. Davies (2):
nsi: Use the correct members for the error and discard counts.
nsi: Update struct nsi_tcp_conn_dynamic for Windows 11.
Jacek Caban (10):
vbscript: Fix handling missing description in EXCEPINFO.
winevulkan: Separate 32-bit and 64-bit thunks implementation.
winevulkan: Merge body and body_conversion.
winevulkan: Don't pass params struct to private thunks.
winevulkan: Use generated thunks for basic debug traces.
winevulkan: Always use params to return Unix thunks result.
winevulkan: Pass VkVariable to ConversionFunction constructor.
winevulkan: Separate 32-bit and 64-bit conversion functions.
winevulkan: Introduce conversion_context and use it for conversion memory allocation.
winevulkan: Use host Vulkan structures for private thunks arguments.
Joel Holdsworth (1):
ntdll: Implement retrieving DOS attributes in NtQueryInformationFile.
John Chadwick (1):
wintab32: Fix match_token to match XWayland devices.
Kevin Puetz (10):
vbscript: Only set EXCEPINFO strings for cases that map_hres translated.
vbscript/tests: Test throwException with Description but *not* Source.
vbscript: Do HRESULT->VBSERROR mapping for the whole EXCEPINFO at once.
scrrun/tests: Introduce a test_file_contents helper.
scrrun: Fix FileSystemObject.OpenTextFile when writing to existing files.
oleaut32/tests: Get_test_recordinfo shouldn't point into a specific VARIANT.
oleaut32: Dereference VT_RECORD|VT_BYREF in place.
vbscript: Don't abort when trying to TRACE() functions with many arguments.
rpcrt4/tests: Add tests for lifetime of IRpcChannelBuffer.
rpcrt4: Add a refcount owned by MIDL_STUB_MESSAGE.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (1):
wbemprox: Add HypervisorPresent property to win32_ComputerSystem.
Marcus Meissner (1):
ntdll: Fix GetTempPathW() call passing wrong unit for the buffer size.
Mark Jansen (1):
gdi32: Fix possible overflow.
Martin Storsjö (1):
wow64: Use the right SEH opcode in raise_exception on arm64.
Nikolay Sivov (4):
include: Change include guard for wininet.h.
include: Add IActiveDesktop definition.
shell32: Add Active Desktop stub.
dxva2/tests: Add another render target format to fix a test failure.
Paul Gofman (26):
ntdll: Fix processor package mask in SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX structure.
winex11.drv: Do not skip taskbar and pager for app window.
msi: Disable FS redirection for temporary file in cabinet_copy_file().
crypt32: Set correct exponent length in decoded BCRYPT_RSAKEY_BLOB.
wintrust/tests: Add tests for multiple PE signatures.
wintrust: Initialize CRYPT_PROVIDER_SIGSTATE structure in Softpub provider.
wintrust: Load secondary signatures in SoftpubLoadSignature().
wintrust: Support WSS_GET_SECONDARY_SIG_COUNT in Softpub provider.
d3d8/tests: Add test for NULL hDeviceWindow in presentation parameters.
d3d9/tests: Add test for NULL hDeviceWindow in presentation parameters.
wined3d: Replace NULL device_window with focus window in swapchain desc.
msvcp140: Import __ExceptionPtrCopy implementation.
msvcp140: Import __ExceptionPtrAssign implementation.
msvcp140: Import __ExceptionPtrRethrow implementation.
msvcp140: Import __ExceptionPtrCurrentException implementation.
msvcp140: Import __ExceptionPtrToBool implementation.
msvcp140: Import __ExceptionPtrCopyException implementation.
msvcp140: Import __ExceptionPtrCompare implementation.
include/windows.devices.enumeration: Define DeviceAccessInformation class.
windows.devices.enumeration: Create stub DeviceAccessInformation class.
windows.devices.enumeration: Add stub IDeviceAccessInformation interface.
winhttp: Support WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL.
winhttp: Stub WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE.
winhttp: Support WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE.
vcruntime140_1: Link to vcruntime140.
msvcp140: Link to vcruntime140.
Piotr Caban (10):
comctl32/tests: Test PROPERTYSHEETPAGE passed in WM_INITDIALOG.
comctl32/tests: Test passing extra data in PROPSHEETPAGE structure.
comctl32/tests: Add more PROPSHEETPAGE tests inside callback.
comctl32/tests: Test passing PropertySheetPage as HPROPSHEETPAGE.
comctl32: Don't pass PROPSHEETPAGE to SetWindowSubclass in PROPSHEET_CreatePage.
comctl32: Introduce _PSP structure to store HPROPSHEETPAGE data.
comctl32: Use HPROPSHEETPAGE directly in PROPSHEET_CollectPageInfo.
comctl32: Use HPROPSHEETPAGE directly in PROPSHEET_CreatePage.
comctl32: Use HPROPSHEETPAGE directly in PROPSHEET_GetPageRect.
comctl32: Don't cast HPROPSHEETPAGE to PROPSHEETPAGEW*.
Rémi Bernon (75):
winegstreamer: Use IWMSyncReader2_GetMaxStreamSampleSize in the async reader.
winegstreamer: Use IWMSyncReader2_GetOutputProps in the async reader.
winegstreamer: Use IWMSyncReader2_SetOutputProps in the async reader.
winegstreamer: Use IWMSyncReader2_GetOutputFormat in the async reader.
winegstreamer: Use IWMSyncReader2_GetOutputFormatCount in the async reader.
winegstreamer: Use IWMSyncReader2_GetStreamSelected in the async reader.
winegstreamer: Use IWMSyncReader2_SetStreamsSelected in the async reader.
winegstreamer: Use IWMSyncReader2_GetOutputCount in the async reader.
wmvcore/tests: Test IWMSyncReader2_(Get|Set)AllocateFor(Output|Stream).
wmvcore/tests: Test IWMReaderAllocatorEx usage and parameters.
winegstreamer: Factor wm reader sample allocator error checks.
winegstreamer: Implement IWMSyncReader2_SetAllocateForOutput.
winegstreamer: Implement IWMSyncReader2_GetAllocateForOutput.
winegstreamer: Implement IWMSyncReader2_SetAllocateForStream.
winegstreamer: Implement IWMSyncReader2_GetAllocateForStream.
winegstreamer: Implement H264 decoder GetStreamLimits / GetStreamCount.
winegstreamer: Implement WMA decoder GetStreamLimits / GetStreamCount.
winegstreamer: Check Video Processor Get(OutputStream)Attributes pointers.
winegstreamer: Return E_NOTIMPL from color_convert GetInputStreamAttributes.
mf/tests: Test miscellaneous and optional IMFTransform methods.
winegstreamer: Remove FIXME / stub! from optional transform methods.
winegstreamer: Keep input / output stream info in struct color_convert.
winegstreamer: Keep input / output stream info in struct resampler.
winegstreamer: Keep input / output stream info in struct video_processor.
winegstreamer: Keep input / output stream info in struct wma_decoder.
winegstreamer: Keep input / output stream info in struct h264_decoder.
winegstreamer: Stop requiring input type in H264 decoder GetInputStreamInfo.
mf/tests: Factor IMFTransform_Get(Input|Output)StreamInfo checks together.
mf/tests: Factor transform (Get|Set)(Input|Output)CurrentType tests together.
mf/tests: Add some AAC encoder MFT encoding tests.
mf/tests: Add some AAC decoder MFT decoding tests.
mf/tests: Avoid setting transform types while enumerating.
mf/tests: Test WMV decoder MFT / DMO presence and media types.
mf/tests: Test WMV encoder MFT / DMO presence and media types.
mf/tests: Add some WMV encoder MFT / DMO encoding tests.
mf/tests: Add some WMV decoder MFT / DMO decoding tests.
makedep: Add an import type parameter to add_import_libs.
makedep: Link default imports separately from direct imports.
makedep: Link with imported libs before delay imported libs.
shcore: Use delay import for user32 and ole32.
regedit: Call InitCommonControls after command-line has been processed.
regedit: Add a direct import for shcore.
mf: Avoid clearing media session command list while it is running.
winegstreamer: Move CINEPAK encoded format to a separate major type.
winegstreamer: Rename WG_MAJOR_TYPE_MPEG1_AUDIO to WG_MAJOR_TYPE_AUDIO_MPEG1.
winegstreamer: Rename WG_MAJOR_TYPE_WMA to WG_MAJOR_TYPE_AUDIO_WMA.
winegstreamer: Rename WG_MAJOR_TYPE_H264 to WG_MAJOR_TYPE_VIDEO_H264.
winegstreamer: Reorder video format struct in wg_format.
winegstreamer: Wrap callback in a IWMReaderAllocatorEx in the async reader.
winegstreamer: Use IWMSyncReader2_SetAllocateForOutput in the async reader.
winegstreamer: Use IWMSyncReader2_GetAllocateForOutput in the async reader.
winegstreamer: Use IWMSyncReader2_SetAllocateForStream in the async reader.
winegstreamer: Use IWMSyncReader2_GetAllocateForStream in the async reader.
winegstreamer: Use IWMSyncReader2_GetNextSample in the async reader.
winex11.drv: Sync window positions in a WM_X11DRV_DESKTOP_RESIZED message.
winex11.drv: Send WM_X11DRV_CLIP_CURSOR_REQUEST message from the deskop.
win32u: Send WM_DISPLAYCHANGE message to the desktop window.
winex11.drv: Resize desktop window on WM_DISPLAYCHANGE message.
winemac.drv: Resize desktop window on WM_DISPLAYCHANGE message.
winegstreamer: Make IMFTransform_ProcessOutput checks more consistent.
winegstreamer: Create wg_sample from IMFSample within of wg_transform_read_mf.
winegstreamer: Register AAC decoder MFT stub.
winegstreamer: Register WMV decoder MFT / DMO stub.
win32u: Asynchronously send the WM_DISPLAYCHANGE to the desktop window.
mf/tests: Factor test grabber callback implementations.
mf/tests: Check sample grabber RGB / NV12 orientation.
mfmediaengine/tests: Pass a device manager and output format to create_media_engine.
mfmediaengine/tests: Check IMFMediaEngine_TransferVideoFrames output orientation.
mfmediaengine: Remove vertical flipping of video frames.
opengl32: Split trace generation to separate functions.
opengl32: Consistently use $func instead of $func_ref.
opengl32: Replace get_function_proto helper with get_func_(args|ret).
opengl32: List the manually written functions instead of the excluded.
winegstreamer: Support MPEG4 (AAC) compressed audio format.
winegstreamer: Implement AAC decoder MFT.
Sebastian Lackner (1):
ntdll: Improve stub of NtQueryEaFile.
Zebediah Figura (13):
d3d9: Factor out d3d9_texture_init().
d3d9: Introduce a d3d9_texture_preload() helper.
d3d9: Add reference counting helpers for textures.
d3d9: Use a separate draw texture for managed resources.
ddraw: Add FPS tracing in ddraw_surface_update_frontbuffer().
widl: Generate "static inline" instead of "static FORCEINLINE" for COM inline wrappers.
d3d8: Factor out d3d8_texture_init().
d3d8: Introduce a d3d8_texture_preload() helper.
d3d8: Add reference counting helpers for textures.
d3d8: Use a separate draw texture for managed resources.
qcap: Fix frame interval calculation.
qcap: Fix reversed max_fps and min_fps.
qcap/tests: Test that the video capture filter sets timestamps.
Zhiyi Zhang (2):
light.msstyles: Use a darker color for inactive captions.
vulkan-1/tests: Fix test failures on llvmpipe.
The Wine development release 7.18 is now available.
What's new in this release:
- Character tables updated to Unicode 15.0.0.
- Wow64 support in the macOS driver.
- Async reader fixes in GStreamer support.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.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 7.18 (total 20):
- #31157 Multiple applications (FileMaker Pro 12-19, MyDiff) crash when trying to create/open sample solution ('ImmAssociateContext' should only generate 'WM_IME_SETCONTEXT' if window has focus)
- #35478 Multiple applications and games need dsdmo.dll (DirectSound Effects)
- #36312 valgrind shows a couple possible leaks in oledb32/tests/marshal.c
- #36944 Hotel Giant 2 crashes frequently
- #42751 Multiple applications crash on unimplemented function msvcr{100,110}.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z (Gas Guzzlers Combat Carnage, Clip Studio Paint, Cube World, Intel ACAT)
- #44314 Adobe FrameMaker 8: Installer aborts with the error "The wizard was interrupted..."
- #48487 MSYS based Git 2.25 installer reports 'could not decode hex <hexstring>' (needs support for CryptStringToBinaryW CRYPT_STRING_HEX)
- #48600 Bloomberg Terminal needs unimplemented function dbghelp.dll.SymSrvGetFileIndexInfo
- #51404 Resident Evil 7 objects rendered with glitches (Vulkan renderer)
- #52677 REVELPROG_IS crashes on unimplemented function winusb.dll.WinUsb_Free
- #53430 urlmon:url fails due to unexpected redirection
- #53458 windows.media.speech:speech - The 64-bit test_Recognition() gets unexpected ref count on Windows after ISpeechContinuousRecognitionSession_Release()
- #53570 Visual C++ 2015-2019 crashes on launch
- #53577 d3d9:device - test_scissor_size() fails on Windows 8+
- #53578 msvfw32:mciwnd - test_MCIWndCreate() fails in Wine
- #53609 Segmentation fault when starting Dosbox.exe in virtual desktop mode
- #53614 KeePassXC crashes on unimplemented function msvcp140.dll.?ReportUnhandledError@_ExceptionHolder@details@Concurrency@@AEAAXXZ
- #53626 Wine crash due to long filename when saving file in Framemaker
- #53703 Wine crashes when setting a long window title.
- #53706 NtDeviceIoControlFile() is quite slow when called with and invalid handle
----------------------------------------------------------------
Changes since 7.17:
Akihiro Sagawa (1):
user32: Fix a memory allocation strategy.
Alexandre Julliard (22):
configure: Use --disable-stdcall-fixup for all PE builds.
kernel32/tests: Fix affinity test when there are too many CPUs.
ntdll/tests: Fix affinity test when there are too many CPUs.
ntoskrnl/tests: Fix affinity test when there are too many CPUs.
oleaut32: Avoid spurious debug traces when FIXMEs are disabled.
oleaut32: Check that the 32/64 syskind matches when getting a typelib from the cache.
webservices/tests: Mark tests that fail on 64-bit as todo.
d2d1/tests: Adjust geometry to make tests pass on all devices.
winetest: Don't require an email if we have a URL.
gdi32/tests: Mark some tests that fail without Vulkan as todo.
vcomp/tests: Limit the number of nested threads.
unicode: Update to Unicode 15.0.0.
win32u: Fix Get/SetWindowWord behavior on 32-bit.
winex11: Don't send WM_CANCELMODE to iconified windows.
user32/tests: Fix a few more assumptions about window positions.
ntdll/tests: Re-add workaround for check that is still broken on win7.
winetest: Report failure for tests that print too much output.
ntdll/tests: Don't run the stack growth tests too many times.
d2d1/tests: Skip subsequent todo tests for unsupported properties.
user32/tests: Only report the first todo of a failed message sequence.
user32/tests: Don't print debug traces by default.
advapi32/tests: Mark some failing tests as todo.
Alistair Leslie-Hughes (7):
ws2_32: Return a valid value for WSAIoctl SIO_IDEAL_SEND_BACKLOG_QUERY.
wininet: Clear cached credentials after the first failed attempt.
oledb32/tests: Free returned property set memory.
wininet: Use standard HTTP_ADD Flags.
msdasql: Implement ICommandProperties GetProperties.
msdasql: Implement ICommandProperties SetProperties.
msdasql: Implement IColumnsRowset GetAvailableColumns.
André Zwing (1):
ntdll: Fix ARM vs AMD64 typo.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (4):
server: Remove 32-bit-specific macOS #ifdefs.
server: Report errors on macOS when getting/setting debug registers.
server: Write to correct context struct when getting debug registers on macOS.
server: Use correct context struct and thread flavor when setting debug registers on macOS.
Connor McAdams (6):
uiautomationcore: Implement UiaReturnRawElementProvider.
uiautomationcore: Increment module reference count when starting provider thread.
uiautomationcore: Shutdown provider thread when all returned nodes are released.
uiautomationcore: Implement UiaNodeFromHandle.
uiautomationcore: Create UI Automation client thread.
uiautomationcore: Add tests for UiaNodeFromHandle.
David Kahurani (1):
win32u: Use allocator mechanism to allocate DC attributes.
Davide Beatrici (9):
winecoreaudio: Fix RegEnumKeyExW() call passing wrong unit for the buffer size.
winecoreaudio: Switch to string as device identifier, to match other drivers.
mmdevapi: Integrate winecoreaudio's additions in unixlib.h.
winecoreaudio: Drop "unix_" prefix in unixlib enum, apply it to the functions instead.
winecoreaudio: Adapt "create_stream_params" struct to mmdevapi's.
winecoreaudio: Adapt "release_stream_params" struct to mmdevapi's.
winecoreaudio: Adapt "release_render_buffer_params" struct to mmdevapi's.
winecoreaudio: Adapt "get_capture_buffer_params" struct to mmdevapi's.
winecoreaudio: Switch to mmdevapi's unixlib.h.
Eric Pouech (14):
winedump: Harden reading PDB string table stream.
dbghelp: Harden reading strings from string table.
dbghelp: Correctly handle the absence of IPI stream.
dbghelp: Support SymGetTypeInfo/TI_GET_LENGTH for variables.
dbghelp: Displacements are optional.
winedump: Print signed integers with %d.
dbghelp: Support depth relating to top function for inline sites.
dbghelp: Store all address ranges for inline sites.
d3d10core/tests: Fix erroneous color parameter.
d3d10core/tests: Introduce a clear_backbuffer_rtv() helper.
d3d11/tests: Introduce a clear_rtv() helper.
glu32: Fix GCC 12.2 warnings.
jscript: Fix GCC 12.2 warning.
avifil32: Fix GCC 12.2 warning (-Warray-bounds).
Etaash Mathamsetty (2):
ntoskrnl: KeSetTargetProcessorDpcEx stub.
ntoskrnl: Implement KeGetCurrentProcessorNumberEx.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (8):
include: Add IDOMStorageEvent and DispDOMStorageEvent interfaces.
mshtml: Move the MessageEvent construction to a helper.
mshtml: Implement StorageEvent and send it when clearing the storage.
mshtml: Send StorageEvents when setting an item.
mshtml: Send StorageEvents when removing an existing item.
mshtml/tests: Add tests for StorageEvents with parallel documents.
mshtml: Don't expose document.onstorage for IE9+ modes.
mshtml: Send StorageEvents to iframe windows properly.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.228.
Gijs Vermeulen (2):
dbghelp: Add SymSrvGetFileIndexInfo stub.
ntdll: Add RtlDosPathNameToRelativeNtPathName_U.
Hans Leidekker (15):
bcrypt: Support setting BCRYPT_CHAIN_MODE_CFB on keys.
bcrypt: Add full support for algorithm pseudo-handles.
bcrypt: Rename mode_id to chain_mode.
appwiz.cpl: Use BCrypt algorithm pseudo-handles.
appwiz.cpl: Use BCryptHash().
crypt32: Use BCrypt algorithm pseudo-handles.
dssenh: Use BCrypt algorithm pseudo-handles.
fusion: Use BCrypt algorithm pseudo-handles.
ncrypt: Use BCrypt algorithm pseudo-handles.
rsaenh: Use BCrypt algorithm pseudo-handles.
adsldp: Implement ADS_SEARCHPREF_SIZE_LIMIT.
adsldp/tests: Limit the number of search results.
adsldp/tests: Get rid of workarounds for Windows XP.
winhttp/tests: Fix test failure caused by expired client certificate.
secur32/tests: Fix test failure caused by expired client certificate.
Henri Verbeet (6):
wined3d: Fix the sub-resource index validation in wined3d_texture_update_overlay().
wined3d: Destroy the Vulkan command pool after cleaning up resources.
d3d9/tests: The expected scissor rect after a reset is equal to the back-buffer dimensions.
d3d11: Implement d3d11_input_layout_to_wined3d_declaration() on top of vkd3d_shader_parse_input_signature().
d3d11/tests: Move the is_warp_device() call out of the loop in check_format_support().
wined3d: Return bools from all return paths in wined3d_cs_map_upload_bo().
Jacek Caban (8):
urlmon/tests: Make BINDSTATUS_DOWNLOADINGDATA optional in test_URLDownloadToFile_abort.
wininet/tests: Collect persistent connection before running tests in test_async_HttpSendRequestEx.
wininet/tests: Don't send two HTTP responses for a single request in server_thread.
win32u: Introduce NtUserSendDriverMessage.
winemac: Use platform-independent types for user callback params.
winemac: Implement wow64 thunks.
winevulkan: Introduce VkVariable.
winevulkan: Use DECLSPEC_ALIGN instead of pshpack4.h.
Jacob Czekalla (3):
notepad: Show status bar.
notepad: Track and display line number and column.
notepad: Show goto dialog box.
Jinoh Kang (3):
include: Define atomic read/write helpers for 32-bit integers.
concrt140: Use atomic write for releasing threadsafe_queue spin lock.
msvcp90: Use atomic write for releasing threadsafe_queue spin lock.
Julian Klemann (9):
widl: Use "cinterface(IInspectable)" for IInspectable signature.
include/windows.devices.enumeration: Update file to newer formatting.
include/windows.devices.enumeration: Define IDeviceInformationStatics2.
windows.devices.enumeration: Replace STDMETHODCALLTYPE with WINAPI.
windows.devices.enumeration: Create private header file.
windows.devices.enumeration: Add IDeviceInformationStatics2 stub.
windows.devices.enumeration: Add DeviceWatcher stub.
windows.devices.enumeration: Implement Stopped handler for DeviceWatcher.
windows.devices.enumeration/tests: Add test for Stopped DeviceWatcher event.
Mohamad Al-Jaf (2):
include: Add winusb.h file.
winusb: Add WinUsb_Free stub.
Nikolay Sivov (26):
dwrite/layout: Use same logic for mapping both non-visual and visual runs.
dwrite/layout: Keep system font collection for each layout.
dwrite/layout: Use already resolved or last resort fonts when setting dummy line metrics.
dwrite/layout: Constify some internal helpers arguments.
dwrite/layout: Limit text window passed to MapCharacters() to the range of characters to map.
xmllite/reader: Improve xml declaration node parsing.
xmllite/writer: Implement WriteWhitespace().
xmllite/writer: Handle empty prefix and uri correctly in WriteStartElement().
xmllite/writer: Close open tag on WriteRaw().
xmllite/writer: Close open tag on WriteProcessingInstruction().
xmllite/writer: Implement WriteAttributes().
xmllite/writer: Add initial implementation of WriteNode().
xmllite/tests: Add some more tests for WriteStartElement().
xmllite/tests: Add a test for IsEmptyElement() on attributes.
xmllite/writer: Handle empty local name in WriteAttributeString().
xmllite/writer: Implement WriteNodeShallow().
xmllite/writer: Enable some more tests for WriteNode().
kernelbase: Add OpenFileMappingFromApp().
kernelbase: Add CreateFileMappingFromApp().
kernelbase: Add MapViewOfFileFromApp().
include: Add windows.system.threading.idl.
threadpoolwinrt: Add a stub module.
threadpoolwinrt: Add initial implementation of RunAsync.
include: Add windows.security.cryptography.idl.
cryptowinrt: Add a stub module.
cryptowinrt: Implement GenerateRandomNumber().
Owen Rudge (2):
secur32/tests: Add tests for LsaGetLogonSessionData.
secur32: Implement basic functionality for LsaGetLogonSessionData.
Paul Gofman (6):
advapi32: Add stub for PerfCloseQueryHandle().
advapi32: Add stub for PerfOpenQueryHandle().
advapi32: Add stub for PerfAddCounters().
advapi32: Add stub for PerfQueryCounterData().
crypt32: Support CRYPT_STRING_HEXRAW in CryptBinaryToStringA().
crypt32: Support CRYPT_STRING_HEX in CryptStringToBinary().
Piotr Caban (2):
msvcp90: Fix indentation in concurrent_vector_alloc_segment function.
msvcr100: Fix crash when setting scheduler in schedule_task_proc.
Rémi Bernon (66):
wmvcore/tests: Add some tests starting WM reader with NULL context.
winegstreamer: Wrap async reader op new_context in a union.
winegstreamer: Unconditionally assign new context for ASYNC_OP_START.
winegstreamer: Implement async reader asynchronous seeking.
winegstreamer: Keep start time in the async_reader struct.
winegstreamer: Check whether the reader is still running before user time.
winegstreamer: Factor async_reader waits using async_reader_get_wait_timeout.
winegstreamer: Introduce a new async_reader_wait_pts helper.
winegstreamer: Request the wm_reader stream only when necessary.
widl: Allow parameterized types in runtimeclass interfaces.
wineandroid.drv: Add missing DM_DISPLAYORIENTATION flag on display mode.
win32u: Rename get_full_mode variables and avoid using devmode directly.
win32u: Fill the local full_mode variable instead of using the modes array.
win32u: Introduce reference counting to struct adapter.
win32u: Avoid copying the modes array in NtUserChangeDisplaySettings.
win32u: Avoid unnecessary copy of adapter path and device name.
win32u: Pass adapter parameter to (read|write)_registry_settings.
win32u: Introduce a new internal WINE_DM_UNSUPPORTED display flag.
mf/tests: Split IMFTransform tests to transform.c.
mf/tests: Add some winetest context to MFT tests.
mf/tests: Split create_transform into check_(mft|dmo)_(enum|get_info).
mf/tests: Test AAC encoder MFT presence and media types.
mf/tests: Test AAC decoder MFT presence and media types.
mf/tests: Factor IMFTransform required attributes checks together.
maintainers: Assume maintainership of MF transforms.
winegstreamer: Support MFT_SET_TYPE_TEST_ONLY flag in the MF transforms.
winegstreamer: Avoid leaking attributes on video processor creation failure.
winegstreamer: Better implement H264 MFT GetAttributes and GetOutputStreamAttributes.
winegstreamer: Set MFT_OUTPUT_DATA_BUFFER_INCOMPLETE in wg_transform_read_mf.
winegstreamer: Stop setting flags on unexpected MF_E_TRANSFORM_STREAM_CHANGE.
winegstreamer: Check for unexpected format change in wg_transform_read helpers.
winegstreamer: Check WMA sample size before wrapping the sample.
winegstreamer: Remove unnecessary IMFTransform_GetInputStreamInfo calls.
winegstreamer: Create wg_sample from IMFSample within wg_transform_push_mf.
winegstreamer: Wake thread when async reader user clock is modified.
winegstreamer: Introduce a new async_reader_deliver_sample helper.
winegstreamer: Use a dedicated CS to serialize async reader commands.
winegstreamer: Check for already opened stream in wm_reader_open*.
winegstreamer: Get rid of the wm_reader_ops callbacks.
winegstreamer: Aggregate a IWMSyncReader in the async reader.
winegstreamer: Merge wm_syncreader.c into wm_reader.c.
mf/tests: Use separate variables for input / output samples.
mf/tests: Factor IMFTransform_ProcessOutput checks together.
mf/tests: Introduce a new load_resource helper.
mf/tests: Introduce a new dump_mf_sample helper.
mf/tests: Factor IMFSample checks in a check_mf_sample helper.
mf/tests: Factor IMFSample attributes checks in check_mf_sample.
mf/tests: Check all produced output IMFSample at the same time.
mf/tests: Rename transform frame dumps to BMP.
mf/tests: Dump image samples with a BMP header and RGB data.
winegstreamer: Query the IWMSyncReader2 interface in the async reader.
winegstreamer: Implement IWMSyncReader2_GetReadStreamSamples.
winegstreamer: Use IWMSyncReader2_GetReadStreamSamples in the async reader.
winegstreamer: Use IWMSyncReader2_SetReadStreamSamples in the async reader.
winegstreamer: Use IWMSyncReader2_Close in the async reader.
winegstreamer: Use IWMSyncReader2_Open in the async reader.
winegstreamer: Use IWMSyncReader2_OpenStream in the async reader.
winegstreamer: Use IWMSyncReader2_SetRange in the async reader.
winegstreamer: Avoid accessing NULL pointer if transform didn't provide a sample.
user32/tests: Cleanup sysparams WM_DISPLAYCHANGE tests.
win32u: Move enumeration of available modes out of graphics drivers.
winemac.drv: Stop using the cached_modes_mutex for get_default_bpp.
win32u: Factor out display_device lookup in separate helpers.
win32u: Use find_adapter_device_by_(name|id) helpers in find_adapter.
win32u: Lock display devices mutex in find_adapter.
win32u: Broadcast WM_DISPLAYCHANGE message on display settings change.
Santino Mazza (2):
include: Define REG_APP_HIVE and REG_PROCESS_PRIVATE.
ntdll/tests: Test for NtRegLoadKey roothandle parameter.
Shaun Ren (1):
msvcrt: Fix strncmp return value.
Witold Baryluk (4):
ntdll: Speed up NtQueryVirtualMemory(MemoryWorkingSetExInformation) by conditional page check.
ntdll: Do not use hardcoded page shift in NtQueryVirtualMemory(MemoryWorkingSetExInformation).
ntdll: Use pread in NtQueryVirtualMemory(MemoryWorkingSetExInformation).
ntdll: Keep pagemap file open after first use of NtQueryVirtualMemory(MemoryWorkingSetExInformation).
Zebediah Figura (16):
wined3d: Do not create larger staging buffers than necessary in adapter_vk_copy_bo_address().
wined3d: Remove a redundant variable.
wined3d: Factor out wined3d_texture_validate_sub_resource_idx().
wined3d: Mark managed textures as dirty if applicable in wined3d_device_evict_managed_resources().
d3d8: Remove an incorrect comment.
wined3d: Add a dirty region to the destination texture in wined3d_device_context_blt() if applicable.
wined3d: Pass a draw count of 1 to Vulkan indirect draw commands.
ntdll: Avoid comparing the result of pointer arithmetic to zero.
libwine: Avoid comparing the result of pointer arithmetic to zero.
ntdll: Calculate the necessary length after calling snprintf() in SystemWineVersionInformation.
win32u: Copy directly into the union pointer in unpack_message().
ntdll: Do not check for malloc() failure in get_initial_environment.
ntdll: Add a fast path for NtDeviceIoControlFile(INVALID_HANDLE_VALUE).
d3d10core/tests: Use a pixel shader that consumes SV_Position in test_pipeline_statistics_query().
d3d11/tests: Use a pixel shader that consumes SV_Position in test_pipeline_statistics_query().
d3d10core/tests: Ignore random WARP failures in test_pipeline_statistics_query.
Zhiyi Zhang (1):
kernelbase: Return system error codes in the ReadDirectoryChangesW() completion callback.
The Wine development release 7.17 is now available.
What's new in this release:
- High Unicode planes support in DirectWrite.
- Some work towards Wow64 support in the Vulkan driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.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 7.17 (total 18):
- #11999 Endless Online game window appears as white texture
- #27243 Wiggles: All renderers are unsupported
- #34744 Earth 2150 fails to play .mp2 music (MPEG-1 Audio Decoder Filter needed, CLSID '{4a2286e0-7bef-11ce-9bd9-0000e202599c}')
- #37019 Multiple games fail to start due to D3D7 devices reporting unsupported HWTRANSFORMANDLIGHT capability (Summoner, Battle Realms: Zen Edition)
- #48986 Riot Vanguard (Riot Games) 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.KeAreAllApcsDisabled
- #51939 Riot Vanguard (Riot Games) v1.0.x.x 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.IoCreateFileEx
- #52449 Liar-soft Visual Novel's not displaying video (audio plays fine)
- #52457 CNG Encryption Failure (BCryptEncrypt)
- #52709 Visual Studio Community 2022 installer crashes when trying to open it
- #53032 winedevice.exe segfaults on exit when built with GCC
- #53337 Ice Cream Calculator: unusually slow scrolling
- #53427 BioShock needs D3DX10PreprocessShaderFromMemory implementation
- #53486 foobar2000.exe with foo_out_upnp breaks sending audio stream to another upnp renderer after a short period of time
- #53544 msys2 block device fstat function depends on NtQueryVolumeInformationFile FileFsFullSizeInformation
- #53547 msys2 installer fails to check disk space: "harddisk_query_volume Unsupported volume query 3"
- #53560 Wizard101 fails to load in 7.15
- #53581 Construction Set Extender crashes
- #53601 UI rendering broken for multiple applications (7-Zip, WinRAR, foobar2000, built-in apps) in Wine 7.16 at a non-default DPI
----------------------------------------------------------------
Changes since 7.16:
Alexandre Julliard (32):
urlmon/tests: Run tests against the gitlab server to avoid redirects.
kernelbase: Fix error value for PE files without resource.
include: Simplify handling of va_list in debug printf functions.
include: Add va_list version of the debug printf functions.
gitlab: Rename build-all job to build-linux.
gitlab: Run CI scripts as non-root user.
include: Add a va_list version of the wine_dbg_log function.
include: Always use the standard varargs macros.
kernel32/tests: Don't assume that notifications are instantaneous.
ntdll/tests: Fix some race conditions.
shell32: Fix sharing modes when loading/saving link files.
unicode: Add data for high Unicode planes to the scripts table.
unicode: Add data for high Unicode planes to the linebreak table.
unicode: Add data for high Unicode planes to the bidi direction table.
unicode: Add data for high Unicode planes to the Arabic shaping table.
kernel32/tests: Don't test console flags that are modified by WINETEST_COLOR=1.
user32/tests: Remove checks that rely on the absolute position of a top-level window.
makedep: Make the handling of install rules more generic.
makefiles: Add install-test target to install winetest.exe.
winetest: Add helper functions for temp file handling.
winetest: Add extra quiet mode that only outputs data for failed tests.
user32/tests: Fix some assumption about absolute window positions.
version/tests: Mark a test that fails on Wow64 as todo.
urlmon/tests: Fix race condition in abort test.
winetest: Report success if the report has been submitted successfully.
gitlab: Run tests on Debian after the daily commit round.
gitlab: Always reset the git tree after a build.
gitlab: Fetch the full git tree with all tags.
ntdll/tests: Remove workarounds for old Windows versions.
ntdll: Add a helper function to allocate process parameters.
ntdll: Use a different alignment for initial process parameters.
shell32: Don't return an uninitialized pointer on error in enum_trash_items().
Alexandros Frantzis (1):
msvfw32: Use window name to determine if window is created using MCIWndCreate.
Alistair Leslie-Hughes (1):
winepulse: Use the predicate to terminate the connect cond_wait loop.
Andrey Gusev (2):
d3dx10: Implement D3DX10PreprocessShaderFromMemory().
user32: Implement DefRawInputProc.
Bernhard Kölbl (5):
windows.media.speech/tests: Remove some flaky refcount checks.
windows.media.speech: Add missing async_void_Release implementation.
include/windows.media.speechsynthesis.idl: Add missing interfaces to SpeechSynthesizerOptions runtimeclass.
windows.media.speech/tests: Add basic query tests for SpeechSynthesizerOptions.
windows.media.speech/tests: Skip SpeechRecognitionListConstraint tests on Win10 1709 x32 and below.
Brendan Shanks (1):
wow64: Don't re-enter cpu_simulate() from exception filter.
Chris Denton (1):
bcrypt: Add basic support for pseudo-handles.
Connor McAdams (7):
combase: Omit thread ID from the stub manager ipid for MTA objects.
include: Add more definitions to uiautomationcoreapi.h.
include: Add IRawElementProviderHwndOverride definition.
uiautomationcore: Retrieve HWND from HUIANODE provider.
uiautomationcore: Partially implement UiaGetRuntimeId.
uiautomationcore: Add support for UIA_RuntimeIdPropertyId.
uiautomationcore: Implement UiaHUiaNodeFromVariant.
Davide Beatrici (7):
mmdevapi: Integrate wineoss's additions in unixlib.h.
wineoss: Drop "oss_" prefix in unixlib enum, apply it to the functions instead.
wineoss: Adapt "test_connect_params" struct to mmdevapi's.
wineoss: Adapt "create_stream_params" struct to mmdevapi's.
wineoss: Adapt "get_frequency_params" struct to mmdevapi's.
wineoss: Adapt "get_position_params" struct to mmdevapi's.
wineoss: Switch to mmdevapi's unixlib.h.
Eric Pouech (8):
msvcrt: Correctly support space generation in pointers.
msvcrt: Improve support for template in methods.
msvcrt: Fix white space output for typecast operator.
msvcrt: Undecorate function signature as template argument.
msvcrt: Use enum to clarify post-processing actions.
msvcrt: Fix order of extended qualifiers and qualifiers.
include: Enable ANSI support in console for WINETEST_COLOR.
msvfw32: Test window creation with filename.
François Gouget (14):
mshtml/tests: Fix a spelling error in an ok() message.
dbghelp: Fix a couple of spelling errors in a comment.
mscvpdb: Fix a spelling error in a comment.
winspool.drv/tests: Fix the spelling of a variable name.
winealsa.drv: Make functions static where possible.
crypt32: Remove WINAPI on static functions where not needed.
winex11.drv: Make get_unix_file_name() static.
dinput: Remove WINAPI on static functions where not needed.
dinput/tests: Remove WINAPI on static functions where not needed.
windows.media.speech: Remove WINAPI on static functions where not needed.
winex11.drv: Use #ifdef to check config.h macros.
mshtml: Add trailing linefeeds to a couple of FIXME() messages.
tests: Allow marking unreliable tests as flaky.
msvcrt: Fix the spelling of a comment.
Gabriel Ivăncescu (5):
mshtml: Implement props for Storage by forwarding to the underlying storage.
mshtml: Implement deleting props for Storage.
mshtml: Do not enumerate hidden builtin props.
mshtml: Implement GetMemberName for custom props.
mshtml: Implement props enumeration for Storage.
Georg Lehmann (2):
winevulkan: Fixup 64bit enum aliases later to avoid using not yet defined values.
winevulkan: Update to VK spec version 1.3.226.
Gijs Vermeulen (1):
msvcp140: Add _ExceptionHolder::ReportUnhandledError stub.
Hans Leidekker (1):
bcrypt: Force symmetric key reset if necessary.
Henri Verbeet (1):
include: Avoid _t-suffixes.
Jacek Caban (10):
user32: Call winproc_init before dpiaware_init.
winevulkan: Use vk_unix_call in loader.c.
winevulkan: Use __wine_unix_call for checking Vulkan functions availability.
winevulkan: Get rid of unix_funcs.
winevulkan: Separate PE and Unix VkDevice structs.
winevulkan: Separate PE and Unix VkQueue structs.
winevulkan: Separate PE and Unix VkInstance structs.
winevulkan: Separate PE and Unix VkPhysicalDevice strucrts.
winevulkan: Wrap VkCommandPool on PE side.
winevulkan: Separate PE and Unix VkCommandBuffer structs.
Joel Holdsworth (4):
kernel32/tests: GetDiskFreeSpaceA/W test targetted at a real drive.
kernel32/tests: Added tests for GetDiskFreeSpaceA/W with volume GUID paths.
ntdll: Implemented NtQueryVolumeInformationFile FileFsFullSizeInformation.
mountmgr.sys: Implemented FileFsSizeInformation and FileFsFullSizeInformation volume queries.
Julian Rüger (1):
po: Update German translation.
Kevin Puetz (1):
winecrt0: Remove free_delay_imports.
Lauri Kenttä (2):
readme: Update Finnish translation.
po: Update Finnish translation.
Lorenzo Ferrillo (1):
comctl32: Support passing bitmap and icon resource ID as a string when creating static control.
Matteo Bruni (2):
d3dx10/tests: Add a test for D3DX10PreprocessShaderFromMemory().
windowscodecs/tests: Clean up after running test expected to fail.
Nikolay Sivov (29):
evr/filter: Add IMediaEventSink stub.
evr/filter: Add IMFTopologyServiceLookup stub.
evr/filter: Implement media type testing for QueryAccept().
evr/filter: Implement pin's connect/disconnect.
bcrypt/tests: Use CRT allocation functions.
mfsrcsnk/wave: Initialize buffer pointer in ProcessSample() (Coverity).
evr/filter: Initialize interface pointer in GetService() (Coverity).
win32u/hook: Fix a leak on earlier return (Coverity).
mshtml/tests: Fix a typo in test message (Coverity).
dwrite: Skip variation selectors in MapCharacters().
dwrite: Add NNBSP (202F) to Mongolian fallback range.
dwrite: Handle variation selectors 17-256 in MapCharacters().
wbemdisp: Use wcsdup() instead of internal helper.
msvcrt: Use size_t for the size in wcsdup().
msvcrt: Remove mention of obsolete libwine function.
prntvpt: Use CRT allocation functions.
wmiutils: Use CRT allocation functions.
dwrite: Fix spans length reported by AnalyzeScript() for characters above BMP.
evr/filter: Notify mixer and presenter on state changes.
dwrite: Handle higher planes when setting DWRITE_SCRIPT_SHAPES_NO_VISUAL.
dwrite/bidi: Prepare for characters above BMP.
dwrite: Handle higher planes characters in line breaking logic.
evr/filter: Initial implementation of sample rendering.
crypt32/tests: Use CRT allocation functions.
dssenh: Use CRT allocation functions.
dwrite/tests: Add some tests for glyph justification values.
dwrite: Set initial justification value for default shaper.
msidb: Use CRT allocation functions.
ping: Use CRT allocation functions.
Piotr Caban (6):
d3dx10: Factor out image format conversion function.
d3dx10: Use WIC functions to obtain info about DDS image.
d3dx10: Add support for texture cubes in D3DX10CreateTexture functions.
d3dx10: Don't check frame count in load_texture_data.
d3dx10: Add support for loading MipLevels data in load_texture_data.
d3dx10/tests: Improve cube textures data testing.
Robert Wilhelm (2):
scrrun: Test whether IFolder_get_Path() returns an absolute path.
scrrun: Store full path in folder object.
Rémi Bernon (42):
winemac.drv: Rename display modes cache variables.
winemac.drv: Invalidate mode cache when enum flags changes.
winemac.drv: Remove unnecessary macdrv_EnumDisplaySettingsEx declaration.
winemac.drv: Check for non-primary adapter earlier in macdrv_ChangeDisplaySettingsEx.
winemac.drv: Support getting non-primary adapter current display mode.
winemac.drv: Support enumerating non-primary adapters display modes.
wmvcore/tests: Use a constant for test.wmv duration.
wmvcore/tests: Test sync reader output settings read / write.
wmvcore/tests: Test async reader output settings read / write.
wmvcore/tests: Test that the callback thread is always the same.
wmvcore/tests: Test async reader compressed sample monotonic pts.
wmvcore/tests: Test async reader DedicatedDeliveryThread setting.
mf: Use a dedicated interface for sample allocator ready callbacks.
mf: Delay media session command processing when presentation is ending.
mf: Use the SESSION_FLAG_PENDING_COMMAND to delay further commands.
mf: Notify quality manager of topology change in session_set_topology.
win32u: Sort adapter display modes after reading from the registry.
win32u: Support interlaced and stretched display modes.
win32u: Move full display mode lookup out of graphics drivers.
winex11.drv: Remove unnecessary display mode flags checks.
winemac.drv: Remove unnecessary display mode flags checks.
win32u: Move display placement logic out of graphics drivers.
mf/tests: Move and split some helper code around.
mf/tests: Keep a presentation descriptor in the test source.
mf/tests: Allocate test callbacks dynamically and check refcounts.
mf/tests: Add helpers to wait and check media session events.
mf/tests: Test some IMFMediaSession_SetTopology error cases.
mf/tests: Test that IMFTopoLoader_Load doesn't set output nodes media types.
mf/tests: Test that IMFTopoLoader_Load sets transform nodes media types.
mf/tests: Test that IMFMediaSession_SetTopology sets output nodes media types.
include: Declare AudioResamplerMediaObject and MP3DecMediaObject class ids in mfidl.idl.
include: Remove unnecessary semicolons from wmcodecdsp.idl.
include: Add WMV encoder / decoder DMO class ids to wmcodecdsp.idl.
include: Add more WMV media subtypes to wmcodecdsp.idl.
winegstreamer: Rename async reader stream_thread to callback_thread.
winegstreamer: Avoid leaking async ops on release or multiple close.
winegstreamer: Leave WM reader CS on invalid output format.
winegstreamer: Leave async reader callback_cs on calloc error.
winegstreamer: Move open_stream / close_stream helpers around.
winegstreamer: Release callback and context in async_reader_close.
winegstreamer: Avoid waiting for callback thread on allocation failure.
winegstreamer: Query IWMReaderCallbackAdvanced interface in Open.
Santino Mazza (3):
advapi32/tests: Add tests for RegLoadAppKey.
ntdll: Create NtLoadKeyEx syscall stub.
ntdll: Move NtLoadKey implementation to NtLoadKeyEx.
Stefan Dösinger (5):
wined3d: Tell vkd3d_shader about dual source blending.
ddraw/tests: Avoid picking a large mode on Win10 in test_coop_level_mode_set_enum_cb.
ddraw/tests: Avoid picking a large mode on Win10 in find_different_mode_callback.
include/test.h: Don't use strcasecmp.
include/test.h: Don't use \e.
Zebediah Figura (8):
include: Add list_move_after() and list_move_before().
msvcrt: Add SEH annotations for sse2_memcpy().
rpcrt4: Make Ndr64AsyncClientCall() SEH-compatible.
rpcrt4: Add SEH annotations to Ndr64AsyncClientCall().
rpcrt4: Make NdrClientCall3() SEH-compatible.
rpcrt4: Add SEH annotations to NdrClientCall3().
rpcrt4: Make NdrClientCall2() SEH-compatible.
rpcrt4: Add SEH annotations to NdrClientCall2().
Zhiyi Zhang (6):
uxtheme/tests: Add theme tests.
comctl32/tests: Add themed scrollbar background tests.
uxtheme: Use the brush from WM_CTLCOLORSCROLLBAR to paint SB_CTL scrollbar tracks if present.
uxtheme: Do not draw parent background even if scrollbar arrows and thumb are transparent.
comctl32/datetime: Do not paint parent background when painting arrows.
win32u: Only cache font glyph metrics from GGO_METRICS.
Ziqing Hui (9):
d3dx10/tests: Add tests for D3DX10CreateEffectFromMemory.
d3dx10/tests: Add tests for D3DX10CreateEffectFromFile.
d3dx10/tests: Add tests for D3DX10CreateEffectFromResource.
d3dx10: Introduce create_effect().
d3dx10: Support effect creation for compiled shader.
d3dx10: Return E_FAIL in D3DX10CreateEffectFromFile for NULL file name.
d3dx10/tests: Test block compressed texture data which has more than one block line.
d3d10/tests: Test NULL device for D3D10CreateEffectFromMemory and D3D10CreateEffectPoolFromMemory.
d3d10: Handle invalid arguments for effect creation.
The Wine development release 7.16 is now available.
What's new in this release:
- Wow64 support in X11 driver.
- Session storage in MSHTML.
- Unicode regexp fixes in MSXML.
- IME improvements in Edit control.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.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 7.16 (total 20):
- #29685 Manifest generator (ecmangen) tool from Windows Platform SDK 7.1 crashes due to unhandled facet/regular expression in XML schema (escape sequence)
- #42857 Can't select a fixture in FreeStyler's fixture editor
- #43581 Microsoft Office 365 edition of Office 2013 installer fails with 'cache_entry_from_xsd_doc failed to parse doc' (non-standard '\u####' sequence)
- #46083 postgresql: "Unable to write inside TEMP environment variable path"
- #51601 Metal Gear Solid V: The Phantom Pain stucks on first chapter intro
- #52329 amazon games app crashes in wine 7.0 rc-3 (winsock?)
- #52657 Watch Dogs crashes on start
- #53174 StarCitizen launcher freeze due to heap space issue
- #53424 Scroll bar not working. was with up to 7.12?
- #53462 Obduction audio and subtitles for videos don't work
- #53468 Ragnarok Online's anti-cheat, Gepard, detecting macro usage (false-positive)
- #53472 Kerberos auth broken since 7.10
- #53497 d3d8:device & d3d8:device - test_resource_access() crashes in Wine
- #53542 Hog4PC 3.17 installer VBScript custom action needs IWshShell::Run to return signed type.
- #53545 Visual Novel Doukyuusei sound loop
- #53565 postgresql installer 9.3 needs support for default style argument in WshShell.Run
- #53566 Wine uninstaller fails to launch
- #53569 postgresql installer 9.3 needs correct string length returned from fso.GetTempName
- #53587 comctl32 GetWindowSubclass crash in Notepad++ (v8.4.3 and 8.4.4 only)
- #53589 Saints Row (2022) crashes on unimplemented function kernel32.dll.SetProcessDefaultCpuSets
----------------------------------------------------------------
Changes since 7.15:
Akihiro Sagawa (7):
mciqtz32: Don't stretch video destination for a popup or child window.
winmm/tests: Add MCI_DGV_WINDOW_STATE tests.
mciqtz32: Fix MCI_DGV_WINDOW_STATE behavior.
winmm/tests: Add MCI_DGV_WINDOW_TEXT tests.
mciqtz32: Fix MCI_DGV_WINDOW_TEXT behavior.
winmm/tests: Add more MCI_DGV_WINDOW_HWND tests.
mciqtz32: Fix MCI_DGV_WINDOW_HWND error handling.
Alexandre Julliard (9):
winetest: Use CRT allocation functions.
winetest: Support loading the list of tests from a file.
winetest: Disable the crash dialog in non-interactive mode.
winetest: Exit with error 3 when there are test failures.
mountmgr: Don't crash if connecting to dbus fails.
xslt: Import upstream release 1.1.36.
xml2: Import upstream release 2.10.0.
comctl32/tests: Use client coordinates for right click test.
gitlab: Add macOS build.
Alistair Leslie-Hughes (2):
dsdmo: Add Echo FX Support.
dsdmo: Add Compressor FX Support.
André Zwing (1):
wow64: Fix the ARM32 machine type.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (2):
shell32/tests: Test ExtractIcon() with an empty/invalid path.
shell32: Return NULL from ExtractIcon() for all error cases.
Davide Beatrici (18):
winealsa: Drop "alsa_" prefix in unixlib enum, apply it to the functions instead.
winealsa: Move common unixlib.h content into mmdevapi.
mmdevapi: Integrate winepulse's additions in unixlib.h.
winealsa: Fix WoW64 failure when calling get_position().
mmdevapi/tests: Fix fail messages referencing GetChannelCount() instead of GetChannelVolume().
mmdevapi/tests: Distinguish GetChannelCount() calls in test_volume_dependence() fail messages.
mmdevapi/tests: Fix typos in spatial audio fail messages.
mmdevapi/tests: Fix fail message referencing "Start" instead of "Stop" in test_session().
winepulse: Adapt "endpoint" struct to mmdevapi's.
winepulse: Adapt "create_stream_params" struct to mmdevapi's.
winepulse: Adapt "release_stream_params" struct to mmdevapi's.
winepulse: Adapt "release_render_buffer_params" struct to mmdevapi's.
winepulse: Adapt "get_capture_buffer_params" struct to mmdevapi's.
winepulse: Adapt "get_mix_format_params" struct to mmdevapi's.
winepulse: Adapt "get_device_period_params" struct to mmdevapi's.
winepulse: Adapt "is_started_params" struct to mmdevapi's.
winepulse: Adapt "get_prop_value_params" struct to mmdevapi's.
winepulse: Switch to mmdevapi's unixlib.h.
Etaash Mathamsetty (2):
ntoskrnl.exe: Implement KeAreAllApcsDisabled.
ntoskrnl: Implement IoCreateFileEx.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (16):
jscript: Implement fdexNameCaseInsensitive flag handling.
mshtml: Handle S_FALSE from IUri methods in localStorage and sessionStorage.
mshtml: Handle S_FALSE from IUri methods in Anchor Elements.
mshtml: Handle S_FALSE from IUri methods when checking targetOrigin.
mshtml: Don't navigate if GetDisplayUri failed.
mshtml: Handle S_FALSE from IUri methods when navigating.
mshtml: Handle S_FALSE from IUri methods in the NSAPI interfaces.
mshtml: Handle S_FALSE return values from IUri methods.
mshtml: Implement setItem() for sessionStorage.
mshtml: Implement getItem() for sessionStorage.
mshtml: Implement removeItem() for sessionStorage.
mshtml: Implement clear() for Storage.
mshtml: Implement key() for sessionStorage.
mshtml: Implement key() for localStorage.
mshtml: Implement length prop for Storage.
mshtml: Implement remainingSpace prop for sessionStorage.
Gijs Vermeulen (1):
kernel32: Add SetProcessDefaultCpuSets stub.
Hans Leidekker (3):
hnetcfg: Add INetFwRule stub.
hnetcfg: Return success from netfw_rules_Add() and netfw_rules_Remove().
bcrypt: Support ECDH_P384 key import/export.
Henri Verbeet (1):
mfreadwrite/reader: Only attempt to copy sample buffers from responses with non-NULL samples.
Huw D. M. Davies (2):
maintainers: Remove advice about Cc'ing patches.
wow64: Fix another ARM32 machine type.
Jacek Caban (39):
win32u: Move more logic from dispatch_win_proc_params.
win32u: Use a separate helper to send messages from win32u.
win32u: Pack messages sent directly from win32u.
user32: Pass window name as UNICODE_STRING to NtUserCreateWindowEx.
win32u: Use send_message_timeout for WM_CREATE and WM_NCCREATE.
win32u: Remove no longer needed unicode call_hooks argument.
wow64win: Implement wow64_NtUserCallWinProc.
wow64win: Implement wow64_NtUserMessageCall.
user32: Always use original parameter values in dispatch_send_message.
win32u: Use a client copy of windows hook lparam when calling hook procs.
wow64win: Implement NtUserCallWindowsHook thunk.
wow64win: Implement more user callbacks.
wow64win: Fix NtUserGetMouseMovePointsEx thunk.
wow64win: Return class atom from NtUserGetClassInfoEx thunk.
wow64win: Fix NtUserGetClipboardData thunk.
wow64win: Fix returning strings in NtUserGetIconInfo thunk.
wow64win: Fix NtUserGetMenuBarInfo thunk.
wow64win: Fix handling NULL input32 in NtUserSendInput.
wow64win: Support GCLP_MENUNAME in NtUserSetClassLongPtr thunk.
wow64win: Fix NtUserThunkedMenuItemInfo thunk.
wow64win: Fix output handling in NtUserTrackMouseEvent thunk.
wow64win: Use in-place conversion in NtUserDrawText thunk.
wow64win: Use LongToHandle for user handles conversion.
user32: Move dialog proc getting implementation from win32u.
user32: Move dialog proc setting implementation from win32u.
win32u: Fix handling uninitialized process_layout.
wow64win: Fix NtGdiDdDDICreateDevice thunk.
win32u: Move process initialization to NtUserInitializeClientPfnArrays.
winex11: Implement wow64 thunks.
user32: Support resource ID strings in CREATESTRUCT Unicode conversion.
user32: Support passing bitmap and icon resource ID as a string when creating static control.
user32: Pass resource ID as a string in DIALOG_CreateControls32.
user32: Remove no longer used DPI functions.
win32u: Move NtUserLogicalToPerMonitorDPIPhysicalPoint implementation from user32.
win32u: Move NtUserPerMonitorDPIPhysicalToLogicalPoint implementation from user32.
win32u: Introduce NtUserActivateOtherWindow.
user32: Remove no longer user get_hwnd_message_parent.
user32: Merge win.h into user_private.h.
user32: Build with nameless structs and unions.
Jakub Staroń (1):
ntdll: Implement RtlRestoreContext on i386.
Jiajin Cui (2):
win32u: Ensure that either the primary or secondary name is in English.
win32u: Don't allow a replaced font to be a replacement.
Jinoh Kang (3):
server: Use POLLIN instead of POLLPRI if the socket is in oobinline mode.
server: Use check_fd_events() instead of calling poll() directly.
server: Always prefer synchronous I/O in nonblocking mode.
Konstantin Romanov (1):
kerberos: Fix condition for create_context_handle in kerberos_SpInitLsaModeContext and kerberos_SpAcceptLsaModeContext.
Loïc Rebmeister (1):
wintypes: Add RoResolveNamespace stub.
Martin Storsjö (3):
configure: Downgrade -Wincompatible-function-pointer-types to a warning on ARM.
vkd3d: Fix the signature of vkd3d_spirv_build_op_type_image.
bcrypt: Fix the non-PE build after ECDH_P384 was added.
Matteo Bruni (1):
wined3d: Introduce WINED3DUSAGE_MANAGED.
Nikolay Sivov (27):
mfplat: Implement Write() for file streams.
mfsrcsnk: Add a stub dll.
mfsrcsnk/wave: Add a sink stub.
mfsrcsnk/wave: Add clock state callbacks.
mfsrcsnk/wave: Store media format structure.
mfsrcsnk/wave: Implement sample processing.
mfsrcsnk: Add WAVE sink class factory.
mfsrcsnk/wave: Add a type handler stub.
mfreadwrite/writer: Make sure output pointer is initialized.
mfreadwrite/writer: Implement AddStream().
mfreadwrite/writer: Partially implement BeginWriting().
mfreadwrite/writer: Start presentation clock on BeginWrite().
mfreadwrite/writer: Implement GetServiceForStream().
mfreadwrite/writer: Notify encoder on BeginWriting().
mfreadwrite/writer: Update some stats counters on WriteSample().
mfreadwrite/writer: Update some stats on MEStreamSinkRequestSample.
mfreadwrite/writer: Add sample/marker queue for each stream.
mfreadwrite/writer: Reference user callback.
mfreadwrite/writer: Implement PlaceMarker().
mfreadwrite/writer: Implement Flush().
evr: Add IMFGetService stub.
evr: Add IMFVideoRenderer stub to the filter.
evr: Implement lazy initialization with mixer and presenter instances.
evr/tests: Add a test to show that IMFVideoDisplayControl is accessible.
mfplat/tests: Add some tests for legacy media type conersion functions.
mfplat: Partially implement MFInitMediaTypeFromVideoInfoHeader().
mfplat: Partially implement MFInitMediaTypeFromAMMediaType().
Paul Gofman (3):
ddraw/tests: Add more tests for restoring complex surfaces.
ddraw: Restore full complex attachment chain in ddraw_surface7_Restore().
winex11.drv: Set correct cursor when setting cursor from another thread.
Piotr Caban (9):
msvcp60: Use 'MultiByteToWideChar' in __Fiopen implementation.
msvcp90: Use 'MultiByteToWideChar' in _Fiopen implementation.
winspool.drv: Ignore device name if printer handle is passed in DocumentProperties.
winspool.drv: Fix get_config_module when printer and driver names differ.
include: Update ddk/compstui.h header.
compstui: Add partial CommonPropertySheetUIW implementation.
compstui: Add CommonPropertySheetUI tests.
msvcp71: Use MultiByteToWideChar in _Fiopen implementation.
msvcr100: Set scheduler in tasks created with ScheduleTask function.
Robert Wilhelm (8):
wshom: Use signed type for property ProcessID in IWshExec.
wshom: Use signed type for property ExitCode in IWshExec.
wshom: Add test for default style arg in WshShell3_Run.
wshom: Support default style argument in IWshShell3::Run.
scrrun: Add test for correct string length returned from GetTempName.
scrrun: Correct string length returned from GetTempName.
scrrun: Avoid memory leak in error case.
scrrun: Added DateCreated property for IFile.
Rémi Bernon (22):
mf/tests: Add some topology loader tests with missing output type.
mf/tests: Add some MP3 decoder transform tests.
mf/tests: Add more topology loader converter and enumeration tests.
mf: Allow resolving topology with missing downstream current type.
mf: Only allow converter connection if decoder didn't accept down type.
mf: Only enumerate types for decoders / converter if down type is missing.
qasf: Implement IWMReaderCallbackAdvanced stub interface.
qasf: Implement ASF Reader filter buffer allocation.
qasf: Implement ASF Reader filter IWMReaderCallback_OnSample.
qasf: Implement ASF Reader SourceSeeking stubs.
qasf: Register ASF Reader filter media type.
win32u: Do not keep display modes driver extra in the registry.
win32u: Read registry or current mode when validation needs it.
win32u: Always copy devmode in validate_display_settings.
win32u: Use current mode position if desired mode doesn't specify it.
win32u: Only read/write valid mode fields from/to the registry.
mf/tests: Avoid creating now unused sink activate instances.
mf/tests: Try returning MF_E_NOT_INITIALIZED from GetCurrentMediaType.
mf: Support uninitialized downstream media types in topology loader.
maintainers: Add myself to multimedia sections.
qasf/tests: Test ASF Reader filter initial state and pins.
qasf/tests: Test ASF Reader filter threading wrt. ReceiveCanBlock.
Santino Mazza (1):
bcrypt: Move symmetric flags check to symmetric section.
Torge Matthies (2):
msvcr100: Factor out the mapping of a context to a scheduler.
msvcr100: Implement _StructuredTaskCollection::_Schedule and _Schedule_loc.
Zebediah Figura (13):
wined3d: Use wined3d_array_reserve() in wined3d_adapter_create_output().
d3d8/tests: Expand tests for valid pools in UpdateTexture().
d3d9/tests: Expand tests for valid pools in UpdateTexture().
d3d8/tests: Read back directly from the specified surface if possible.
d3d8/tests: Add more tests for dirty rect handling.
d3d9/tests: Add more tests for dirty rect handling.
d3d11/tests: Use winetest_push_context() to print explicit feature levels.
d3d11: Always return E_FAIL for formats which have no support flags.
d3d11: Implement D3D11_FEATURE_FORMAT_SUPPORT.
d3d8/tests: Add tests for D3DLOCK_NO_DIRTY_UPDATE with vertex buffers.
d3d9/tests: Add tests for D3DLOCK_NO_DIRTY_UPDATE with vertex buffers.
d3d8: Introduce a wined3d_usage_from_d3d() helper.
d3d9: Introduce a wined3d_usage_from_d3d() helper.
Zhiyi Zhang (24):
comctl32/tests: Add GetWindowSubclass() tests.
comctl32: Check reference data pointer before using it.
comctl32: Set reference data to zero on failure for GetWindowSubclass().
comctl32/tests: Add IME tests for edit control.
comctl32/edit: Implement EM_SETIMESTATUS.
comctl32/edit: Implement EM_GETIMESTATUS.
comctl32/edit: Let DefWindowProcW() handle WM_IME_CHAR.
comctl32/edit: Handle IME composition result string only when EIMES_GETCOMPSTRATONCE is set.
user32/tests: Link directly to imm32.
user32/tests: Add IME tests for edit control.
user32/edit: Implement EM_SETIMESTATUS.
user32/edit: Implement EM_GETIMESTATUS.
user32/edit: Let DefWindowProcA/W() handle WM_IME_CHAR.
user32/edit: Handle IME composition result string only when EIMES_GETCOMPSTRATONCE is set.
comctl32/tests: Test that changing focus for edit controls doesn't repaint immediately.
comctl32/edit: Don't repaint immediately when getting focus.
comctl32/edit: Don't repaint immediately when losing focus.
gdi32/tests: Add more tests for GetTextMetrics().
win32u: Choose a smaller ppem to avoid exceeding the requested font height.
ddraw/tests: Add a comment to note that tests in d3d.c are deprecated.
ddraw/tests: Move the capability tests for enumerated devices.
ddraw/tests: Add more capability tests for enumerated devices.
ddraw: Don't report unsupported device capabilities in d3d7_EnumDevices().
ddraw: Don't report unsupported device capabilities in d3d3_EnumDevices().
The Wine development release 7.15 is now available.
What's new in this release:
- Command lists in Direct2D.
- RSA encryption.
- Initial Wow64 thunking in WIN32U.
- Optional support for colors in test output.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.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 7.15 (total 22):
- #40444 Find doesn't jump to a found item in WinSCP when editing a file
- #47057 Call of Cthulhu fails to completely load levels and trigger cutscenes
- #49461 Gridrunner Revolution: sound effects stop working after a while
- #49678 Lost Chronicles of Zerzura hangs on startup
- #49692 Multiple applications need a Media Foundation media source implementation
- #50131 Remothered: Tormented Fathers crashes on video loading
- #50546 Persona 4 Golden requires notification message XACTNOTIFICATIONTYPE_WAVEBANKPREPARED to play sounds.
- #50593 Sforzando Sample Player don't draw text, needs font fallback support
- #52448 Multiple visual novels display videos inside separate ActiveMovie window (Hoshi Ori Yume Mirai)
- #52534 ListView: multi select never sends LVN_ODSTATECHANGED
- #52601 The Settlers V: crashes when starting
- #52610 Memory corruption in PE build, when using FIXME in krnl386.exe __wine_vxd_open() function
- #52933 windows.media.speech:speech: The IAsyncInfo_Close() tests fail on Windows
- #52957 Invisible pop-ups text in SeaMonkey 2.53.12
- #53123 ListView: Ctrl+Shift+LMouse multiselect on LVS_OWNERDATA listviews erroneously sends LVN_ODSTATECHANGED
- #53196 foobar2000: Crashes randomly when opening items in menu bar while playing audio
- #53275 emule crashes with ntdll_set_exception_jmp_buf error
- #53364 Mouse does not move scroll bar in multiple applications (Framemaker 8, Audacity, Visio 2003)
- #53366 Can't compile AES-CCM support prior to GNUTLS version 3.4.0
- #53483 CFB implementation partially missing
- #53487 Keyboard input doesn't work for a multiple games (Witcher 3, Just Cause 4, Unravel Two)
- #53495 "HP" text does not render in Vestaria Saga Non-Visual Battles
----------------------------------------------------------------
Changes since 7.14:
Akihiro Sagawa (13):
winmm/tests: Add tests for visibility of video window.
mciqtz32: Don't hide video window when stopping.
winmm/tests: Add tests for window style of video window.
winmm/tests: Add tests for dimensions of video window.
winmm/tests: Add tests for destination of video window.
mciqtz32: Correct video window behavior by creating default window.
mciqtz32: Fix MCI_DGV_WHERE_WINDOW behavior.
mciqtz32: Reset the video size when changing video destination.
mciqtz32: Hide the default video window when switching to another one.
mciqtz32: Show the default video window when switching from another one.
ieframe/tests: Add more IPropertyStorage read/write tests.
ieframe/tests: Add a test for IPropertySetStorage::Open with STGM_WRITE.
ieframe: Allow STGM_WRITE in IPropertyStorage::Open.
Alexandre Julliard (4):
faudio: Import upstream release 22.08.
mpg123: Import upstream release 1.30.2.
tiff: Import upstream release 4.4.0.
gitlab: Disable building image in forks.
Alistair Leslie-Hughes (9):
xactengine3_7: Add helper function to add entries.
xactengine3_7: Map SoundBank interfaces.
xactengine3_7: Map IXACT3Cue interfaces.
xactengine3_7: Map IXACT3Wave interfaces.
xactengine3_7: Record context for each notications.
xactengine3_7: Implement callback for supported messages.
xactengine3_7: Return error on invalid notification value.
sapi: Add AudioInput registry key.
include: Add coclass SpMMAudioEnum.
Angelo Haller (6):
comctl32/listview: Send one deselect all items notification for LVS_OWNERDATA listviews.
comctl32/listview: Move sending LVN_ODSTATECHANGED notifications to a function.
comctl32/listview: Send LVN_ODSTATECHANGED only for LVS_OWNERDATA listviews.
comctl32/listview: Send LVN_ODSTATECHANGED notification for LVS_OWNERDATA listview on selection changes.
comctl32/listview: Don't send LVN_ODSTATECHANGED for empty ranges.
comctl32/tests: Add more ownerdata listview tests.
Arkadiusz Hiler (1):
winebus.sys/sdl: Use the 8 absolute axes supported by DIJOYSTATE2.
Brendan Shanks (4):
ntdll: Use correct mcontext struct on macOS under Wow64.
wow64: Copy floating point and extended registers in copy_context_64to32.
ntdll: Fix floating point and extended registers not being restored under Wow64.
wow64cpu: Use -norelay for BTCpuSimulate.
Connor McAdams (2):
include: Add UI Automation Event ID definitions.
include: Add UI Automation COM client interface definitions.
David Gow (2):
quartz: Open files with FILE_SHARE_DELETE in FileSource.
quartz: Test: Files opened with FileSource can be deleted.
Dmitry Timoshkov (2):
ntdll/tests: Fix compilation with PSDK.
ntdll/tests: Add a bunch of tests for creating kernel objects with the names containing '\0'.
Eric Pouech (3):
shlwapi/tests: Use wide strings literals.
urlmon/tests: Don't use read as a global variable.
test.h: WINETEST_COLOR=auto only outputs colors to a TTY.
Gabriel Ivăncescu (10):
mshtml: Implement window.matchMedia() with MediaQueryList stub.
mshtml: Implement MediaQueryList's media prop.
mshtml: Implement MediaQueryList's matches prop.
mshtml: Semi-implement non-string primitive data for postMessage.
mshtml: Implement targetOrigin for postMessage.
mshtml: Forward Document's Invoke to InvokeEx.
mshtml: Implement window.location setter with a hook.
mshtml: Implement window.setTimeout with a hook.
mshtml: Implement document.location with a hook.
mshtml: Return DISP_E_MEMBERNOTFOUND when not finding member by DISPID.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.224.
Hans Leidekker (3):
bcrypt: Add AES CFB chaining mode support.
bcrypt: Add compatibility defines for AES CFB8.
nsiproxy.sys: Support media connect state on Linux.
Jacek Caban (37):
user32: Forward more scroll bar messages to win32u.
win32u: Introduce NtUserGetWindowSysSubMenu.
user32: Store MDI client info on client heap.
user32: Use win32u to get and set MDI client info.
user32: Use GetClientRect in EDIT_WM_ContextMenu.
win32u: Introduce NtUserGetChildRect.
user32: Remove USER_CheckNotLock.
win32u: Move register_desktop_class implementation from user32.
user32: Always use 64-bit cbWndExtra for edit control.
win32u: Move builtin classes registration from user32.
win32u: Store DPI awareness in ntuser_thread_info.
win32u: Store wmchar_data in ntuser_thread_info.
win32u: Move msg_source and recursion_count to ntuser_thread_info.
win32u: Store receive_flags in ntuser_thread_info.
user32: Don't include ntuser_private.h.
win32u: Use platform-independent layout for DC_ATTR.
win32u: Support wow64 in NtAllocateVirtualMemory calls.
win32u: Use platform-independent layout for ntuser_thread_info.
win32u: Store thread info in 64-bit TEB on wow64.
win32u: Use NtUserMessageCall for NtUserSpyGetMsgName.
ntdll: Introduce RtlSetLastWin32Error for unixlibs that additionally sets 32-bit error on wow64.
include: Use RtlSetLastWin32Error in server.h.
win32u: Use RtlSetLastWin32Error.
winex11: Use RtlSetLastWin32Error.
wineandroid: Use RtlSetLastWin32Error.
winemac: Use RtlSetLastWin32Error.
wow64win: Set last error in 32-bit TEB in wow64 thunks.
wow64: Directly use CPU area in Wow64KiUserCallbackDispatcher for I386_CONTEXT.
wow64: Preserve TEB exception frame in Wow64KiUserCallbackDispatcher.
wow64win: Add initial user callbacks support.
win32u: Use NtUserCallMessage for passing packed winproc result.
wow64win: Implement more user thunks.
wow64win: Implement more user callbacks.
wow64win: Handle bitmaps and pens in wow64_NtGdiExtGetObjectW.
wow64win: Always set output bits pointer in wow64_NtGdiCreateDIBSection.
wow64win: Fix error handling in wow64_NtUserGetMessage.
wow64win: Fix NULL msg handling in wow64_NtUserPeekMessage.
Nikolay Sivov (40):
d2d1/tests: Use test context for command list test.
d2d1: Add a command list object stub.
d2d1: Allow setting command list as a target.
include: Fix ID2D1CommandSink definition.
d2d1/commandlist: Implement basic state recording commands.
d2d1/commandlist: Implement clipping commands recording.
d2d1/commandlist: Implement Clear() command.
d2d1/commandlist: Implement DrawLine() command.
d2d1/commandlist: Implement DrawGeometry() command.
d2d1/commandlist: Implement DrawRectangle() command.
d2d1/commandlist: Implement FillGeometry() command.
d2d1/commandlist: Implement FillRectangle() command.
d2d1/commandlist: Implement SetTextRenderingParams() command.
d2d1/commandlist: Handle recording in RestoreDrawingState().
d2d1/commandlist: Implement DrawGlyphRun() command.
d2d1/commandlist: Implement DrawBitmap() command.
d2d1/commandlist: Implement FillMesh() command.
d2d1: Add a helper for DrawGlyphRun().
d2d1/commandlist: Update text rendering params on DrawGlyphRun().
dwrite: Fix stretch value validation in CreateTextFormat().
include: Add newer D2D command sink interface definitions.
d2d1: Implement setting primitive blend mode.
d2d1/commandlist: Fix primitive blend playback.
d2d1: Remove warning message for glyph run description.
dwrite: Add ff00-ffef range to the fallback configuration.
d2d1: Add parameter validation to FillOpacityMask().
d2d1/commandlist: Implement FillOpacityMask() command.
dwrite/fallback: Consider character size for returned mapped length.
dwrite/fallback: Make sure all consecutively mapped characters belong to the same mapping.
include: Fix ID2D1CommandSink::DrawImage() prototype.
d2d1/commandlist: Implement DrawImage() command.
d2d1/commandlist: Implement layer commands.
dwrite/tests: Add a helper to create analyzer instance.
dwrite/fallback: Add mappings for some CJK ranges.
mfplat: Add some attributes related to transcoding.
dwrite/fallback: Fill in some more fallback ranges for various scripts.
dwrite/fallback: Add Georgian and Armenian ranges.
mf: Add archive sink creation exported functions.
mfreadwrite/writer: Create archive sink automatically when writer is created from url/bytestream.
mfreadwrite/writer: Create output stream if it wasn't provided.
Olivier F. R. Dierick (1):
secur32: Define AES-CCM ciphers missing from GNUTLS before 3.4.0.
Paul Gofman (4):
winhttp: Avoid invalid memory access in netconn_resolve().
ntdll: Also initialize icmp_over_dgram in sock_read().
ntdll: Remove redundant assignment in fixup_icmp_over_dgram().
d3d11: Validate layout description in d3d_input_layout_create().
Rafał Harabień (1):
include: Allow printing test failure messages in bright red.
Robert Wilhelm (1):
wshom: Use signed type for ExitCode in IWshShell3::Run().
Rémi Bernon (46):
mf/tests: Add required SAR media type attributes tests.
mf: Return MF_E_NO_MORE_TYPE from AudioRenderer GetMediaTypeByIndex.
winegstreamer: Set the MF_MT_AUDIO_AVG_BYTES_PER_SECOND attribute.
mf: Implement SAR media type required attributes checks.
mf: Increase min_buffer_size to MF_MT_AUDIO_AVG_BYTES_PER_SECOND.
winegstreamer: Use the correct name for WMADecMediaObject DMO.
winex11.drv: Use a local desired_rect variable when placing displays.
winex11.drv: Use DM_POSITION field bit to mark placed displays.
winex11.drv: Update devmode dmPosition instead of new_rect.
winex11.drv: Use DEVMODEW instead of x11drv_display_setting.
winex11.drv: Iterate display settings using dmDriverExtra.
winex11.drv: Constify set_current_mode DEVMODEW parameter.
wmvcore/tests: Add more IWMReader_(Open|Start|Stop|Close) async checks.
winegstreamer: Move IWMReaderCallbackAdvanced *callback_advanced to a local variable.
winegstreamer: Leave the stream CS while waiting for a sample.
winegstreamer: Make IWMReader state transitions asynchronous.
gitlab: Move build steps to the build-all script.
gitlab: Build every commit in a merge request.
mf/tests: Rotate test videos 90° to better show vertical flips.
mf/tests: Add video processor conversion tests.
mf/tests: Add topology loader tests with video formats.
winegstreamer: Better implement Video Processor MFT.
mf: Use the MFT_CATEGORY_VIDEO_PROCESSOR category for converters.
mf: Propagate missing attributes to downstream media types.
win32u: Ignore DM_POSITION mode fields for available modes.
winemac.drv: Split best display mode lookup to a separate helper.
wineandroid.drv: Return early on EnumDisplaySettingsEx error.
win32u: Split EnumDisplaySettingsEx into CurrentDisplaySettings entry.
wineandroid.drv: Add missing DM_DISPLAYORIENTATION | DM_POSITION flags.
winemac.drv: Avoid setting DM_POSITION on enumerated modes.
server: Avoid reallocating rawinput device array with zero size.
win32u: Avoid reallocating rawinput device array with zero size.
win32u: Send the total number of registered devices to the server.
win32u: Avoid invalid access when registered device alloc failed. (Coverity).
wmvcore/tests: Add some IWMOutputMediaProps_SetMediaType tests.
winegstreamer: Implement IWMOutputMediaProps_SetMediaType.
qasf: Implement ASF Reader filter pin_query_accept.
qasf: Implement ASF Reader filter pin_get_media_type.
qasf: Implement ASF Reader filter pin DecideBufferSize.
winegstreamer: Use a wg_audio_format switch rather than array indexes.
winegstreamer: Use a wg_video_format switch rather than array indexes.
qasf: Wait for IWMReader_Open to complete in ASF Reader Load.
qasf: Implement ASF Reader filter init_stream and cleanup_stream.
qasf: Start/stop the WM reader in asf_reader_init/cleanup_stream.
qasf: Configure WMReader stream format in asf_reader_init_stream.
qasf: Configure WMReader stream selection in asf_reader_init_stream.
Santino Mazza (4):
ncrypt/tests: Test for NCryptEncrypt with RSA and PKCS1 padding.
bcrypt/tests: Test for BCryptEncrypt with RSA keys.
bcrypt: Initial RSA encryption implementation.
ncrypt: Initial implementation for NCryptEncrypt.
Shaun Ren (10):
webservices: Handle in/out parameters properly in WsCall.
webservices: Write the correct headers when a request message is addressed.
webservices: Implement error strings.
webservices: Support faults in error.
webservices: Add support for reading WS_FAULT values.
webservices: Detect when a message contains a fault in read_envelope_start.
webservices: Fill in type description for WS_FAULT_TYPE if necessary in WsReadBody.
webservices/tests: Add a fault reading test for WsReadBody.
webservices: Address the request message in WsCall.
webservices: Add support for receiving fault messages.
Stefan Dösinger (2):
ddraw: Don't account video memory for sysmem surfaces' draw textures.
ddraw/tests: Add some video memory accounting tests.
Tim Clem (3):
ntdll: Fix leak of mach_thread_self port.
ntdll: Fix leak of mach_host_self port.
kernelbase: Don't assume the length of the process image name.
Zebediah Figura (14):
wined3d: Factor out mode_matches_filter().
wined3d: Build a list of wined3d_display_mode structures in wined3d_output_get_mode[_count]().
d3d9: Cache the output mode list.
d3d8: Cache the output mode list.
dxgi: Build the device list only once in dxgi_output_get_display_mode_list().
wined3d: Build the device list only once in wined3d_output_find_closest_matching_mode().
include: Print "succeeded inside todo block" messages in colour.
include: Print "test marked todo" messages in colour.
include: Print "test skipped" messages in colour.
include: Print "test succeeded" messages in colour.
winhttp/tests: Add some more tests for newline handling in custom header parsing.
winhttp: Allow custom headers to be separated by any sequence of \r and \n.
winhttp: Pass a length to parse_header().
winhttp: Don't make a copy of the string in add_request_headers().
Zhiyi Zhang (4):
include: Add IMediaParams definitions.
dsdmo: Add IMediaParams stub interface.
winegstreamer: Always check the return value from mf_media_type_from_wg_format().
winegstreamer: Trace mf_media_type_from_wg_format_{audio|video}().
The Wine development release 7.14 is now available.
What's new in this release:
- More progress on syscall interface for USER32.
- Improved font fallbacks in DirectWrite.
- Some fixes for socket shutdowns.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.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 7.14 (total 19):
36711 Sid Meier's Civilization IV crashes while loading saved game (GOG.com complete, Colonization, Warlords, Beyond the Sword)('winetricks -q msxml3' is a workaround)
39987 Multiple applications need 'shell32.SHOpenFolderAndSelectItems' implementation to open explorer window with specified items in particular folder selected (Firefox 42.0, Windows 95 Electron app)
50624 Waves Central 12.0.5 fails to start: __call__ pywintypes.error: (1336, 'AddAccesAllowedAce', 'Invalid ACL.')
51616 Unravel Two crashes on intro
52594 Rust applications using the tokio library abort with "failed to park" error
52673 Missing IShellItemImageFactory implementation for ShellItem.
52773 wine prefix is not to ready to use after running wineboot
52815 Adobe Digital Editions 2.0.1 hangs during install
53058 Incorrect socket reconnect behavior for DGRAM sockets
53105 Certain specific dialogue boxes are permanently fullscreen
53106 Icons not rendering properly in the window titlebar
53189 Cheat Engine crashes when opening a drop-down menu
53289 Unimplemented richedit ITextDocument::Undo and ITextDocument::Redo causes extraneous undo entries
53307 World of Tanks broken with wined3d's Vulkan renderer
53310 Roblox Fails With HttpSendRequest
53348 Can't input anything with CJK input method (fcitx).
53349 Sigma Data Center fails to sync with Sigma Cloud
53372 Total War Shogun 2 spews RtlLeaveCriticalSection() section is not acquired errors in 3D scenes.
53411 Wrong font is used in NtUserDrawCaptionTemp()
----------------------------------------------------------------
Changes since 7.13:
Alexandre Julliard (8):
README: Mention Gitlab.
winebuild: Add GNU stack note also to the undefined symbols file.
gitlab: Initial version of the Gitlab CI scripts.
gitlab: Add CI script to create a release.
makefiles: List all headers in the makefile.
makefiles: Avoid adding the same source multiple times.
makefiles: Work directly with Makefile.in names in make_makefiles.
makefiles: Look for source files in the makefile before trying to open them.
Alistair Leslie-Hughes (4):
ntdll: Check return parameter before use.
ntdll: RtlFirstFreeAce only return FALSE on error.
ntdll/tests: Add RtlFirstFreeAce tests.
xactengine3_7: Remove entry after FAudio Destroyed call.
Arkadiusz Hiler (7):
dinput: Set correct object names for dials and sliders.
dinput: Get rid of unused parameter in match_device_object.
dinput/tests: Use helper for checking device object instances.
dinput: Enumerate user format object forwards.
dinput: Use GUID_Slider type for dials.
dinput/tests: Assert that we can't get info about the third slider with c_dfDIJoystick2.
dinput/tests: Test GetObjectInfo() with three sliders and a proper format.
Brendan McGrath (2):
qedit/tests: Test adding a reference to the sample from ISampleGrabberCB::SampleCB().
qedit: Do not force the sample to be freed in SampleGrabber_callback().
Brendan Shanks (8):
wow64: Respect the large address aware flag.
ntdll: Allow changes to DEP flags under Wow64.
wow64: Allow setting NtSetInformationProcess(ProcessExecuteFlags).
ntdll/tests: Add tests for the address limit of NtQueryVirtualMemory(MemoryBasicInformation).
wow64: Return error from NtQueryVirtualMemory(MemoryBasicInformation) for a too-large address.
winedbg: Implement GDB qGetTIBAddr query.
winedbg: Prefer thread name from GetThreadDescription() in 'info thread' listing.
winedbg: Prefer thread name from GetThreadDescription() in GDB proxy mode.
Claire Girka (5):
setupapi: Add support for SPDRP_BASE_CONTAINERID.
ntoskrnl/tests: Add test for getting SPDRP_BASE_CONTAINERID from PnP driver.
hidclass: Improve error handling in get_device_id.
hidclass: Expose ContainerID from underlying driver.
ntoskrnl: Set device ContainerID from driver.
Connor McAdams (14):
include: Define UI Automation Property GUIDs.
uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_Property GUIDs.
uiautomationcore: Add stub UiaGetPropertyValue implementation.
uiautomationcore: Implement UiaNodeFromProvider.
uiautomationcore: Implement UiaNodeRelease.
include: Add CUIAutomationRegistrar definition.
uiautomationcore/tests: Add basic UIA property tests for UiaGetPropertyValue.
uiautomationcore: Implement UiaGetPropertyValue.
uiautomationcore: Add support for UIAutomationType_Int properties.
uiautomationcore: Add support for UIAutomationType_Element properties.
uiautomationcore: Add support for ProviderOptions_UseComThreading flag.
uiautomationcore: Add support for UIAutomationType_Double properties.
uiautomationcore: Add support for UIAutomationType_Bool properties.
uiautomationcore: Add support for UIAutomationType_String properties.
David Kahurani (1):
riched20: Remove duplicate code.
Eric Pouech (9):
msvcrt: Fix demangling of RTTI type descriptor.
msvcrt: Add support for C++11 operator "" in demangling.
msvcrt: Fix and cleanup undecoration of templatized functions and methods.
msvcrt: Add support for restrict and unaligned qualifiers in demangling.
msvcrt: Fix demangling of variables being an array.
winedbg: Do proper error management when reallocating memory.
winedbg: Use CRT allocation functions.
winedbg: Store result of types_get_info(TI_GET_TYPE) in dbg_type.
winedbg: Synthetize pointer to type when not available.
François Gouget (10):
advapi32/tests: Fix the print format, LARGE_INTEGER is signed.
urlmon/tests: Trace why the test file creation failed.
dbghelp: Fix the spelling of a comment.
ntdll: Fix the spelling of a comment.
win32u: Fix the spelling of a variable name.
urlmon/tests: Fix the spelling of a trace() message.
include: Fix the spelling of some comments.
ws2_32/tests: Add comments to help identify the hint test indices.
include: Add some SPI_ constants.
dinput/tests: Add a trailing linefeed to some ok() calls.
Gabriel Ivăncescu (27):
mshtml: Use a table to construct the different event types by their interface.
mshtml: Allocate UI events via the types table.
mshtml: Allocate Mouse events via the types table.
mshtml: Allocate Keyboard events via the types table.
mshtml: Remove FIXME comment from MessageEvent in event_types.
mshtml: Fix copy-paste mistake in test message.
mshtml: Implement ProgressEvent's lengthComputable prop.
mshtml: Implement ProgressEvent's loaded prop.
mshtml: Implement ProgressEvent's total prop.
mshtml: Inform Gecko of progress done via OnProgress.
mshtml: Implement getAttributeNS for Elements.
mshtml: Implement setAttributeNS for Elements.
mshtml: Implement removeAttributeNS for Elements.
mshtml: Implement hasAttributeNS for Elements.
mshtml: Implement lastElementChild for Elements.
mshtml: Implement nextElementSibling for Elements.
mshtml: Implement previousElementSibling for Elements.
mshtml: Implement childElementCount for Elements.
mshtml: Implement HTMLTitleElement's text property.
mshtml: Fix string leak on NamespaceError.
mshtml: Implement responseType prop for XMLHttpRequest.
mshtml: Implement "text" type response for XMLHttpRequest.
include: Add IHTMLDOMNode3 to the HTMLDOMNode dispinterfaces.
include: Add DOMDocumentType dispinterface and coclass.
mshtml: Implement document.doctype.
mshtml: Implement DocumentType node's name prop.
mshtml: Handle lack of window in methods for detached documents.
Giovanni Mascellani (5):
xactengine3_7/tests: Test notifications when loading a wave bank.
faudio: Import upstream commit e3c444e4f819d2364a6adb0ae73b1d01185b1e93.
xactengine3_7: Forward wave bank notifications to the application.
mfplat/tests: Mark some tests as broken on Win 8 and 10 v1507.
mfplat/tests: Merge and reorganize image format tests.
Hugh McMaster (12):
regedit: Use a separate dialog proc function for string data types.
regedit: Pass updated REG_SZ and REG_EXPAND_SZ data via 'struct edit_params'.
regedit: Pass updated REG_MULTI_SZ data via 'struct edit_params'.
regedit: Use 'struct edit_params' with read_value().
regedit: Update binary data via update_registry_value().
regedit: Set the dlgproc value name via a function, not a global.
regedit: Update the listview item without reloading the value data.
gitlab: Build-Depend on libfreetype-dev.
regedit: Free temporary buffer when working with REG_DWORD and REG_QWORD values.
regedit: Use zero as a default for REG_DWORD and REG_QWORD values.
regedit: Use zero as a REG_DWORD/REG_QWORD default if edit control is empty.
regedit: Limit REG_DWORD/REG_QWORD input length by value type and format.
Jacek Caban (43):
user32: Avoid using NtUserDispatchMessage in DispatchMessage.
win32u: Remove no longer needed NtUserDispatchMessageA.
win32u: Avoid using client callbacks for NtUserSendMessage.
ntdll: Suppress callback exceptions in KiUserCallbackDispatcher.
win32u: Use syscall interface for NtUserDispatchMessage.
win32u/tests: Add tests for catching exceptions from timer proc.
win32u: Use syscall interface for NtUserMsgWaitForMultipleObjectsEx.
win32u: Use syscall interface for NtUserMessageCall and NtUserTrackPopupMenuEx.
win32u: Get rid of no longer needed NtUserSetCallbacks.
win32u: Use syscall interface for NtUserGetMessage.
win32u: Use syscall interface for message functions.
winex11: Use __wine_unix_call.
wineandroid: Use __wine_unix_call.
winemac: Use __wine_unix_call.
win32u: Use syscall interface for more input functions.
win32u: Use syscall interface for more user painting functions.
win32u: Use syscall interface for NtUserCallHwnd and NtUserCallHwndParam.
user32: Use syscall interface for NtUserCall* functions.
win32u: Use syscall interface for clipboard functions.
win32u: Use syscall interface for more sysparams functions.
win32u: Use syscall interface for cursor icon functions.
win32u: Use syscall interface for more input functions.
win32u: Use syscall interface for NtUserDisableThreadIme.
win32u: Use syscall interface for NtUserCreateWindowEx and NtUserDestroyWindow.
win32u: Use syscall interface for winpos functions.
win32u: Use syscall interface for menu functions.
win32u: Use syscall interface for scroll bar functions.
win32u: Use syscall interface for NtUserSetWindow* functions.
win32u: Use syscall interface for more windowing functions.
win32u: Use syscall interface for window class functions.
win32u: Use syscall interface for NtUserSystemParametersInfo.
wow64win: Sort gdi syscall thunks.
vulkan-1: Make sure that user32 is loaded before ICD.
winevulkan: Move __wine_get_vulkan_driver call to Unix lib.
winevulkan: Use syscall interface for driver functions.
winevulkan: Remove __wine_get_vulkan_driver PE entry point.
mshtml/tests: Increase tolerance in date_now test.
user32: Avoid using WIN_GetPtr for window handle validation.
user32: Use GetWindowLongPtr for GetWindowModuleFileName implementation.
win32u: Introduce NtUserGetDialogInfo and NtUserSetDialogInfo.
win32u: Introduce NtUserGetDialogProc.
win32u: Remove no longer needed exports.
user32: Inline DEFWND_ControlColor implementation.
Jeff Smith (3):
d3drm/tests: Clean up some magic values.
d3drm: Fix components of palette built when loading texture from file.
d3drm: Fix components of palette when loading texture from 8-bit BMP file.
Jinoh Kang (8):
advapi32/tests: Add tests for GetTokenInformation TokenOwner.
kernel32/tests: Test deletion of synchronization objects after handle close.
shell32: Return stub bitmap in IShellItemImageFactory::GetImage.
advapi32/tests: Check that each ACE is ACCESS_ALLOWED_ACE in the default DACL.
advapi32/tests: Test that default object owner match the token owner.
advapi32/tests: Test that default object group match the token primary group.
advapi32/tests: Test that the token default DACL uses token owner instead of token user.
server: Use the token owner instead of the token user for default object owner.
Nikolay Sivov (20):
dwrite: Use older interface version for fallback system collection.
dwrite: Add additional structure for mappings array.
dwrite: Filter out unusable ranges on AddMapping().
dwrite: Keep locales separate for fallback data.
dwrite: Override existing ranges with AddMapping().
dwrite: Duplicate mapping data when creating fallback object.
dwrite: Extend matching font creation helper.
dwrite: Implement MapCharacters() for custom fallback.
dwrite: Remove old system fallback logic.
dwrite: Add some mappings for Tahoma in the system fallback.
d3d11: Use CRT allocation functions.
d2d1/tests: Add a missing return value test (Coverity).
win32u: Remove some dead code from get_scroll_range() helper (Coverity).
user32: Remove some dead code from unpack_dde_message() (Coverity).
dwrite: Use u32-reads for AnalyzeScript().
dwrite: Use correct ranges to set DWRITE_SCRIPT_SHAPES_NO_VISUAL.
dwrite: Add a few more fallback ranges.
dwrite: Add Arabic fallback ranges.
win32u: Fix typo in font handle creation in NtUserDrawCaptionTemp().
dwrite: Fix fallback config ranges text parsing.
Paul Gofman (14):
ws2_32: Add ipv4 raw socket protocol info.
ws2_32/tests: Test ICMP.
ntdll: Support SOCK_RAW / IPPROTO_ICMP fallback over SOCK_DGRAM.
ntdll: Fixup ICMP packet id if SOCK_DGRAM fallback is used.
ntdll: Compute checksum for ICMP over SOCK_DGRAM IP header.
taskschd: Implement writing settings to XML.
schedsvc: Read task enable state from XML in SchRpcGetTaskInfo().
taskschd: Return SCHED_S_TASK_HAS_NOT_RUN from regtask_get_LastRunTime() stub.
shell32: Don't quote args substituted through wildcard in SHELL_ArgifyW().
shell32: Handle file extensions in SHELL_FindExecutableByVerb().
loader/wine.inf: Add runas shell execute verb.
ntdll: Preserve rbx register when calling DLL entry point on x64.
msxml3: Use node_get_text() in domelem_get_nodeTypedValue() if no type is present.
opengl32/tests: Remove depth 32 / stencil 0 test in test_choosepixelformat().
Philip Rebohle (1):
winevulkan: Fill LUID info in VkPhysicalDeviceVulkan11Properties.
Rémi Bernon (22):
ntdll: Use a block member in large blocks.
ntdll: Pass a struct block to (find|validate)_large_block.
ntdll: Fixup the RtlWalkHeap entry pointer before subheap lookup.
mf: Split MFCreateTopoLoader to topology_loader.c.
mf: Check whether node is already in the topology before cloning.
mf: Use a branch list instead of node marker in the topology loader.
mf: Better implement topology loader graph resolution.
mf: Implement topology_node_get_type_handler for all node types.
winex11.drv: Set desktop settings handler before updating display devices.
winemac.drv: Introduce new display_mode_to_devmode helper.
win32u: Introduce new add_mode device manager callback.
win32u: Read and cache adapter modes from the registry.
dinput/tests: Wait for Acquire to complete when injecting input.
dinput/tests: Add some rawinput joystick tests.
win32u: Enumerate mouse and keyboard devices first and skip duplicates.
win32u: Read rawinput device preparsed data using virtual memory.
win32u: Fix thread safety when accessing rawinput device data.
win32u: Use a static size array for rawinput device path.
win32u: Use a struct list to keep rawinput devices.
win32u: Implement NtUserGetRegisteredRawInputDevices on the client side.
server: Use the client provided rawinput registered device array.
maintainers: Assume maintainership of input sections.
Santino Mazza (4):
jscript: Return ParseProcedureText when compile fails.
riched20/tests: When selection is out of view, the scrollbar should move.
riched20: Ensure that cursor is visible when selecting text.
riched20/test: Add scrolling test for richole.
Torge Matthies (2):
msvcr100: Make all exception ctors with a string parameter trace the string.
msvcr100: Implement invalid_multiple_scheduling exception.
Zebediah Figura (25):
ws2_32/tests: Add more tests for SO_CONNECT_TIME.
ws2_32/tests: Test FD_CONNECT with UDP sockets.
ws2_32/tests: Add some tests for connecting a UDP socket.
ws2_32/tests: Test polling for AFD_POLL_CONNECT with UDP sockets.
server: Do not set connectionless sockets into the CONNECTING or CONNECTED state.
ws2_32/tests: Test listen() after a failed connect().
Revert "server: Explicitly shutdown destroyed sockets to force pending poll() calls to return.".
server: Always wake up pending read or write asyncs on POLLHUP or POLLERR.
server: Use sock_poll_event() in poll_socket().
server: Clear sock->errors[AFD_POLL_BIT_CONNECT_ERR] in sock_poll_event().
server: Record the error for connected and connectionless sockets sockets in sock_error().
server: Report the socket error in sock_poll_event() on POLLERR or POLLHUP.
server: Move sock->error setting completely out of sock_dispatch_events().
wined3d: Do not try to unmap already unmapped BOs in wined3d_buffer_update_sub_resource().
wined3d: Do not try to unmap already unmapped BOs in wined3d_texture_update_sub_resource().
wined3d: Assert that the BO is mapped in unmap functions.
wined3d: Redirect vkd3d log output to the Unix stderr.
ws2_32: Map AFD_POLL_RESET to the "read" set in select().
ws2_32: Add a FIXME for unhandled flags in select().
ws2_32: Map AFD_POLL_RESET to both POLLHUP and POLLERR.
server: Properly implement AFD_POLL_RESET.
d3d9: Correctly check for sysmem index buffers in d3d9_stateblock_Apply().
d3d9: Do not release the wined3d mutex in d3d9_device_upload_sysmem_index_buffer().
d3d8: Correctly check for sysmem index buffers in d3d8_device_ApplyStateBlock().
d3d8: Do not release the wined3d mutex in d3d8_device_upload_sysmem_index_buffer().
Zhiyi Zhang (6):
rpcrt4/tests: Add I_RpcBindingInqLocalClientPID() tests.
rpcrt4: Implement I_RpcBindingInqLocalClientPID().
include: Add IMediaParamInfo definition.
dsdmo/tests: Add IMediaParamInfo tests.
dsdmo: Add IMediaParamInfo stub interface.
ntdll: Restore the timezone bias cache.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.13 is now available.
What's new in this release:
- Gecko engine updated to version 2.47.3.
- USB driver converted to PE.
- Some theming improvements.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.13.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.13 (total 16):
43167 Witcher 3 will not start
47375 Multiple applications crash on unimplemented function msvcr120.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z (Photoshop C 2018, CLIP Studio Paint)
51129 Function name conflict (ldap_connect) with OpenLDAP 2.5
51462 SnowRunner crashes when changing settings
51842 include/winnt.h:403:50: error: size of unnamed array is negative
52391 Multiple games are missing sound effects since FAudio import (Hyperdimension Neptunia Re;Birth 1, Skyrim Legendary Edition)
53104 Wireshark can't start capturing packets
53133 uiautomationcore:uiautomation - test_uia_prov_from_acc_properties() crashes on Windows 8
53157 --without-mingw builds on Mac can't unwind exceptions
53231 d2d1:d2d1 - test_shared_bitmap() crashes on the TestBot VMs
53298 Check boxes don't scale properly in Qt application with light theme
53309 Wizard101 launcher window takes over a minute to appear
53335 Crash when converting an rich text editor already containing text into a password input
53341 uxtheme:system depends on GetDpiForSystem() which is missing on Windows 10 1507 and earlier
53343 The 64-bit itss:protocol fails in Wine
53344 HPLOCONS (legacy TLS applications): GnuTLS priority string overrides are ignored in schan_create_session() (patch included)
----------------------------------------------------------------
Changes since 7.12:
Akihiro Sagawa (1):
mciqtz32: Fix thread handle leak if a second play.
Alexander Wilms (1):
ntoskrnl: Add KeQueryPriorityThread stub.
Alexandre Julliard (24):
ntdll: Use proper absolute paths for registry keys.
advapi32/tests: Remove some workarounds for older Windows versions.
ntdll/tests: Remove some workarounds for older Windows versions.
ntdll/tests: Add a few more tests for registry path names.
ntdll: Fix returned error for NtCreateKey with empty name.
server: Fix access check for NtQueryKey.
server: Return the standard status code when the key exists in NtCreateKey.
server: Avoid potential NULL dereference in create_named_object().
server: Prevent infinite symlink recursion in lookup_named_object().
ntdll/tests: Remove todo from tests that succeed now.
ntdll: Fix the return value of NtQueryKey for a short buffer.
win32u: Add missing terminating null on a GUID string.
server: Store a pointer to the Wow6432Node subkey.
server: Use the standard object name for registry keys.
server: Store the key parent in the standard object name structure.
server: Implement unlink_name() for registry keys.
ntdll: Make all registry lookups case-insensitive.
server: Move some functions to avoid forward declarations.
server: Implement link_name() for registry keys.
server: Implement lookup_name() for registry keys.
server: Use standard named object functions for registry keys.
ntdll/tests: Add some more tests for shared Software\Classes key.
server: Create new keys in the parent of a shared key.
include: Remove wine/unicode.h.
Brendan Shanks (1):
ntdll: Add ".globl" for asm labels referenced from C.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Claire Girka (8):
winepulse: Store device-specific format and periods.
winepulse: Return device-specific values for GetMixFormat.
winepulse: Return device-specific values for GetDevicePeriod.
winepulse: Remove unused pulse_config.
winepulse: Fix memory leak in pulse_create_stream in some error cases.
winepulse: Store and use device period on stream creation.
winepulse: Use stream-specific period in pulse_get_latency.
winepulse: Don't probe default devices twice.
David Kahurani (2):
oleaut32: Handle DATE in string form in VarFormat.
ieframe: Fix memory leak in open_dde_url.
Dmitry Timoshkov (6):
combase: Use file system redirection path only for an opposite architecture in a WoW64 setup.
combase: Execute local server for correct architecture in a WoW64 setup.
d2d1/tests: Fix compilation with clang.
sechost: Support decimal or octal access rights in ConvertStringSecurityDescriptorToSecurityDescriptor.
include: Fix a typo in _InterlockedXor64() intrinsic declaration.
winspool.drv: Implement OpenPrinter2.
Eric Pouech (8):
d3dx10/tests: Build without -DWINE_NO_LONG_TYPES.
dbghelp: Silence a couple of FIXMEs in SymGetTypeInfo().
mscvpdb.h: Use bitfield for defrange's variable flag.
dbghelp: Don't include global & static variables from S_LOCAL* records.
dbghelp: Create lexical relationship between global vars and symt_module.
dbghelp: Only reply to offset requests on symt_data in SymGetTypeInfo() for locals and parameters.
dbghelp: Member's lexical parent is module (not parent UDT).
dbghelp: Set constants lexical parent to module when no compiland is present.
Floris Renaud (2):
inetcpl.cpl: Fix typo.
po: Update Dutch translation.
Gabriel Ivăncescu (7):
mshtml: Set the channel's content type when parsing the header.
mshtml: Respect LOAD_CALL_CONTENT_SNIFFERS when using detected mime type.
mshtml: Check for valid XML Content-Type for responseXML in IE10+ modes.
mshtml: Implement overrideMimeType for XMLHttpRequest.
mshtml: Use the private interface to expose onload for XMLHttpRequest.
mshtml: Only default to IE11 mode for Internet URL Zones when the app is IE.
mshtml: Parse X-UA-Compatible correctly.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.221.
Hans Leidekker (11):
winhttp: Always reset the second input buffer in netcon_secure_connect().
wininet: Always reset the second input buffer in netcon_secure_connect_setup().
secur32: Validate input buffers in schan_InitializeSecurityContextW().
mscms: Merge the profile and transform handle tables.
include: Fix a typo.
msv1_0: Add support for SECPKG_ATTR_KEY_INFO.
secur32: Implement lsa_QueryContextAttributesA(SECPKG_ATTR_KEY_INFO).
secur32/tests: Add more context attributes tests.
secur32: Simplify nego_AcquireCredentialsHandleA() and fix an invalid free.
secur32: Simplify lsa_AcquireCredentialsHandleA().
secur32: Fix GnuTLS system priority file override.
Hugh McMaster (4):
regedit: Remove unneeded valueDataLen override for DWORD values.
regedit: Correctly calculate REG_MULTI_SZ size before reading from the buffer.
regedit: Directly use RegQueryValueExW() instead of a helper function.
regedit: Replace heap_x*() functions with malloc(), realloc() and free().
Jacek Caban (33):
win32u: Move NtUserShowScrollBar implementation from user32.
win32u: Partially move ScrollBarWndProc implementation from user32.
win32u: Move set_standard_scroll_painted implementation from user32.
win32u: Move scroll bar WM_CREATE implementation from user32.
win32u: Move scroll bar WM_SETFOCUS and WM_KILLFOCUS implementation from user32.
win32u: Move scroll tracking implementation from user32.
user32: Pass scroll enable flags to ScrollBarDraw.
win32u: Support undocumented SIF_RETURNPREV flag in set_scroll_info.
user32: Use SIF_RETURNPREV for SetScrollPos implementation.
win32u: Move scroll bar proc implementation from user32.
user32: Use GetScrollInfo for GetScrollPos implementation.
user32: Use GetScrollInfo for GetScrollRange implementation.
win32u: Move get_scroll_info_ptr implementation from user32.
win32u: Move WM_NCCREATE scroll handling from user32.
wow64win: Sort user syscall thunks.
win32u: Implement input context object.
imm32: Use win32u to manage input context handles.
imm32: Move default IMM window proc implementation from user32.
imm32: Use a separated struct for COM initialization spy.
imm32: Use default IME window WM_DESTROY to call imm_couninit_thread.
imm32: Store message spy pointer in TEB.
win32u: Move window input context handling from imm32.
imm32/tests: Add NtUserAssociateInputContext tests.
imm32/tests: Add more tests for disabling IME.
imm32: Don't allow disabling other thread's IME by thread ID.
win32u: Move default IME window management from imm32.
win32u: Use KeUserModeCallback for ImmProcessKey and ImmTranslateMessage calls.
win32u: Use KeUserModeCallback interface for DDE message callbacks.
mshtml: Wine Gecko 2.47.3 release.
imm32: Select default IME when creating its data.
win32u: Move default window proc to IME window forwarding implementation from user32.
wined3d: Don't use vulkan_driver.h.
wined3d: Don't use __wine_get_wgl_driver.
Jan Sikorski (2):
wined3d: Add missing copy offset in wined3d_texture_vk_upload_data().
wined3d: Defer destroying Vulkan compute pipelines.
Jeremy White (1):
maintainers: Add trailing slashes to directories.
Jinoh Kang (13):
loader: Fix return type of get_auxiliary().
riched20/tests: Test for ITextDocument::Undo and ITextDocument::Redo.
riched20: Ensure MEPF_COMPLEX is unset when in password input mode.
ntdll: Set r11 on exit from syscall dispatcher on x64.
include: Move WIN32_MEMORY_RANGE_ENTRY from winnt.h to winbase.h.
include: Add definition for NtSetInformationVirtualMemory.
ntdll/tests: Add tests for NtSetInformationVirtualMemory.
ntdll: Implement NtSetInformationVirtualMemory (intra-process case).
kernel32/tests: Add tests for PrefetchVirtualMemory.
kernelbase: Implement PrefetchVirtualMemory.
riched20: Factor out undo-ignored status check.
riched20: Add undo control state variable to ME_TextEditor.
riched20: Implement ITextDocument::Undo and ITextDocument::Redo.
Julian Klemann (2):
http.sys: Add support for relative URLs.
http.sys: Do not add URLs with query parameters to queue.
Matteo Bruni (1):
d3dx10/tests: Add a couple D3DX10CreateAsyncTextureInfoProcessor() parameter tests.
Nikolay Sivov (21):
xmllite/reader: Use correct byte length when updating utf16 buffer contents marker.
d2d1/effect: Support parsing vector2 property values.
d2d1/effect: Support parsing vector3 property values.
d2d1/effect: Support parsing vector4 property values.
d2d1/effect: Support parsing int32 property values.
d2d1/effect: Support parsing matrix poperty values.
d2d1/tests: Add missing return value check (Coverity).
d2d1/effect: Check that "Inputs" property was specified in the description.
d2d1: Implement GetRegisteredEffects().
d2d1/tests: Use CRT allocation functions.
rpcss: Use CRT memory allocation functions.
wscript: Use CRT memory allocation functions.
wordpad: Use CRT allocation functions.
winepath: Use CRT allocation functions.
winemsibuilder: Use CRT allocation functions.
mf/evr: Consistently check for shutdown flag within a lock.
mf/sar: Consistently check for shutdown flag within a lock.
mf/samplegrabber: Consistently check for shutdown flag within a lock.
wmic: Handle properly list for GET verb.
d3d10: Use CRT allocation functions.
xolehlp: Use CRT allocation functions.
Paul Gofman (3):
msvcp140_2: Add stub dll.
server: Allow IOCTL_AFD_POLL for sockets without unix fd.
crypt32: Support MICROSOFT_ROOT_CERT_CHAIN_POLICY_CHECK_APPLICATION_ROOT_FLAG.
Piotr Caban (10):
d3dx10/tests: Fix texture leak in check_resource_data.
d3dx10: Add D3DX10CreateThreadPump stub.
d3dx10: Add ID3DX10ThreadPump:AddWorkItem implementation.
d3dx10: Add ID3DX10ThreadPump:GetWorkItemCount implementation.
d3dx10: Add ID3DX10ThreadPump:ProcessDeviceWorkItems implementation.
d3dx10: Add ID3DX10ThreadPump:WaitForAllItems implementation.
d3dx10: Add ID3DX10ThreadPump:GetQueueStatus implementation.
d3dx10: Add ID3DX10ThreadPump:PurgeAllItems implementation.
d3dx10/tests: Add D3DX10CreateThreadPump tests.
ntdll: Fix x64 single step exception detection on macOS.
Roman Pišl (2):
wpcap: Translate device identifier in pcap_create.
wpcap: Implement pcap_dispatch.
Rémi Bernon (26):
winegstreamer: Fix Resampler transform GetCurrent(Input|Output)Type.
winegstreamer: Fix ColorConvert transform GetCurrent(Input|Output)Type.
mf/tests: Add more MFGetTopoNodeCurrentType tests.
mf: Add error cases for MFGetTopoNodeCurrentType.
win32u: Add invisible winstation virtual monitor outside of nulldrv.
win32u: Move default UpdateDisplayDevices implementation out of nulldrv.
win32u: Set generic DEVMODEW fields in NtUserEnumDisplaySettings.
mf/tests: Add todo_wine for newer FFmpeg versions.
winegstreamer: Release requested samples if they are too small.
winegstreamer: Use an atomic queue for wg_transform input buffers.
win32u: Fix NtUserChangeDisplaySettings comment.
win32u: Move reading mode from registry out of graphics drivers.
win32u: Move NtUserChangeDisplaySettings mode validation to a separate helper.
win32u: Move writing mode to registry out of graphics drivers.
dinput/tests: Avoid window activation race conditions with Wine.
dinput/tests: Remove racy IForceFeedbackEffect reference count checks.
widl: Fix missing support for struct / union parameterized type replacement.
widl: Support namespaces for union declarations.
winegstreamer: Implement H264 SetOutputType by reconfiguring the pipeline.
winegstreamer: Use H264 input media type frame size when specified.
winegstreamer: Check H264 ProcessOutput sample against actual image size.
mf/tests: Simplify topology loader tests.
mf/tests: Add more topology loader media types tests.
mf/tests: Add more topology loader connect method tests.
mf: Move and rename topology_loader_get_node_type_handler.
mf: Use topology_node_get_type_handler in MFGetTopoNodeCurrentType.
Stefan Dösinger (1):
wined3d: Don't transition GENERAL layouts for blits.
Stefan Rentsch (1):
wbemprox: Provide more accurate system information.
Tim Clem (1):
mountmgr.sys: Always set the return size from dhcp_request implementations.
Torge Matthies (8):
msvcr120/tests: Add test for canceling running chores.
msvcr120: Add _StructuredTaskCollection::_StructuredTaskCollection_dtor stub.
msvcr100: Add _StructuredTaskCollection::_Schedule stub.
msvcr110: Add _StructuredTaskCollection::_Schedule_loc stub.
msvcr100: Add _StructuredTaskCollection::_RunAndWait stub.
msvcr100: Add _StructuredTaskCollection::_Cancel stub.
msvcr100: Add _StructuredTaskCollection::_IsCanceling stub.
msvcr120/tests: Add missing newlines to messages.
Yoshiji Emoto (1):
ntdll: Add SJIS charset.
Zebediah Figura (57):
d3d10core/tests: Build without -DWINE_NO_LONG_TYPES.
wineusb.sys: Spawn a separate thread to consume Unix library events.
wineusb.sys: Remove devices through the event thread.
wineusb.sys: Report new devices through the event thread.
wineusb.sys: Complete IRPs through the event thread.
d3d9/tests: Make getPixelColor() checks into actual ok() calls.
d3d9/tests: Build without -DWINE_NO_LONG_TYPES.
d3d8/tests: Make getPixelColor() checks into actual ok() calls.
d3d8/tests: Build without -DWINE_NO_LONG_TYPES.
ddraw/tests: Build d3d.c without -DWINE_NO_LONG_TYPES.
ddraw/tests: Build ddrawmodes.c without -DWINE_NO_LONG_TYPES.
ntdll: Fix the calling convention for runtime 64-bit shift functions.
ntdll/tests: Add tests for runtime 64-bit shift functions.
ntdll: Avoid depending on compiler support for 64-bit shift functions.
ntdll: Correctly handle shift greater than the type width in 64-bit shift functions.
ddraw/tests: Build dsurface.c without -DWINE_NO_LONG_TYPES.
ddraw/tests: Build refcount.c without -DWINE_NO_LONG_TYPES.
ddraw/tests: Build visual.c without -DWINE_NO_LONG_TYPES.
wineusb.sys: Fully initialize the device before adding it to the device list.
ntoskrnl/tests: Test asynchronicity of device PnP events.
ntoskrnl/tests: Also test that IoInvalidateDeviceRelations() during device enumeration doesn't deadlock.
ntoskrnl: Enumerate child devices on a separate thread.
wineusb.sys: Queue pending IRPs after submitting the URB.
wineusb.sys: Move the event handling loop to the Unix library.
wineusb.sys: Move the event threads to IRP_MN_START_DEVICE.
wineusb.sys: Move the event queue and device list to the Unix library.
ddraw/tests: Build ddraw1.c without -DWINE_NO_LONG_TYPES.
ddraw/tests: Build ddraw2.c without -DWINE_NO_LONG_TYPES.
wined3d: Introduce a wined3d_streaming_buffer helper.
d3d8: Use the wined3d_streaming_buffer helpers to manage the streaming vertex buffer.
d3d8: Use the wined3d_streaming_buffer helpers to manage the streaming index buffer.
d3d9: Use the wined3d_streaming_buffer helpers to manage the streaming vertex buffer.
d3d9: Use the wined3d_streaming_buffer helpers to manage the streaming index buffer.
ddraw/tests: Build ddraw4.c without -DWINE_NO_LONG_TYPES.
ddraw/tests: Build ddraw7.c without -DWINE_NO_LONG_TYPES.
ntoskrnl/tests: Fix a test failure.
wineusb.sys: Move the libusb_init() and libusb_exit() calls to the Unix library.
wineusb.sys: Pass the device descriptor as part of the event data.
wineusb.sys: Create separate unix devices for each interface.
wineusb.sys: Build with msvcrt.
d3d8: Upload sysmem vertex buffers into the streaming buffer in d3d8_device_DrawPrimitive().
d3d8/tests: Use a nonzero start index in test_sysmem_draw().
d3d9: Upload sysmem vertex buffers into the streaming buffer in d3d9_device_DrawPrimitive().
d3d9/tests: Use a nonzero start index in test_sysmem_draw().
wined3d: Trace the chunk pointer instead of the GL buffer ID in wined3d_device_gl_allocate_memory().
wined3d: Clear the BO map_ptr in wined3d_bo_gl_unmap() even if the chunk is still mapped.
wined3d: Respect the client map count even for suballocated BOs.
wined3d: Pause transform feedback in wined3d_context_gl_draw_shaded_quad().
wined3d: Pause transform feedback in wined3d_context_gl_draw_textured_quad().
wined3d: Do not pause transform feedback after every draw call.
ws2_32/tests: Add some tests for NtReadFile() and NtWriteFile() on sockets.
ntdll: Use the recv_socket request for NtReadFile() on a socket.
ntdll: Use the send_socket request for NtWriteFile() on a socket.
server: Remove the no longer used sock_queue_async() function.
server: Remove the unused "flags" field from struct sock.
server: Do not set the socket state in complete_async_connect().
server: Set the connection time if connect() returns 0.
Zhiyi Zhang (23):
uxtheme/tests: Add more GetThemePartSize() tests in different DPI.
uxtheme: Use system DPI for OpenThemeData() without valid window handles.
atl110: Add importlib.
atl: Avoid NULL pointer reference in AtlComModuleGetClassObject().
atl: Avoid NULL pointer reference in AtlComModuleRegisterClassObjects().
atl: Avoid NULL pointer reference in AtlComModuleRevokeClassObjects().
uxtheme/tests: Use the GetDpiForSystem() function pointer.
winex11.drv: Handle X errors from glXCopyContext().
winex11.drv: Lock display when expecting error events.
winex11.drv: Don't compare error event serial if it's zero.
opengl32/tests: Test wglCopyContext().
explorer: Fix memory leaks.
comctl32/button: Pass the destination rectangle to GetThemePartSize() when painting check boxes.
cryptui: Use 10 DLUs for check box height.
winecfg: Use 10 DLUs for check box height.
winefile: Use 10 DLUs for check box height.
shell32: Correctly check SVSI_EDIT.
shell32: Correctly apply SVSI_FOCUSED.
shell32: Add LVS_SHOWSELALWAYS to the list view in shell views.
shell32: Correct SHOpenFolderAndSelectItems() prototype.
include: Add SHOpenFolderAndSelectItems() declaration and flags.
shell32/tests: Add SHOpenFolderAndSelectItems() tests.
shell32: Implement SHOpenFolderAndSelectItems().
Ziqing Hui (5):
d2d1/effect: Keep builtin effects in the same list as the custom once.
d2d1/tests: Add tests for ID2D1TransformGraph.
d2d1/tests: Add tests for ID2D1OffsetTransform.
d2d1/tests: Test ID2D1BlendTransform.
d2d1/tests: Test ID2D1BorderTransform.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.12 is now available.
What's new in this release:
- Theming support for Qt5 applications.
- Bundled vkd3d upgraded to version 1.4.
- Improved effect support in Direct2D.
- QWORD support in registry tools.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.12.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.12 (total 13):
49501 Star Citizen: No mic input audio (used for voip)
49633 StarCitizen launcher crashes on start with a winmm error
52475 Shogun Total War 2 crashes on start up. (Main Application.)
52586 Approach (Smart Suite) crashes when trying to print to cups-pdf
52729 Argentum 20 RPG Launcher has graphical glitches
53049 Incorrect display of selected buttons in Light theme.
53066 Wireshark shows black rectangle on various places if light theme is enabled
53156 MetaTrader4 stopped working properly with wine 7.10
53169 Rich edit control becomes unstable or trips assertion after ITextRange::SetFont is called
53170 Rich edit control becomes unstable or trips assertion after changing TextFont properties
53180 aria2 needs QueryContextAttributes(SECPKG_ATTR_CIPHER_INFO) to return a valid version
53201 The 32-bit evr:evr crashes almost systematically on the TestBot's Wine VMs
53235 The 32-bit mfplat:mfplat crashes on the TestBot debian11 VM
----------------------------------------------------------------
Changes since 7.11:
Alex Henrie (1):
shell32/tests: Add tests for Program Manager name sanitization.
Alexandre Julliard (41):
include: Add a number of 64-bit interlocked functions.
vkd3d: Import upstream release 1.4.
make_unicode: Make support of registry values more generic.
make_unicode: Generate the time zone registry keys.
make_unicode: Add a table of downloaded files and their URLs.
make_unicode: Verify checksums of downloaded files.
makefiles: Never install external libraries.
d3dcompiler: Remove todo_wine from tests that succeed now.
msvcrt: Move the strncpy_s() implementation to string.c.
msvcrt: Unify the strncpy_s() and wcsncpy_s() implementations.
msvcrt: Unify the strncat_s() and wcsncat_s() implementations.
cabinet: Make sure the cabinet file name doesn't end with a backslash.
ntdll/tests: Add some tests for trailing slashes in paths.
ntdll: Fix returned status code for non-directory in path.
ntdll: Fix returned status code for paths with a trailing slash.
makefiles: Use the defined external lib variables also when building the libs themselves.
makefiles: Add separate variables for Unix flags and libraries.
ntdll: Add a few more isw* functions.
ntdll: Add strcpy_s and wcscpy_s.
ntdll: Add strcat_s and wcscat_s.
ntdll: Add strncpy_s and wcsncpy_s.
ntdll: Add strncat_s and wcsncat_s.
ntdll: Add strtok_s and wcstok_s.
ntdll: Add strlwr_s and wcslwr_s.
ntdll: Add strupr_s and wcsupr_s.
ntdll: Add memcpy_s and memmove_s.
ntdll: Add _wcstoi64.
ntdll: Add _wcstoui64.
ntdll: Add _ui64tow_s.
ntdll: Add _i64tow_s.
ntdll: Add _ui64toa_s.
ntdll: Add _i64toa_s.
ntdll: Add _wsplitpath_s.
ntdll: Add _splitpath_s.
ntdll: Add _wmakepath_s.
ntdll: Add _makepath_s.
ntdll: Add qsort_s.
ntdll: Add bsearch_s.
ntdll: Add _vscprintf and _vscwprintf.
ntdll: Add _ftol2 and _ftol2_sse.
ntdll: Add atan2.
Alistair Leslie-Hughes (1):
d3drm: Return S_OK from IDirect3DRMMeshBuilder3::Optimize().
Andrew Eikum (1):
maintainers: Remove myself as maintainer.
Arkadiusz Hiler (4):
mshtml: Enable CSS grid layout.
win32u: Don't report cloned monitors in EnumDisplayMonitors().
winepulse.drv: Set device path for all devices.
winealsa.drv: Set device path for all devices.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bhavesh Davda (1):
wined3d: Add GPU information for NVIDIA Ampere A10 and AMD Radeon Pro V620 GPUs.
Biswapriyo Nath (2):
include: Add IDXGIInfoQueue declaration in dxgidebug.idl.
include: Add IDXGIDebug1 declaration in dxgidebug.idl.
Brendan Shanks (7):
ntdll: Add zero_bits parameter to virtual_map_builtin_module.
ntdll: Add zero_bits parameter to open_builtin_pe_file.
ntdll: Add zero_bits parameter to find_builtin_dll.
ntdll: Add zero_bits parameter to load_builtin.
wbemprox: Use return length from NtQuerySystemInformationEx().
ntdll: Use +threadname channel for thread rename exceptions.
ntdll: Use +threadname channel for SetThreadDescription().
Claire Girka (1):
mmdevapi: Override product strings for DualSense controller audio devices.
Connor McAdams (1):
uiautomationcore: Initialize VARIANT in test_uia_prov_from_acc_properties() (Coverity).
Daniel Lehman (1):
include: Add _tcsto[u]ll declarations.
David Curtiss (1):
ws2_32: Allow getsockname after AcceptEx.
David Kahurani (3):
xmllite/reader: Avoid memory leak on error path.
xmllite/writer: Handle possible memory allocation failures.
xmllite/writer: Fix typo in a comment.
Dmitry Timoshkov (1):
comctl32/listview: Add partial support for LVM_SETBKIMAGE.
Eric Pouech (9):
winedump: Explore a bit more TPI hash elements.
dbghelp: Rely on first/last type index from type header.
mscvpdb.h: Redefine property with bitfields.
dbghelp: Clearly separate the type loading into two passes.
dbghelp: Preserve PDB's partial order for types of same name.
dbghelp: Use remap table from PDB hash stream.
winedbg: No longer hide current WineDbg process from 'info proc'.
dbghelp/msc: Support LF_INDEX* in enumeration type definition.
d3d10core: Enable compilation with long types.
Floris Renaud (1):
po: Update Dutch translation.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.219.
Giovanni Mascellani (5):
mfplat/buffer: Fix size for IMC2/IMC4 buffers with odd height.
mfplat/tests: Use a more unique pattern when testing image formats.
mfplat/buffer: Fix the image copy function for IMC2/IMC4 buffers with odd height.
mfplat/buffer: Deduplicate common code between Lock2D() and Lock2DSize().
mfplat/tests: Remove duplicated tests.
Hans Leidekker (5):
include: Move SECPKG_ATTR defines to a new header and add missing definitions.
secur32: Implement SECPKG_ATTR_CIPHER_INFO.
winhttp: Remove assertion that is no longer valid in Windows 10.
wininet: Remove assertion that is no longer valid in Windows 10.
secur32: Return a SECBUFFER_MISSING buffer from the handshake if the input message is incomplete.
Henri Verbeet (1):
wined3d: Restore the vkd3d-shader version TRACE.
Hugh McMaster (3):
regedit: Pass correct data size when adding a new value via the GUI.
regedit: Use correct printf specifier for UINT64 (QWORD) values.
regedit: Allow renaming of values in root keys.
Huw D. M. Davies (5):
iphlpapi/tests: Allow the route's age to differ by one second.
nsiproxy: Use an unsigned integer for the ICMP handles.
nsiproxy: Pass a ptr to receive the ICMP handle.
iphlpapi: Don't allocate the IO status block on the stack.
wow64: Report the correct size for SystemLogicalProcessorInformationEx.
Jacek Caban (21):
win32u: Move default key messages implementation from user32.
win32u: Move WM_APPCOMMAND implementation from user32.
win32u: Move WM_WINDOWPOSCHANGED implementation from user32.
win32u: Move default WM_CTL* window message implementation from user32.
win32u: Move WM_PRINT implementation from user32.
win32u: Move more default window messages implementation from user32.
win32u: Move WM_SHOWWINDOW implementation from user32.
win32u: Move WM_GETTEXTLENGTH implementation from user32.
win32u: Move WM_GETTEXT implementation from user32.
win32u: Move get_menu_item_info implementation from user32.
user32: Reimplement GetMenuStringA on top of NtUserThunkedMenuItemInfo.
user32: Reimplement GetMenuStringW on top of NtUserThunkedMenuItemInfo.
win32u: Move GetMenuItemID implementation from user32.
user32: Reimplement SetMenuItemBitmaps on top of NtUserThunkedMenuItemInfo.
win32u: Move CheckMenuRadioItem implementation from user32.
user32: Use NtUserThunkedMenuItemInfo for GetSubMenu implementation.
win32u: Move GetMenuDefaultItem implementation from user32.
user32: Use IsMenu in MENU_mnu2mnuii.
win32u: Move NtUserGetSystemMenu implementation from user32.
win32u: Move menu object declarations to menu.c.
user32: Remove no longer needed helpers.
Jactry Zeng (1):
include: Add definition of ScriptPlaceOpenType().
Jinoh Kang (10):
winedbg: Fix typos in manpage.
riched20: Commit and wrap paragraphs after changing text properties.
ntdll/tests: Add more tests for \Device\NamedPipe\ root directory.
iphlpapi/tests: Add tests for GetBestInterface.
iphlpapi/tests: Add tests for GetBestRoute.
iphlpapi/tests: Add tests for GetBestInterfaceEx.
iphlpapi/tests: Factor out interface identifier conversion with invalid parameters.
iphlpapi/tests: Add more tests for interface identifier conversion failure.
winedbg: Clarify options specific to GDB proxy mode.
windowscodecs: Fix non-zero alpha detection in ImagingFactory_CreateBitmapFromHICON.
Julian Rüger (1):
po: Update German translation.
Nikolay Sivov (33):
d2d1: Use CRT memory allocation functions.
d2d1/effect: Forward color context methods to corresponding device context.
d2d1/effect: Add LoadPixelShader().
d2d1/effect: Add LoadComputeShader().
d2d1/effect: Add CheckFeatureSupport().
d2d1/effect: Move effect instance creation to the device context.
d3d11: Remove null dxgi object checks.
d2d1: Implement IsBufferPrecisionSupported().
d2d1/effect: Forward IsBufferPrecisionSupported() to corresponding device context.
regedit: Add support for REG_QWORD type.
regedit: Remove unnecessary string conversion when modifying REG_DWORD value.
d2d1/effect: Reserve a buffer for property values.
d2d1/effect: Set property index.
d2d1: Move effect object creation to effect.c.
d2d1/effect: Set initial value for uint32 properties.
d2d1/effect: Handle initial values for D2D1_PROPERTY_TYPE_BOOL.
d2d1/effect: Create effect instance properties from builtin effect description.
d2d1/effect: Initial implementation of property access methods.
d2d1/effect: Add D2D1_PROPERTY_CACHED property.
d2d1/effect: Mark most of system properties as read-only.
d2d1/effect: Implement custom effects creation.
d2d1/effect: Mark custom properties as writable.
d2d1/effect: Use property binding methods.
d2d1/effect: Use known names for automatically added properties.
d2d1/effect: Add D2D1_PROPERTY_PRECISION property.
d2d1/tests: Enable effect context tests on Wine.
reg: Add REG_QWORD support to 'add'.
ntdll/tests: Add some tests for NtRenameKey().
advapi32/tests: Add some tests for RegRenameKey().
ntdll: Implement NtRenameKey().
advapi32: Implement RegRenameKey().
d2d1/effect: Initial implementation of subproperties.
d2d1/tests: Add some tests for enum property structure.
Paul Gofman (8):
winex11.drv: Store wgl_drawable instead of GLX drawable in wgl_pbuffer.
winex11.drv: Destroy GLX pbuffer when destroying drawable.
nsiproxy.sys: Strip trailing end of line for iface name on Linux.
iphlpapi: Correctly index dynamic data array.
iphlpapi: Sort by adapter index first in GetIpNetTable().
opengl32: Prioritize stencil check over depth check in wglChoosePixelFormat().
opengl32/tests: Add more tests for ChoosePixelFormat().
nsiproxy.sys: Add static ARP entries which are always present on Windows.
Robert Wilhelm (1):
vbscript: Use return_null in more places.
Rémi Bernon (11):
winebus.sys: Move bus_event list entry to an internal structure.
winebus.sys: Use UINT instead of enum and UINT64 instead of unix_device pointer.
mf/tests: Add more consistent reference count checks.
mf/tests: Add some missing IMFActivate_ShutdownObject calls.
mf: Avoid leaking nodes in IMFTopoLoader_Load.
mf: Release video renderer services before re-initializing.
mf: Uninitialize renderer before creating mixer and presenter.
winex11.drv: Rename display settings handlers to settings_handler.
winex11.drv: Use nameless structs and unions in settings.c.
winex11.drv: Merge settings.c into display.c.
winex11.drv: Avoid requesting current mode in X11DRV_desktop_get_modes.
Stefan Dösinger (1):
winecfg: Support color profiles larger than MAX_PATH chars.
Zebediah Figura (24):
d3d11/tests: Add tests for D3D11_FORMAT_SUPPORT_BLENDABLE.
wined3d: Add Vulkan format information for WINED3DFMT_B5G6R5_UNORM.
wined3d: Report WINED3D_FORMAT_CAP_BLIT for formats supporting VK_FORMAT_FEATURE_TRANSFER_SRC and VK_FORMAT_FEATURE_TRANSFER_DST.
wined3d: Retrieve caps from both WINED3D_GL_RES_TYPE_TEX_2D and WINED3D_GL_RES_TYPE_RB for 2D textures in wined3d_check_device_format().
d3d11: Check for WINED3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING with WINED3D_RTYPE_TEXTURE_2D.
win32u: Move process_rawinput_message() from user32.
win32u: Move raw input thread data allocation from user32.
win32u: Use syscall interface for NtUserGetRawInputData.
win32u: Use syscall interface for NtUserGetRawInputBuffer.
dnsapi: Clarify that Windows does not implement DnsQueryConfig(DnsConfigSearchList).
dnsapi: ntdll_umbstowcs() deals in characters, not bytes.
dnsapi: Return a double-null-terminated string from DnsQueryConfig(DnsConfigSearchList).
ntdll: Add some documentation for ntdll_umbstowcs() and ntdll_wcstoumbs().
ntdll/tests: Fix test_user_apc() on i386.
ntdll/tests: Fix test_user_apc() on Windows < 7.
ntdll/tests: Test setting the return value via alertable NtContinue().
win32u: Move NtUserRegisterRawInputDevices from user32.
win32u: Move NtUserGetRegisteredRawInputDevices from user32.
win32u: Move raw input device list management from user32.
user32: Merge rawinput.c into input.c.
wineusb.sys: Move the libusb_cancel_transfer() call to a new Unix library.
wineusb.sys: Cache members of the device descriptor in the usb_device structure.
wineusb.sys: Do not store a reference to the libusb device in the usb_device structure.
wineusb.sys: Create a separate unix_device struct to wrap the libusb device handle.
Zhiyi Zhang (49):
uxtheme: Support parsing more button parts and states.
uxtheme: Support parsing more clock states.
uxtheme: Support parsing more combobox parts and states.
uxtheme: Support parsing more edit parts and states.
uxtheme: Support parsing more header parts and states.
comctl32/toolbar: Add support for TBCDRF_NOBACKGROUND.
comctl32/tests: Test that themed toolbar buttons don't use pattern brushes to draw checked background.
comctl32/toolbar: Don't use pattern brushes to draw checked background.
uxtheme: Support parsing more listview parts and states.
uxtheme: Support parsing navigation class.
uxtheme: Support parsing more rebar parts and states.
uxtheme: Support parsing more scrollbar parts and states.
uxtheme: Support parsing more start panel parts and states.
uxtheme: Support parsing more tab parts.
uxtheme: Support parsing taskdialog class.
uxtheme: Support parsing more treeview parts and states.
uxtheme: Support parsing more toolbar parts and states.
uxtheme: Support parsing more tooltip parts and states.
uxtheme: Support parsing more window parts and states.
uxtheme/tests: Test that DrawThemeBackgroundEx() is at ordinal 47.
uxtheme: Place DrawThemeBackgroundEx() at ordinal 47.
uxtheme: Test DrawThemeBackgroundEx() alpha channel handling.
uxtheme: Do not transfer glyph alpha values when drawing opaque background.
uxtheme/tests: Add GetThemeBackgroundRegion() tests.
uxtheme: Handle BT_NONE in GetThemeBackgroundRegion().
light.msstyles: Add Vista+ button parts.
light.msstyles: Add Vista+ combobox parts.
light.msstyles: Add Vista+ edit parts.
light.msstyles: Add Explorer::TreeView subclass.
light.msstyles: Add Vista+ header parts.
light.msstyles: Add Vista+ listview parts.
light.msstyles: Add Vista+ menu parts.
light.msstyles: Add navigation class.
light.msstyles: Add Vista+ rebar parts.
light.msstyles: Add Vista+ scrollbar parts.
light.msstyles: Add Vista+ spin parts.
uxtheme/tests: Add dialog procedure message tests.
uxtheme: Avoid calling application dialog procedures repeatedly.
light.msstyles: Add Vista+ tab parts.
light.msstyles: Add taskdialog class.
light.msstyles: Add Vista+ toolbar parts.
light.msstyles: Add Vista+ tooltip parts.
light.msstyles: Add Vista+ trackbar parts.
light.msstyles: Add window parts.
evr: Release buffer after adding it to sample.
evr/tests: Fix resource leaks.
d2d1/tests: Fix resource leaks.
mfplat/tests: Fix resource leaks.
winex11.drv: Use a global Vulkan instance in X11DRV_D3DKMTOpenAdapterFromLuid().
Ziqing Hui (8):
d2d1: Partially implement RegisterEffectFromStream().
d2d1: Implement property parsing for RegisterEffectFromStream().
d2d1: Implement UnregisterEffect().
d2d1/effect: Create implementation instance for the effect object.
d2d1/effect: Add a transform graph stub.
d2d1/tests: Add tests for system properties attributes.
d2d1/tests: Add tests for GetPropertyCount().
d2d1/tests: Test value size checking for custom properties.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.11 is now available.
What's new in this release:
- Android driver converted to PE.
- Zero-copy support with GStreamer.
- High Unicode planes support in case mappings.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.11.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.11 (total 34):
33381 Mayhem Triple renders too small
33383 Foobar2000 crashes on Alt-H
34176 Kernel32:CompareStringW strange behavior ?
35027 Euphoria needs CreateProcessInternalW function
36720 LCMapString with the parameter NORM_IGNORENONSPACE does not remove diacritics
39144 SpinTires tech demo wrong rendering after changing screen resolution
39298 kernel32 does not support custom nls installation.
45634 enabling CSMT ruins performance for rFactor 1.255
46281 Multiple Windows 7+ apiset-aware applications fail due to Wine loader lacking support for resolving virtual dlls via 'kernel32.GetModuleHandle' (Archicad 22)
46782 CompareStringEx does not support SORT_DIGITSASNUMBERS flag
49210 Mafia and Mafia II: Definitive Edition Launcher crashes with Wine-Mono
49232 Saints Row The Third Remastered shows floating black rectangles
50941 Multiple applications crash on unimplemented function WS2_32.dll.WSAConnectByName (TIP-Integral, EasyMiniGW)
50948 taskmgr.exe: wrong memory usage unit (GB => MB)
51243 In Wine dinput:keyboard fails if the keyboard layout does not match the display language
52663 Civilization 4: no text in main menu
52752 Rich Edit Control does not support drawing OLE objects
52795 Multiple applications crash in Mesa due to syscall stack overflow (Cyberpunk 2077, Stranger of Paradise, Doom Eternal with ray tracing)
52831 Kernel32::GetSystemPowerStatus returns invalid data if /sys/class/power_supply/BAT0 is missing
52841 Leverless arcade controller SOCD cleaning does not work
52885 Adobe Lightroom Classic 11.1 crash in user32
52893 GreedFall crashes on launch
52993 msi:action - test_publish() fails on date change
52995 shell32:shelllink crashes in Wine cause shell32:shellpath's test_PathResolve() to fail (test.bat file)
52998 xaudio2_7:xaudio2 fails on Windows 1909+
53029 Clipboard cut/paste partially broken in wine 7.8.1.2
53035 Displaying Out-GridView in Powershell Core crashes with WinVer > Win7
53038 Epic Games Launcher crashes on start
53076 Kvaser CanKing needs ntoskrnl.exe.KfRaiseIrql and ntoskrnl.exe.KeLowerIrql
53082 "explorer: Create clipboard manager thread when creating a desktop." causes hangs on wine startup
53102 Ubisoft Connect fails to connect to server
53112 winegstreamer build error
53136 crypt32:cert - testVerifyRevocation() fails in Wine
53138 crypt32:chain - testGetCertChain() fails in Wine
----------------------------------------------------------------
Changes since 7.10:
Akihiro Sagawa (1):
msvcrt: Avoid passing an invalid LCID to LCMapStringW.
Alex Henrie (2):
user32: Plug icon handle leak in MDI_AugmentFrameMenu (Coverity).
ntdll: Don't hard-code the battery and AC adapter names on Linux.
Alexandre Julliard (10):
make_unicode: Add data for high Unicode planes in case mapping tables.
kernelbase: Add support for high Unicode planes in LCMapStringEx().
kernel32/tests: Add tests for high Unicode planes.
ntdll/tests: Add tests for high Unicode planes.
faudio: Import upstream release 22.06.
kernelbase: Implement IsNLSDefinedString().
atl: Support escaped quotes in registrar scripts.
kernelbase: Add NORM_IGNORENONSPACE support in LCMapStringEx().
ntdll: Share a few more locale functions with the Unix side.
ntdll: Move the user locale initialization to the Unix side.
Alistair Leslie-Hughes (1):
d3drm: Pass all D3DRM_LOAD* flags directly through to CreateEnumObject() in IDirect3DRMMeshBuilder3::Load().
Andrew Eikum (1):
include: Remove duplicate ICodecAPI::GetParameterValues function.
Bernhard Kölbl (9):
include/windows.media.idl: Update file to newer formatting.
include/windows.media.idl: Move IMediaMarker collections from speechsynthesis.
include/windows.media.speechsynthesis.idl: Update file to newer formatting.
windows.media.speech/tests: Remove a useless thread id trace.
windows.media.speech/tests: Handle a possible race condition.
windows.media.speech/tests: Add basic tests for ssml/text to stream functions.
windows.media.speech: Return IAsyncOperation from synthesizer_SynthesizeTextToStreamAsync.
windows.media.speech: Return IAsyncOperation from synthesizer_SynthesizeSsmlToStreamAsync.
windows.media.speech: Add stub ISpeechSynthesisStream iface.
Chilung Chan (1):
po: Update Traditional Chinese translation.
Connor McAdams (18):
include: Add UI Automation Control Type ID definitions.
uiautomationcore/tests: Skip UiaProviderFromIAccessible tests on Win10v1507.
uiautomationcore: Use WindowFromAccessibleObject to get HWND in UiaProviderFromIAccessible.
uiautomationcore/tests: Store test IAccessible data in structures.
uiautomationcore: Implement UIA_ControlTypePropertyId for MSAA providers.
uiautomationcore: Implement MSAA accState based property IDs for MSAA providers.
uiautomationcore: Implement get_HostRawElementProvider for MSAA providers.
include: Add ILegacyIAccessibleProvider interface definition.
uiautomationcore: Add ILegacyIAccessibleProvider implementation for MSAA providers.
uiautomationcore: Add stub IRawElementProviderFragment for MSAA providers.
uiautomationcore/tests: Add navigation tests for MSAA providers.
uiautomationcore: Implement NavigateDirection_Parent for MSAA Providers.
uiautomationcore/tests: Release interfaces returned from get_HostRawElementProvider.
uiautomationcore: Implement NavigateDirection_{First/Last}Child for MSAA Providers.
uiautomationcore: Implement NavigateDirection_{Previous/Next}Sibling for MSAA providers.
include: Import IAccessible2 headers.
ia2comproxy: Introduce new proxy stub DLL for IAccessible2.
uiautomationcore: Add basic IAccessible2 support.
Daniel Lehman (3):
ntdll/tests: Test if RtlFormatMessage modifies va_list on error.
kernel32/tests: Test if FormatMessage modifies va_list on error.
kernelbase: Pass va_list copy to internal RtlFormatMessage.
Derek Lesho (2):
mfreadwrite/tests: Test timestamp-based MF_SOURCE_READER_ANY_STREAM behavior.
mfreadwrite: Update source reader MF_SOURCE_READER_ANY_STREAM behavior based on tests.
Dmitry Timoshkov (1):
d2d1: Add partial support for image brushes.
Gabriel Ivăncescu (7):
mshtml: Expose IE10+ XMLHttpRequest props via private interface.
mshtml: Implement onabort for XMLHttpRequest.
mshtml: Implement onprogress for XMLHttpRequest.
mshtml: Implement onloadstart for XMLHttpRequest.
mshtml: Implement onloadend for XMLHttpRequest.
mshtml: Implement withCredentials for XMLHttpRequest.
jscript: Use LIST_FOR_EACH_ENTRY_SAFE to clear Map and Set objects.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.217.
Giovanni Mascellani (2):
mfplat/tests: Test interaction between Lock() and LockRect().
mfplat/tests: Test interaction between Lock2D() and LockRect().
Hans Leidekker (5):
winhttp: Fix default port corner cases in WinHttpCrackUrl().
cryptnet: Fail CRL verification if there's no issuer certificate.
cryptnet: Move revocation cache check to verify_cert_revocation_from_dist_points_ext().
cryptnet: Fall back to online CRL verification if OCSP verification fails.
winhttp: Release object on allocation failure.
Hugh McMaster (2):
conhost: Show caret immediately after reshaping.
conhost: Update debug output and comments when loading/saving settings.
Jacek Caban (59):
wineandroid: Use ntdll for UTF8 conversion.
wineandroid: Don't use unicode.h.
wineandroid: Remove audio driver.
wineandroid: Directly use ntdll for registry access.
wineandroid: Directly use win32u for GDI functions.
wineandroid: Implement desktop window proc using driver interface.
wineandroid: Directly use win32u for user calls.
wineandroid: Use pthread for locking in opengl.c.
wineandroid: Use pthread for window data locking.
wineandroid: Use pthread for surface locking.
wineandroid: Move DllMain to separated file.
wineandroid: Move wine_create_desktop_to dllmain.c.
wineandroid: Use libc for memory allocation.
wineandroid: Directly use ntdll instead of kernel32.
wineandroid: Move device thread to dllmain.c.
wineandroid: Use unixlib interface for register_window_callback.
win32u: Use public name for SetThreadDpiAwarenessContext.
wineandroid: Build with msvcrt.
mmdevapi: Remove android from default driver list.
jscript/tests: Add test for releasing script context objects.
jscript: Correctly handle deleted entries in iterate_map.
vbscript: Use return_bool in more places.
win32u: Don't call CopyImage with user lock in NtUserRegisterClassExWOW.
win32u: Don't call CopyImage with user lock in set_class_long.
win32u: Move NtUserLockWindowUpdate implementation from user32.
user32: Use a critical section in RegisterUserApiHook.
user32: Remove no longer needed helpers.
win32u: Remove no longer used __wine_set_user_driver PE entry point.
win32u: Move NtUserScrollWindowEx implementation from user32.
win32u: Move SetWindowContextHelpId implementation from user32.
win32u: Move NtUserDragDetect implementation from user32.
win32u: Move NtUserInternalGetWindowIcon implementation from user32.
winex11: Use LoadImageW in fetch_icon_data.
win32u: Move SC_SIZE and SC_MOVE handling from user32.
win32u: Allow passing simple LOGFONTW to NtGdiHfontCreate.
win32u: Move WM_NCPAINT handling from user32.
win32u: Move WM_NCACTIVATE implementation from user32.
win32u: Move GetDialogBaseUnits implementation from user32.
win32u: Simplify get_text_metr_size.
win32u: Move WM_NCCALCSIZE implementation from user32.
win32u: Move NtUserDrawMenuBarTemp implementation from user32.
win32u: Move MENU_DrawMenuBar implementation from user32.
win32u: Move PopupMenuWndProc implementation from user32.
user32: Reimplement GetMenuContextHelpId on top of GetMenuInfo.
win32u: Move NtUserMenuItemFromPoint implementation from user32.
win32u: Move WM_KEYF1 implementation from user32.
win32u: Move NtUserInvalidateRect and NtUserInvalidateRgn implementation from user32.
win32u: Move process default layout handling from user32.
win32u: Move WM_NCHITTEST implementation from user32.
win32u: Move WM_NCLBUTTONDOWN implementation from user32.
win32u: Move WM_NCRBUTTONDOWN implementation from user32.
win32u: Use NtUserCallHwnd for NtUserSetForegroundWindow.
win32u: Move menu tracking implementation from user32.
win32u: Move WM_CONTEXTMENU and WM_POPUPSYSTEMMENU implementation from user32.
win32u: Move NtUserDrawCaptionTemp implementation from user32.
win32u: Move WM_SETCURSOR implementation from user32.
win32u: Move WM_NCLBUTTONDBLCLK and WM_LBUTTONDBLCLK implementation from user32.
win32u: Move more WM_SYSCOMMAND implementation from user32.
win32u: Move NtUserGetTitleBarInfo implementation from user32.
Jactry Zeng (2):
dwmapi: Fill rateRefresh/rateCompose and qpcRefreshPeriod of DWM_TIMING_INFO from DwmGetCompositionTimingInfo().
dwmapi: Return S_OK from DwmFlush().
Jinoh Kang (5):
comctl32: Fix integer overflow in DPA_Search.
riched20/tests: Add tests for drawing embedded OLE objects.
riched20: Fetch extent from object if REOBJECT::sizel is unset.
riched20: Draw OLE objects with IViewObject implementation.
comctl32: Always paint SS_BITMAP static control background with WM_CTLCOLORSTATIC brush.
Julian Klemann (4):
httpapi/tests: Move sleep statement.
httpapi/tests: Add tests for when URLs fail to be added to a queue.
httpapi: Stop setting group->url if add_url() fails.
http.sys: Add support for adding multiple urls to request queues.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (2):
wbemprox: Add a few properties to Win32_QuickFixEngineering.
advapi32: Fix spec entry for LookupPrivilegeDisplayName{A,W}.
Martin Storsjö (5):
ntdll: Add SEH unwind info in ARM assembly functions/trampolines.
ntdll: Use ControlPcIsUnwound for the RtlVirtualUnwind pc parameter in virtual_unwind.
ntdll: Take ControlPcIsUnwound into account on arm64 too.
ntdll/tests: Fix printing of incorrect exception handler data.
ntdll/tests: Test returning an exception handler on arm/arm64.
Matteo Bruni (2):
d3dx10/tests: Initialize a function argument.
d3dx10/tests: Add a test for loading an invalid resource from a valid module.
Nikolay Sivov (16):
windows.gaming.input: Fix a leak on error path (Coverity).
secur32/schannel: Avoid use-after-free in AcquireClientCredentials() (Coverity).
kernelbase/tests: Move VirtualAllocFromApp() tests.
kernelbase: Implement VirtualAlloc2FromApp().
kernelbase/tests: Add some more tests for region splitting.
ntdll/tests: Add some tests for VM regions splitting.
d2d1: Use d3d11 constants for constant buffer description.
d3d11: Do not return uninitialized values on Map() failure.
d2d1: Update to ID2D1DeviceContext1.
d3d11/tests: Add some tests for IDXGIResource support.
dxgi/tests: Add a IDXGIResource support test for CreateSurface().
dxgi: Create DXGI resource object, optionally supporting surface interfaces.
d3d11: Add a helper to create DXGI resource objects.
d3d11: Always use dxgi resource private store for 1D and 2D textures.
d3d11: Create dxgi resource object for 3D textures.
d3d11: Create dxgi resource objects for buffers.
Paul Gofman (15):
winhttp: Keep task in queue until completion.
winhttp: Implement reference counting for tasks.
winhttp: Fix dwResult field in websocket receive error result.
winhttp: Replace pending read cancel in WinHttpWebSocketClose() with a generic cancel_queue().
winhttp: Abort websocket IO on handle close.
winhttp: Support abort in task_socket_close().
winhttp/tests: Add tests for closing web socket with pending operations.
ws2_32: Check for valid socket in WSAGetOverlappedResult().
ntdll: Cancel asyncs when thread is terminated.
ws2_32/tests: Add tests for terminated thread asyncs completion.
winhttp: Introduce netconn_wait_overlapped_result() helper.
winhttp: Use completion port for async send.
ws2_32: Make wait in select() alertable.
ws2_32: Make wait in WS2_recv_base() alertable.
iphlpapi: Return ERROR_NO_DATA from GetIpNetTable() if no entries are found.
Piotr Caban (28):
wow64: Fix NtQueryDirectoryObject wrapper.
d3dx10: Use CRT memory allocators.
d3dx11: Use CRT memory allocators.
d3dx10: Share code for file data loading.
d3dx10: Share code for resource data loading.
d3dx10: Add D3DX10CreateAsyncTextureInfoProcessor implementation.
d3dx10/tests: Add D3DX10CreateAsyncTextureInfoProcessor tests.
d3dx10: Don't ignore HRESULT parameter in D3DX10GetImageInfoFrom* functions.
d3dx10/tests: Add D3DX10GetImageInfoFromMemory HRESULT argument tests.
d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10GetImageInfoFromFileW.
d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10GetImageInfoFromResourceA.
d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10GetImageInfoFromResourceW.
d3dx10: Support ID3DX10ThreadPump parameter in D3DX10GetImageInfoFromMemory.
d3dx10/tests: Add D3DX10GetImageInfoFromMemory thread pump tests.
server: Always return Win32 error code from IOCTL_AFD_GET_SO_ERROR.
server: Don't reset socket error in poll_socket.
server: Don't reset socket error in IOCTL_AFD_GET_SO_ERROR.
d3dx10: Don't ignore HRESULT parameter in D3DX10CreateTextureFromMemory.
d3dx10/tests: Add D3DX10CreateTextureFromMemory HRESULT argument tests.
d3dx10: Exit early on volume textures in D3DX10CreateTextureFromMemory.
d3dx10: Add D3DX10CreateAsyncTextureProcessor stub.
d3dx10: Add D3DX10CreateAsyncTextureProcessor implementation.
d3dx10/tests: Add D3DX10CreateAsyncTextureProcessor tests.
d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10CreateTextureFromFileW.
d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10CreateTextureFromResourceA.
d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10CreateTextureFromResourceW.
d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10CreateTextureFromMemory.
d3dx10/tests: Add D3DX10CreateTextureFromMemory thread pump tests.
Robert Wilhelm (1):
vbscript: Implement IsDate().
Rémi Bernon (61):
winegstreamer: Return void from align_video_info_planes.
windows.gaming.input: Consistently use FIXME for E_NOINTERFACE messages.
include: Add Windows.Gaming.Input.IGamepad2 interface declaration.
windows.gaming.input: Implement stub IGamepad2 interface.
winegstreamer: Introduce new wg_transform_(push|read)_mf helpers.
winegstreamer: Rename mf_(create|destroy)_wg_sample helpers.
winegstreamer: Introduce a new custom memory allocator.
winegstreamer: Support zero-copy output using the allocator.
winegstreamer: Support zero-copy in wg_transform_push_data.
dinput/tests: Avoid requiring foreground window in SetCooperativeLevel tests.
dinput/tests: Use dinput_test_(init|exit) for all tests.
dinput/tests: Merge device.c tests into device8.c.
ole32/tests: Update IStream_SetSize with large size test result.
ntdll: Add block padding when HEAP_ADD_USER_INFO flag is set.
kernelbase: Use HEAP_ADD_USER_INFO for HLOCAL allocations.
ntdll: Implement RtlSetUserValueHeap.
kernelbase: Use RtlSetUserValueHeap to store HLOCAL.
dinput/tests: Add some broken joystick axis results.
dinput: Fix DIPROP_FFGAIN mouse and keyboard tests.
dinput/tests: Run mouse info tests for every dinput version.
dinput/tests: Merge mouse.c tests into device8.c.
dinput/tests: Run keyboard info tests for every dinput version.
dinput/tests: Merge keyboard.c tests into device8.c.
ntdll: Implement RtlGetUserValueHeap.
kernel32: Use RtlGetUserInfoHeap in GlobalHandle.
kernelbase: Stop using an offset for HLOCAL pointers.
kernel32: Cleanup and simplify (Global|Local)Size.
kernel32: Cleanup and simplify (Global|Local)Handle.
kernelbase: Cleanup and simplify (Global|Local)ReAlloc.
ntdll: Rename HEAP to struct heap and remove typedef.
ntdll: Consistently name heap handles and pointers.
ntdll: Rename HEAP_GetPtr to unsafe_heap_from_handle.
ntdll: Use block_size and data_size in subheap structure.
ntdll: Remove heap pointer from SUBHEAP structure.
winebus.sys: Implement SOCD neutral cleaning for hatswitches.
winegstreamer: Split wg_sample wrapper helpers to a separate source.
winegstreamer: Use a union in struct sample to keep API pointers.
winegstreamer: Introduce new wg_sample_create_quartz helper for quartz_transform.c.
winegstreamer: Support zero-copy wg_transform_push_data in quartz_transform.c.
winegstreamer: Support zero-copy wg_transform_read_data in quartz_transform.c.
winegstreamer: Remove copying support from wg_transform_push_data.
winegstreamer: Return NS_E_INVALID_REQUEST on WMReader Start before Open.
winegstreamer: Return E_UNEXPECTED from WMReader_Open when already opened.
winegstreamer: Return E_UNEXPECTED from WMReaderAdvanced2_OpenStream when already opened.
winegstreamer: Move end conditions out of the wm_asyncreader stream loop.
winegstreamer: Simplify wm_asyncreader stream loop exit code path.
winegstreamer: Leave the wm_reader stream_cs when calling the callbacks.
mscoree: Avoid using pointer after free.
mshtml/tests: Avoid using pointer value after free.
oleaut32/tests: Workaround use after free warnings.
user32/tests: Workaround use after free warnings.
msi: Avoid using pointer value after free.
notepad: Avoid using pointer value after free.
dsound: Avoid using pointer value after free.
d3drm: Avoid using pointer value after free.
server: Avoid using pointer value after realloc.
winegstreamer: Register stub ResamplerMediaObject transform.
winegstreamer: Implement ResamplerMediaObject transform.
winegstreamer: Remove unnecessary WineAudioConverter transform.
winegstreamer: Register stub ColorConvertDMO transform.
winegstreamer: Implement ColorConvertDMO transform.
Sebastián Aedo (1):
winex11.drv: Change order register_extension for WGL_ARB_pixel_format_float.
Stefan Dösinger (1):
include: Emit CFI directives when building on Mac with gcc.
Tim Clem (1):
ntdll: Move SEH exception info logs back to the seh channel.
Timo Zuccarello (1):
winebus: Optionally split joysticks with more than 6 axes.
Torge Matthies (2):
cryptnet: Resolve object id to algorithm id when verifying OCSP response.
msvcp90: Fix segfault in bad_alloc exception default constructor.
Zebediah Figura (12):
wined3d: Parse the eval_centroid opcode.
wined3d: Cap the maximum reported VRAM, not the current reported VRAM.
hidclass.sys: Expose an ioctl to retrieve the raw input handle.
dinput: Use IOCTL_HID_GET_WINE_RAWINPUT_HANDLE to retrieve the raw input handle.
user32: Use IOCTL_HID_GET_WINE_RAWINPUT_HANDLE to retrieve the raw input handle.
hidclass.sys: No longer set the DEVPROPKEY_HID_HANDLE property.
user32: Store the device path as a simple string pointer.
user32: Use registry APIs to enumerate raw input devices.
user32/tests: Add some more tests related to the RAWINPUT structure.
user32: Correctly fill the RAWINPUT structure on WoW64.
win32u: Move NtUserGetRawInputData from user32.
win32u: Move NtUserGetRawInputBuffer from user32.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.10 is now available.
What's new in this release:
- macOS driver converted to PE.
- Mono engine updated to version 7.3.0.
- Windows-compatible Unicode collation.
- Wow64 support in SECUR32.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.x/wine-7.10.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.x/wine-7.10.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.10 (total 56):
3599 Corel Draw 9 printing Issue
5163 Microsoft Office XP 2002 installer reports error 25003 (installation source corrupted), custom action 'CADpc' returns 1603
5989 Cannot run uninstall for IE6
9583 CompareStringW gives incorrect result for some wide strings
10767 lstrcmp and others do not compare punctuation characters correctly
16142 Adobe Reader 9.0 outputs error after install, that multiple instances are running
19743 Acrobat Reader 5 crashes on startup (InterTrust 'docbox.api' plugin incompatible with Windows 7+)
22603 Can't print page in IE6
25280 Singularity: no sound in game without Hardware Acceleration = emulation
26909 HaoZip: Cannot navigate to drive_c
28437 Panzer Corps: no intro video (requires WMV1 codec)
30503 Echo: Secrets of the Lost Cavern upside down on BACKBUFFER
33209 Tribes: Ascend cannot authenticate user
34025 IE8 help exits silently
34026 IE8 help pages are blank
37614 Applications do not always start inside a configured virtual desktop
37877 boincmgr crashes with wxWidgets error with WinVer > Win81
38929 Betfair Poker setup fails to connect to the server
38931 Betfair Poker log-in stops
46155 Multiple applications need KERNEL32.dll.RaiseFailFastException (RoyalTS v5, Windows PowerShell Core 6.1 for ARM64)
46775 Steam crashes when attempting to access controller settings for desktop or general
46857 Steam menus are hidden by macOS native window decoration
48011 Rebelbetting: unhandled exception on exit
48025 Betfair Poker crashes
48270 Rebelbetting sometimes returns insanely high numbers
48718 unimplemented function KERNEL32.dll.RaiseFailFastException
49052 Japanese Visual Novel "Natural Vacation" doesn't start (ENIGMA 5.X protected)
51572 Crash when opening notes panel in Logos Bible Software
51665 Multiple applications need IDXGIAdapter3::RegisterVideoMemoryBudgetChangeNotificationEvent() (HITMAN 2 (2018), FAR mod for Nier: Automata)
51788 windowscodecs:wmpformat test_decode() fails randomly
51936 Honeygain forgets user details
52032 Bad Mouse Pointer under 32bits app (Poser)
52127 SlingPlayer 2 crashes on load
52218 Honeygain exits silently
52458 Lazarus can't start program for debugging
52513 CEF does not work with sandbox
52747 Notepad crashes on a StaticColor X display
52863 kernel32:actctx fails on Windows 10 1909
52870 shlwapi:url - The UrlGetPartA() tests fails with a UTF-8 code page
52882 GPU Caps Viewer 1.54 crashes on start
52918 Corrupted textures in Visual Studio 2010 using native WPF interfaces.
52956 Star Citizen crashes on unimplemented function kernel32.dll.SetThreadInformation
52972 wineusb.sys: add_usb_device erroneously releases critical section on failure path
52973 A file containing special characters in its name is unreadable/unusable
53003 XM6 TypeG: some MIDI note-on messages aren't sent to MIDI devices (MIDI running status isn't supported in the MIDI mapper)
53005 quartz:systemclock Fails after timeGetTime() wraps
53010 Split/Second crashes on launch
53016 Steam fails to load pages
53020 EA Origin is unable to download games
53022 Hitomi downloader (Technical Preview) crashes at start
53027 Port Royale 4 crashes with wined3d_texture*
53034 Lazarus: menu text disappears under mouse if light theme is enabled
53051 Kvaser software crashes on unimplemented function ntoskrnl.exe.ExNotifyCallback
53061 Alcoma ASD Client 11.1 fails to start due to missing unicode exports in tapi32
53079 Linker error during build. winegstreamer:wg_transform.c:526: undefined reference to `gst_sample_set_info'
53080 Powershell Core crash in FindNLSStringEx
----------------------------------------------------------------
Changes since 7.9:
Akihiro Sagawa (6):
midimap: Handle MIDI running status.
winealsa: Use the symbolic name for MIDI_CTL_ALL_SOUNDS_OFF.
winealsa: Handle MIDI running status.
wineoss: Fix missing break statement.
wineoss: Handle MIDI running status.
winecoreaudio: Handle MIDI running status.
Alex Henrie (3):
ntoskrnl: Add ExNotifyCallback stub.
ntoskrnl: Add KfRaiseIrql stub.
ntoskrnl: Add KeLowerIrql stub.
Alexandre Julliard (28):
zlib: Import upstream release 1.2.12.
lcms: Import upstream release 2.13.1.
xml2: Import upstream release 2.9.14.
kernel32/tests: Don't use strcmp() to compare sortkeys.
kernelbase: Don't ignore the specified locale in LCMapStringA/W.
kernelbase: Don't ignore the specified locale in CompareStringW.
kernel32/tests: Pass a locale instead of a codepage to CompareStringA/W.
kernelbase: Reimplement sortkey generation using the sortdefault.nls data.
kernelbase: Add support for character expansion in sortkeys.
kernelbase: Add support for character compression in sortkeys.
kernelbase: Add support for Hangul composition in sortkeys.
kernelbase: Add support for Kana extra weights in sortkeys.
kernelbase: Add support for SORT_DIGITSASNUMBERS in sortkeys.
kernel32/tests: Add a few more sortkey tests.
kernel32/tests: Add an option to generate sortkeys from an input file.
kernelbase: Reimplement CompareStringEx using the sortkey generation code.
kernelbase: Reimplement FindNLSStringEx/W using the sortkey generation code.
kernelbase: Remove no longer needed case table initialization.
make_unicode: Get rid of the old collation table.
kernelbase: Fix typo in null pointer check.
kernelbase: Fix checks for valid locale in LCMapStringW/Ex.
kernelbase: Add a helper function to case-map an entire buffer.
kernelbase: Add a helper function to map an entire buffer to full width.
kernelbase: Add a helper function to map an entire buffer to half width.
kernelbase: Add a helper function to simplify flags checking in LCMapStringEx().
kernelbase: Initialize all the compression tables the first time.
wininet/tests: Update WineHQ certificate.
secur32/tests: Update for new WineHQ certificate.
Alistair Leslie-Hughes (5):
winex11.drv: Define ControlMask when not available.
include: Add THREAD_POWER_THROTTLING_STATE type.
ntdll: Fake success for ThreadPowerThrottlingState.
d3drm: Implement IDirect3DRMTexture3::{Get,Set}DecalTransparency().
d3drm: Implement IDirect3DRMTexture3::{Get,Set}DecalSize().
Andrew Eikum (3):
xaudio2/tests: Remove failing legacy CLSID tests.
d3d9/tests: Add desktop window tests for IDirect3DDevice9Ex.
d3d9/tests: Demonstrate that NULL HWNDs don't prevent device creation.
André Zwing (2):
l3codeca.acm: Avoid mpg123 functions with suffix.
mp3dmod: Avoid mpg123 functions with suffix.
Anton Baskanov (5):
quartz/tests: Use correct media types in MPEG audio decoder tests.
quartz/tests: Add tests for MPEG audio decoder streaming events.
winegstreamer: Add seeking passthrough to MPEG audio decoder.
winegstreamer: Implement IQualityControl in MPEG audio decoder.
quartz/tests: Add tests for MPEG audio decoder quality control.
Bernhard Kölbl (15):
windows.media.speech/tests: Fix a few typos.
windows.media.speech/tests: Remove an unnecessary todo_wine_if.
windows.media.speech: Add IAsyncAction iface.
windows.media.speech: Add IAsyncInfo to IAsyncAction.
windows.media.speech: Partially implement IAsyncAction.
windows.media.speech: Make IAsyncAction concurrent.
windows.media.speech: Replace STDMETHODCALLTYPE with WINAPI on synthesis functions.
windows.media.speech: Refactor function params in synthesizer.c.
windows.media.speech: Make use of DEFINE_IINSPECTABLE for IClosable from ISpeechSynthesizer.
windows.media.speech: Remove redundant speech prefix.
windows.media.speech: Make use of DEFINE_IINSPECTABLE for IInstalledVoicesStatic from SpeechSynthesizer statics.
windows.media.speech: Simplify QueryInterface functions in synthesizer.c.
windows.media.speech: Remove some empty lines.
windows.media.speech: Rename variable out to impl in factory_ActivateInstance.
windows.media.speech: Add some comments to describe the code regions in synthesizer.c.
Brandon Moore (1):
msadpm: Stop decoding instead of crashing for invalid adpcm data.
Brendan Shanks (6):
kernelbase: Add RaiseFailFastException stub.
win32u: Fix typo in NtUserGetIconInfo.
wow64: Ensure SECURITY_DESCRIPTOR fields are always initialized.
ntdll: Store Wow64 FS selector in thread_data.
ntdll: Set up 32-bit segments to support Wow64 on macOS 10.15+.
avicap32: Fail gracefully if V4L is unavailable.
Charles Davis (10):
wined3d: Move WINED3DFMT_FLAG_FLOAT to a separate group.
wined3d: Move WINED3DFMT_FLAG_INTEGER to the attributes group.
wined3d: Move WINED3DFMT_FLAG_NORMALISED to the attributes group.
wined3d: Move WINED3DFMT_FLAG_BUMPMAP to the attributes group.
wined3d: Move WINED3DFMT_FLAG_EXTENSION to the attributes group.
wined3d: Move WINED3DFMT_FLAG_BLOCKS, BROKEN_PITCH, and BLOCKS_NO_VERIFY to the attributes group.
wined3d: Move WINED3DFMT_FLAG_COMPRESSED and HEIGHT_SCALE to the attributes group.
wined3d: Move WINED3DFMT_FLAG_MAPPABLE to the attributes group.
wined3d: Move WINED3DFMT_FLAG_CAST_TO_BLOCK to the attributes group.
wined3d: Rename format flags to caps.
Dmitry Timoshkov (2):
crypt32: CryptAcquireCertificatePrivateKey() should reset last error code on success.
d2d1/tests: Add some tests for bitmap mapping.
Eric Pouech (8):
winedbg: Simplify character output.
winedbg: Fix retrieving integral values.
winedbg: Redefine internal types with predefined sizes.
winedbg: Use data model for basic type on input.
winedbg: Do type / id discrimination when parsing.
winedbg: Extend 'print' command to work with types.
winedbg: Remove FORCE_DEREF expressions.
user32: Enable compilation with long types.
Esme Povirk (3):
mscoree/tests: Use wait_child_process for csc process.
wmphoto: Zero user buffer before calling jxrlib Copy.
mscoree: Update Wine Mono to 7.3.0.
Fabian Maurer (1):
kernel32/tests: Add a number of Unicode collation tests.
Floris Renaud (1):
joy.cpl: Resize text boxes.
Gabriel Ivăncescu (18):
include: Add IDOMProgressEvent interface and dispinterface.
mshtml: Implement timeout for XMLHttpRequest.
mshtml: Use binary search when looking up events by name.
mshtml: Use an event mask and list in XMLHttpReqEventListener.
mshtml: Implement ontimeout event for XMLHttpRequest.
winepulse: Try to obtain shorter device names if it exceeds 62 chars.
mmdevapi: Don't clear possibly uninitialized PropVariant.
mmdevapi: Warn if returned device name is too long.
mshtml: Handle empty strings in heap_strndupWtoU.
mshtml: Handle empty status text when processing the response.
mshtml: Abort on a cancelled async request properly.
mshtml: Return actual status in nsChannel_GetStatus.
jscript: Don't allow starting script using state from uninitialized.
jscript: Setup builtin function when the dispid is retrieved.
jscript: Don't execute any functions if script state does not allow it.
jscript: Forward actual error in to_primitive if it's not just missing prop.
jscript: Release all globals when the script is uninitialized.
jscript: Don't allow construction on builtin methods.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.215.
Hans Leidekker (12):
crypt32: Add support for decoding OCSP_BASIC_REVOKED_INFO structures.
cryptnet: Give precedence to OID_AUTHORITY_INFO_ACCESS in verify_cert_revocation().
crypt32/tests: Add more OCSP revocation tests.
secur32: Add support for SCH_CREDENTIALS.
mshtml: Implement HTMLStorage_getItem().
mshtml: Implement HTMLStorage_setItem().
mshtml: Implement HTMLStorage_removeItem().
mshtml/tests: Add HTMLStorage tests.
mscms/tests: Add TranslateBitmapBits tests.
mscms/tests: Get rid of workarounds for old Windows versions.
mscms: Get rid of an unused structure.
mscms: Use CRT memory allocation functions.
Hugh McMaster (5):
conhost: Split first font code path from font update code path.
conhost: Set correct face name when the specified font is not available.
conhost: Save console settings as global defaults on first run.
conhost: Only save app-specific settings that differ from the defaults.
conhost: Don't prompt the user to save their app-specific settings.
Huw D. M. Davies (3):
gdi32: Remove second initialization of emf->dc_attr.
gdi32: Free the client-side emf dc info.
kernelbase: Avoid relying on the exception handler to test that handle != NULL.
Jacek Caban (55):
winemac: Directly use win32u for user functions in display.c.
winemac: Directly use win32u for user functions in clipboard.c.
winemac: Directly use win32u in more places.
winemac: Directly use win32u for user functions in mouse.c.
winemac: Directly use win32u for user functions in opengl.c.
winemac: Directly use win32u for user functions in window.c.
winemac: Remove CF_BITMAP format handling.
winemac: Remove CF_METAFILEPICT format handling.
winemac: Use CFSTR_INETURLW instead of deprecated CFSTR_SHELLURLW.
winemac: Use NtUserSetClipboardData to import clipboard data.
winex11: Properly initialize set_clipboard_params struct.
winemac: Store driver thread data pointer in TEB.
winemac: Directly use win32u in query_pasteboard_data.
winemac: Directly use wine_unix_to_nt_file_name.
winemac: Directly use wine_nt_to_unix_file_name.
winemac: Use libc for driver memory allocation.
winemac: Don't use MultiByteToWideChar in macdrv_GetKeyNameText.
winemac: Don't use snprintfW in macdrv_GetKeyNameText.
winemac: Use ntdll for UTF8 conversion.
winemac: Use ntdll for Unicode conversion in export_hdrop_to_filenames.
winemac: Use NtUserSetClipboardData in set_win32_clipboard_formats_from_mac_pasteboard.
winemac: Directly use ntdll in more places.
winemac: Directly use ntdll in get_lcid.
winemac: Directly use ntdll in macdrv_vkQueuePresentKHR.
winemac: Directly use win32u in more places.
winex11: Detect system cursors from cursor module name in create_xcursor_system_cursor.
winemac: Detect system cursors from cursor module name in copy_system_cursor_name.
winemac: Use window messages instead of named pipe for macdrv_UpdateClipboard implementation.
win32u: Introduce NtUserClipboardWindowProc.
explorer: Create clipboard manager thread when creating a desktop.
winex11: Use ClipboardWindowProc driver entry point for clipboard manager.
winemac: Use ClipboardWindowProc driver entry point for clipboard manager.
win32u: Use user_callbacks for alertable NtWaitForMultipleObjects calls.
winemac: Move DllMain to separated file.
winemac: Avoid PE calls in systray.c.
winemac: Move wine_notify_icon implementation to dllmain.c.
winemac: Use unixlib interface for IME calls.
winemac: Move macdrv_sent_text_input to event.c.
winemac: Use unixlib interface for macdrv_ime_set_text calls.
winemac: Use unixlib interface for macdrv_ime_query_char_rect.
winemac: Use unixlib interface for macdrv_clear_ime_text.
winemac: Use unixlib for query_drag_exited.
winemac: Don't share debugstr_format between dragdrop.c and clipboard.c.
include: Provide iswspace, wcstol and wcstoul in unixlib.h.
winemac: Rename MOUSE_MOVE_RELATIVE to avoid collision with wincontypes.h.
winemac: Use unixlib interface for query_drag_drop.
winemac: Use unixlib interface for query_drag_operation.
winemac: Use unixlib interface for dragdrop.c calls.
winemac: Use unixlib interface for macdrv_dnd_get_data.
winemac: Use unixlib interface for macdrv_app_quit_request.
winemac: Use unixlib interface for macdrv_app_icon.
winemac: Don't use sprintfW in copy_system_cursor_name.
winemac: Move driver implementation to unixlib.
winemac: Build with msvcrt.
winemac: Don't use unicode.h.
Jactry Zeng (2):
user32/tests: Add more tests of SetClipboardData().
win32u/clipboard: Set handle of bitmap and palette as system object.
Jinoh Kang (6):
include: Mark IShellItem::BindToHandler's pbc parameter as [unique].
include: Mark IPersistFolder3::InitializeEx's optional parameters as [unique].
include: Define fast fail codes and the __fastfail() intrinsic.
ntdll/tests: Add tests for __fastfail().
ntdll: Implement __fastfail().
ntdll: Properly parse UDF instruction in ARM.
Julian Klemann (1):
ws2_32: Add WSAConnectByName() functions.
Limstash Wong (1):
taskmgr: Fix the unit in memory usage graph on performance tab.
Matteo Bruni (5):
wined3d: Don't touch GL sRGB decode state when not supported.
d3d9/tests: Fix typo.
wined3d: Allow blits with fixups in the FFP blitter without a shader backend.
wined3d: Assert that the CS queue size is a power of two.
wined3d: Add some state table consistency checking to context_invalidate_state().
Nikolay Sivov (56):
evr/sample: Use proper locking method for SetAllocator().
vbscript: Fix a typo in sizeof() (Coverity).
vbscript: Handle negative argument in Space().
d3drm/tests: Use test context for test ran in a loop.
vbscript: Handle null arguments in MonthName().
vbscript: Implement TimeSerial().
d2d1/effect: Store shader id itself, not a pointer to it.
d2d1/effect: Add a helper to append shader objects to the context.
kernel32/tests: Run process information tests over defined test data.
include: Add some more process information class constants.
ntdll/tests: Use NtQueryInformationProcess() directly.
secur32: Remove unused field from struct schan_transport.
d3d11: Always initialize out shader pointer in CreateVertexShader().
d3d11: Always initialize out shader pointer in CreateGeometryShader().
d3d11: Always initialize out shader pointer in CreateGeometryShaderWithStreamOutput().
d3d11: Always initialize out shader pointer in CreatePixelShader().
d3d11: Always initialize out shader pointer in CreateHullShader().
d3d11: Always initialize out shader pointer in CreateDomainShader().
d3d11: Always initialize out shader pointer in CreateComputeShader().
secur32: Simplify get_session_peer_certificate unixlib interface.
secur32: Use 64-bit integer to store session pointer.
secur32: Simplify parameters structure of credentials allocation call.
secur32: Add explicit output parameter for create_session() request.
secur32: Use CRT allocation functions for get_key_blob().
secur32: Zero initialize context for create_session() call.
d2d1/tests: Add some tests for invalid bitmap options.
d2d1: Create staging texture with read access for bitmaps with D2D1_BITMAP_OPTIONS_CPU_READ.
d2d1: Explicitly validate bitmap options for CreateBitmap().
d2d1/tests: Test bitmap options when created from existing surface.
d2d1: Implement bitmap mapping.
kerberos: Use 64-bit integer for credential handles.
kerberos: Use 64-bit integer for context handles.
kerberos: Pass input/output tokens directly for accept_context() call.
kerberos: Pass input/output buffers directly for make_signature() call.
kerberos: Pass input/output buffers directly for verify_signature() call.
kerberos: Pass input/output buffers directly for seal_message() call.
kerberos: Pass input/output buffers directly for unseal_message() call.
kerberos: Pass input/output buffers directly for initialize_context() call.
kerberos: Separate ticket query function from call handler.
kerberos: Add wow64 support to the unixlib.
d2d1: Use bitmap options to check if mapping is supported.
d2d1: Derive bitmap options from surface description in CreateBitmapFromDxgiSurface().
d2d1: Derive bitmap options from surface description in CreateSharedBitmap().
d2d1: Validate bitmap options against surface description in CreateBitmapFromDxgiSurface().
secur32: Remove unused argument from buffer iteration helpers.
secur32: Manage gnutls transport data in unixlib.
secur32: Pass single input and output buffers for handshake call.
secur32: Simplify input buffer handling for schan_recv() call.
secur32: Update output buffer offset on return from schan_send() call.
secur32: Prepare schan_send() buffers on PE side.
secur32: Get rid of buffer iteration callback in unixlib.
secur32: Remove duplicate check.
secur32: Remove unused pointer parameter from send request.
secur32: Use 32-bit sizes in parameters structures.
secur32: Store certificate credentials object pointer as 64-bit.
secur32: Add wow64 support to the unixlib.
Paul Gofman (2):
wininet: Return INTERNET_RAS_INSTALLED flag from InternetGetConnectedStateExW().
winex11.drv: Avoid adding duplicate GPUs.
Piotr Caban (2):
d3dx10: Try loading the resource as bitmap in D3DX10CreateAsyncResourceLoader.
d3dx10: Add D3DX10CreateAsyncTextureInfoProcessor stub.
Robert Wilhelm (1):
scrrun: Check for null arguments in MoveFile.
Roman Pišl (4):
tapi32: Add lineGetCallInfoW stub.
tapi32: Add lineGetDevConfigW stub.
tapi32: Add lineGetIconW stub.
tapi32: Add lineSetDevConfigW stub.
Rémi Bernon (67):
ntdll: Ignore free list headers in HEAP_FindFreeBlock.
ntdll: Use block helpers in find_free_block.
ntdll: Cleanup and rename HEAP_CreateFreeBlock to create_free_block.
ntdll: Introduce new helper to update block type.
ntdll: Introduce new helper to update block flags and size.
ntdll: Use block helpers in create_free_block.
include: Add missing __WINE_DEALLOC(HeapFree) attribute size index.
include: Add missing __WINE_DEALLOC attribute to RtlReAllocateHeap.
wineoss: Add missing parentheses for GetProcessHeap call.
kernel32/tests: Workaround (Local|Global|Heap)Free warnings.
kernelbase: Workaround Local(Alloc|Free) invalid access warnings.
ntdll: Merge HEAP_InsertFreeBlock with create_free_block.
ntdll: Cleanup and rename HEAP_MakeInUseBlockFree to free_used_block.
ntdll: Use block helpers in free_used_block.
ntdll: Move subheap decommit hysteresis to free_used_block.
ntdll: Use the subheap helpers in HEAP_Commit / HEAP_Decommit.
ntdll: Introduce a new subheap_overhead helper.
widl: Remove set but unused variable.
qasf/tests: Add more ASF Reader filter tests.
qasf: Constify filter_ops.
qasf: Rename variables and functions.
qasf: Create and open a WMReader in the ASF Reader filter.
qasf: Implement ASF Reader filter stream stubs.
ntdll: Consistently use a heap local variable.
ntdll: Remove base member from SUBHEAP struct.
ntdll: Move min commit size to main heap struct.
ntdll: Add a first heap block member to the subheap.
ntdll: Prefer using block size rather than data size.
ntdll: Store the block size directly in block headers.
winegstreamer: Append a videoconvert element to wg_transform video output.
winegstreamer: Set wg_transform output sample size on gst_buffer_map failure.
winegstreamer: Return early if output buffer is too small.
winegstreamer: Avoid leaking buffer list in wg_transform_read_data.
winegstreamer: Only filter video caps attributes when format uses 0.
winegstreamer: Track caps changes and keep them with the output buffers.
winegstreamer: Support wg_transform output format change events.
winegstreamer: Expose output media type attributes from the stream format.
ntdll: Rename block specific flag constants.
ntdll: Use flag combination to mark free list headers.
ntdll: Use a block member in the free list entry struct.
ntdll: Rename freeList variables to free_list.
ntdll: Use struct entry directly for the free lists.
ntdll: Fix handling of back pointer in heap_set_debug_flags.
ntdll: Split valgrind memory access control to separate helpers.
ntdll: Correctly free pending pointer in RtlDestroyHeap.
ntdll: Call valgrind alloc notifications at the topmost level.
ntdll: Merge common resize case in heap_realloc.
ntdll: Remove tail checking on large blocks.
include: Add touch and pointer input related winuser.h declarations.
kernelbase: Convert RtlWalkHeap structure on input too.
ntdll: Fix handling of free blocks in RtlWalkHeap.
ntdll: Call mark_block_tail outside of initialize_block.
ntdll: Use a fixed block tail size.
ntdll: Remove unnecessary constants and typedefs.
ntdll: Improve block size rounding compatibility.
ntdll: Round free block size to block size alignment.
ntdll: Use a more compact block layout.
dinput/tests: Move bus PDO ioctl handling to a separate helper.
dinput/tests: Enforce ioctl buffer sizes to avoid overflows.
dinput/tests: Fix source file in driver test context.
dinput/tests: Support test IOCTLs on the bus control interface.
dinput/tests: Add a test for multiple top-level collections.
winegstreamer: Use a custom flag instead of sample info for caps change.
winegstreamer: Reply with a video buffer pool to ALLOCATION queries.
winegstreamer: Request native buffer alignment using video pool meta.
winegstreamer: Support mapping of MF_MT_MINIMUM_DISPLAY_APERTURE.
winegstreamer: Enforce frame size in H264 decoder SetOutputType.
Stefan Dösinger (5):
wined3d: Add a memory_colour_fill path for clearing the entire level to zero.
wined3d: Prepare sysmem LOCATION_CLEARED handling for non-zero colors.
wined3d: Handle WINED3DFMT_D32_FLOAT in wined3d_format_convert_from_float.
wined3d: Store clear colors in subresources.
d3d9/tests: Extend color_fill_test.
Zebediah Figura (16):
wined3d: Correctly handle 3D textures in wined3d_view_{load, invalidate}_location().
d3d11/tests: Add a test for 2D partial RTV slices of a 3D texture.
d3d10core/tests: Add a test for 2D partial RTV slices of a 3D texture.
wined3d: Do not accelerate NOOVERWRITE maps if we cannot map persistently.
wined3d: Always unmap buffer objects if ARB_buffer_storage is not supported.
user32: Populate the RID_DEVICE_INFO structure in add_device().
user32: Handle failure from HID APIs.
user32: Retrieve the usage page and usage directly from the hid_preparsed_data structure.
user32: Use GUID_DEVINTERFACE_HID directly.
user32: Use HID ioctls directly.
user32: Factor out raw input device enumeration.
d3d10core/tests: Add a regression test for writing to the stencil buffer after clearing it.
wined3d: Store whether a depth/stencil state writes to the depth/stencil buffer in the state itself.
wined3d: Invalidate the depth/stencil view if the depth/stencil state may be written.
wined3d: Consider the depth write mask in depth_stencil_state_desc_writes_ds() only if depth testing is enabled.
user32: Perform HID ioctls on the right file handle.
Zhao Yi (1):
mscms: Return the correct value for bmformat.
Zhiyi Zhang (4):
dxgi: Implement adapter video memory budget change notification.
uxtheme: Support parsing menu class.
light.msstyles: Add Menu parts.
win32u: Create a dummy bitmap for display device contexts.
Ziqing Hui (12):
d2d1/tests: Add tests for effect register.
d2d1/tests: Add device context field to test context.
d2d1/tests: Add factory fields to test context.
d2d1/tests: Add tests for effect context.
d2d1: Implement ID2D1EffectContext_IsShaderLoaded().
d2d1/tests: Test effect property if register effect multiple times with different xml.
d2d1/tests: Test registering effect multiple times with different binding.
d2d1/tests: Add more effect xml.
xmllite/tests: Test depth for MoveToAttributeByName().
xmllite: Increase depth in reader_set_current_attribute().
d2d1/tests: Test custom effect properties.
d2d1/tests: Test unregistering effect which has existing instance.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.9 is now available.
What's new in this release:
- Preliminary work towards PE conversion of macOS driver.
- A number of fixes for test failures on Windows.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.x/wine-7.9.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.x/wine-7.9.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.9 (total 35):
14841 ntdll:file tests are flaky
19183 "make test" still fails on d3d9/tests/visual.c
28220 kernel32/process.ok: test fails when redirected
28508 user32:monitor tests fail occasionally
34782 crypt32/chain tests crash with gcc-4.8.1 (win64)
39346 Lego Rock Raiders crashes on startup (d3drm_device_init doesn't handle device version 3 case)
45959 Editpad Lite 7 GUI not rendered correctly
45960 Editpad Lite 7 displays empty boxes instead of text in some menus
49285 PNotesPortable crashes inside WritePrivateProfileStructW
50462 Ulead Photo Explorer 8.5 crashes on startup (needs {4a2286e0-7bef-11ce-9bd9-0000e202599c} CLSID_CMpegAudioCodec)
51104 mf:mf crashes on Windows + AMD/NVidia
51283 d3d8:device breaks evr:evr on w7u-2qxl
51297 d3d8:visual & d3d9:visual, test_sample_mask() fails on Nvidia (cw-gtx560)
51298 d3d8:visual: lighting_test() fails on Windows 10 >= 2004
51376 Wine causes PC to lock or crash wine when loading more than 1 VST addon into WaveLab 6
51612 Stellaris launcher (Paradox) does not launch
51680 nsi:nsi test_ip_neighbour() fails on unreachable link local entry
51783 The ieframe:webbrowser output is too big in Wine
51827 d3dx10_34:d3dx10 crashes on all versions of Windows
52686 DateAdd not implemented
52751 `winetricks nocrashdialog` no longer works properly with Wine 7.5(but works with 7.4)
52761 mscoree:mscoree test fails without a display or console
52821 Cxbx Reloaded needs unimplemented function msvcp140_atomic_wait.dll.__std_atomic_wait_direct
52848 Mavis Beacon Teaches Typing 15: Typed characters not spaced correctly
52874 win32u change prevents chromium from starting
52892 The 64-bit ntdll:thread fails on w7pro64 and w864
52908 mf:mf - The 64-bit test_wma_decoder() fails on 64-bit Debian 11 + Intel
52914 mf:mf - The 64-bit test_h264_decoder() fails on 64-bit Debian 11 + Intel GPU
52937 msvcr110:msvcr110 fails on Windows with the UTF-8 codepage
52961 crypt32:str - test_CertGetNameString() fails on Windows 7
52969 mshtml:script fails on up-to-date Windows 8.1 machines
52970 kernelbase:process breaks lz32:lzexpand_main on Windows 1809+
52975 VTFEdit fails to start: err:module:LdrInitializeThunk "MSVCP80.dll" failed to initialize, aborting
53004 63ce060 causes a white border line in winecfg
53015 winscp bookmark adding error
----------------------------------------------------------------
Changes since 7.8:
Alexandre Julliard (2):
kernelbase: Move get_language_sort() to avoid forward declarations.
kernelbase: Cache the sortid for each locale.
Alistair Leslie-Hughes (7):
d3drm: Support IDirect3D3 when creating device.
include: Add TF_TMF/TMAW defines.
dwmapi: Clear DWM_TIMING_INFO structure before returning.
d3drm: IDirect3DRMMeshBuilder2 Get/SetQuality.
d3drm: IDirect3DRMTexture3 Get/SetDecalOrigin.
d3drm: IDirect3DRMTexture3 Get/SetColors.
d3drm: IDirect3DRMTexture3 Get/SetShades.
Andrew Eikum (5):
mfplat: Allow NULL length pointer in IMFAttributes::GetAllocatedString.
mfplat: Consolidate stream and file IMFByteStream vtables.
mfplat: Simplify IMFByteStream async Read/Write methods.
mfplat: Consolidate stream and file IMFByteStream Read/Write callback vtables.
mfplat/tests: Add tests for IMFByteStream position.
Anton Baskanov (5):
include: Add IMpegAudioDecoder definition.
winegstreamer: Add IMpegAudioDecoder stub to MPEG audio decoder.
winegstreamer: Register MPEG audio decoder.
quartz/tests: Add tests for MPEG audio decoder sample timestamps.
winegstreamer: Set sample timestamps in MPEG audio decoder.
Bernhard Kölbl (11):
windows.media.speech: Add a missing trace to async_operation_create.
windows.media.speech/tests: Make the IAsyncInfo_Close block test more consistent.
windows.media.speech/tests: Remove some unreliable ref checks.
windows.media.speech/tests: Add a test for IAsyncOperation_get_Completed.
windows.media.speech: Rename async_operation to async_inspectable.
windows.media.speech/tests: Remove a inconsistent ref check.
windows.media.speech: Rename impl_from_IAsyncInfo to async_inspectable_impl_from_IAsyncInfo.
windows.media.speech/tests: Retype AsyncOperationCompletedHandler to IInspectable.
windows.media.speech/tests: Add await helper for IAsyncOperation.
windows.media.speech/tests: Make use of a helper function for IAsyncInfo checking.
windows.media.speech/tests: Add some recognition tests.
Brendan Shanks (10):
ntdll/tests: Fix thread test failure on Windows.
include: Add WINE_ALLOC_SIZE attribute to CoTaskMemRealloc().
include: Add WINE_ALLOC_SIZE attribute to RtlReAllocateHeap().
include: Add WINE_ALLOC_SIZE attribute to ExAllocatePool functions.
include: Add WINE_ALLOC_SIZE attribute to MmAllocate functions.
include: Add __WINE_MALLOC attribute and use it for allocation functions.
include: Add __WINE_DEALLOC attribute and use it for allocation functions.
crypt32/tests: Fix mismatched deallocation function.
ntdll: Use 32-bit stack in alloc_fs_sel().
ntdll: Avoid truncating pointer to 32-bits in get_cpu_area().
Charles Davis (6):
configure: Check for struct icmpstat.
nsiproxy.sys: Implement IPv6 icmpstats get_all_parameters on Mac OS and BSD.
nsiproxy.sys: Implement IPv6 ipstats get_all_parameters on Mac OS and BSD.
d3d11/tests: Test logic op.
d3d11: Implement ID3D11Device1::CreateBlendState1().
ntdll: Implement idle time query for Mac OS.
Connor McAdams (2):
oleacc/tests: Add tests for retrieving an IAccessible contained within a Dynamic Annotation wrapper.
oleacc: Add support for retrieving an HWND from accNavigate to WindowFromAccessibleObject.
Dmitry Timoshkov (2):
d2d1: Implement ID2D1DeviceContext::CreateImageBrush().
d2d1/tests: Add some tests for ID2D1DeviceContext::CreateImageBrush().
Drew Ronneberg (1):
ole32: Remove obsolete -D_OLE32_ from Makefile.in.
Eric Pouech (12):
winepulse.drv: Use correct integral type.
winepulse.drv: Enable compilation with long types.
winecoreaudio: Enable compilation with long types.
capi2032: Enable compilation with long types.
winspool: Enable compilation with long types.
winevulkan: Enable compilation with long types.
winedbg: Introduce struct data_model to describe the various models for base types.
winedbg: Add 'set' command to change data model.
dbghelp: Let symt_basic be trans-module and nameless.
dbghelp: Fix conversion of dwarf's basic types into dbghelp's basic types.
dbghelp: Set correct basic types definition.
include: Use Mingw64's __uuidof when present.
Fabian Maurer (1):
kernel32: Prevent null pointer dereference in WritePrivateProfileStructW.
François Gouget (4):
shell32: Shelllink: Make the create_lnk() failure messages unique.
comctl32/tests: Use winetest_push_context() in tooltip:test_customdraw().
mstask/tests: Ignore the compare_trigger_state() return value.
mstask/tests: Fix the compare_trigger_state() failure lines.
Gabriel Ivăncescu (8):
mshtml/tests: Fix Number toLocaleString test on updated Win 8.1.
jscript: Handle detached scope objects 'this' in all calls.
jscript: Pass undefined 'this' instead of null in ES5 mode.
mshtml: Expose IHTMLDOMImplementation2 members in IE9+ modes.
mshtml: Implement HTMLDOMAttribute2's name property.
mshtml: Implement window.cancelAnimationFrame.
mshtml/tests: Add test for clearing timers with id zero.
mshtml: Convert varAsync to bool if needed.
Georg Lehmann (3):
winevulkan: Prevent infinite recursion in make_vulkan.
winevulkan: Update to VK spec version 1.3.213.
winevulkan: Update to VK spec version 1.3.214.
Gijs Vermeulen (1):
shell32/tests: Use 'shellpath' as tmpfile name in PathResolve tests.
Hans Leidekker (1):
msi/tests: Fix an intermittent test failure.
Henri Verbeet (2):
maintainers: Update the Direct3D section.
maintainers: Update the Direct2D section.
Huw D. M. Davies (1):
winecoreaudio: Remove DWORDs from the midi syscall interface.
Jacek Caban (35):
win32u: Move default WM_GETICON implementation from user32.
win32u: Move default WM_PAINT implementation from user32.
win32u: Move more default window commands from user32.
win32u: Move default WM_ERASEBKGND implementation from user32.
win32u: Move default WM_WINDOWPOSCHANGING implementation from user32.
win32u: Handle sys color brushes in fill_rect.
user32: Remove no longer used WINPOS_WindowFromPoint.
winemac: Directly use ntdll in setup_options.
winemac: Directly use ntdll for querying display settings.
winemac: Directly use ntdll to write display settings.
winemac: Directly use ntdll for display device mutex.
winemac: Directly use ntdll in get_display_device_reg_key.
winemac: Directly use ntdll for registry access in init_original_display_mode.
winemac: Directly use ntdll for registry access in write_display_settings.
winemac: Directly use ntdll for registry access in create_original_display_mode_descriptor.
winemac: Directly use ntdll for registry access in copy_system_cursor_name.
winemac: Use pthread for display locking.
winemac: Use pthread for GDI device locking.
winemac: Use pthread for keyboard list locking.
winemac: Use pthread for cursor cache locking.
winemac: Use pthread for synchronization in opengl.c.
winemac: Use pthread for window data locking.
winemac: Use pthread_once for wine_vk_init.
win32u: Move NtUserSetWindowPlacement implementation from user32.
win32u: Move NtUserSetInternalWindowPos implementation from user32.
win32u: Export NtUserGetWindowPlacement.
win32u: Move desktop window proc implementation from user32.
win32u: Introduce DesktopWindowProc driver entry point.
winex11: Implement DesktopWindowProc driver entry point.
winemac: Implement DesktopWindowProc driver entry point.
winemac: Directly use win32u for GDI functions in image.c.
winemac: Directly use win32u for GDI functions in mouse.c.
winemac: Directly use win32u for GDI functions in opengl.c.
winemac: Directly use win32u for GDI functions in surface.c.
winemac: Directly use win32u for GDI functions in window.c.
Jactry Zeng (4):
include: Add MIL/DWM HRESULT codes.
dbghelp: Use RtlGetVersion() for system version detection instead.
dwmapi: Use RtlGetVersion() for system version detection instead.
dwmapi: Partially implement DwmGetCompositionTimingInfo().
James McDonnell (2):
include: Add ID2D1PathGeometry1 definition.
d2d1: Add a stub for ID2D1PathGeometry1.
Jan Sikorski (2):
wined3d: Reduce the size of staging BO's for texture uploads.
wined3d: Don't do a full cleanup when waiting for a command buffer.
Jinoh Kang (1):
wineusb.sys: Remove erroneous call to LeaveCriticalSection() in add_usb_device.
Julian Klemann (1):
ws2_32: Add stub for SIO_ENABLE_CIRCULAR_QUEUEING in WSAIoctl().
Louis Lenders (1):
msvcr80: Update manifest resource.
Martin Storsjö (3):
ntdll: Fix a typo in a log message for arm unwind data.
ntdll: Fix accidentally used 64 bit types in signal_arm.c.
msvcrt: Hook up __C_specific_handler and __jump_unwind for arm.
Matteo Bruni (7):
d3dx9/tests: Test D3DXAssembleShader() with both terminated and not terminated include data.
d3dcompiler/asm: Parse negative numbers with a whitespace after the sign.
d3dx9/mesh: Make use of more proper types.
d3dx9/mesh: Split skin header and weights parse functions.
d3dx9/shader: Use more proper integer types.
d3dx9/xfile: Don't unnecessarily use long integer type.
d3dx9: Build without -DWINE_NO_LONG_TYPES.
Nikolay Sivov (26):
mf/session: Do not request more samples when SA sample becomes available.
mfplat/sample: Fix use-after-free of a critical section.
evr/sample: Avoid a race condition when releasing a tracked sample.
evr/sample: Use explicit critical section for release handling.
kernelbase/tests: Close mapping in MapViewOfFile3 test.
mfplat: Allow NULL size pointer in IMFAttributes::GetAllocatedBlob().
d3drm/tests: Build without -DWINE_NO_LONG_TYPES.
mfreadwrite/reader: Allocate output samples on read requests.
vbscript: Implement DateSerial().
mfreadwrite/reader: Propagate resource sharing mode to the sample allocator.
include: Move minidump types to a separate header.
winedump: Output minidump streams in order they appear in the file.
winedump: Cleanup minidump output helpers.
winedump: Add support for dumping handle data stream from minidumps.
winedump: Add support for ThreadInfoListStream stream.
vbscript: Implement DateAdd().
winedump: Add support for dumping UnloadedModuleListStream.
vbscript: Implement Weekday().
vbscript: Handle null arguments in DateSerial().
dwrite/opentype: Fix GPOS PairSet array offset.
ntdll/tests: Add a bit more tests for VM functions.
kernel32/tests: Extend VirtualAllocEx() tests.
kernelbase/tests: Add some VirtualAlloc2() tests.
kernelbase: Fix VirtualAlloc2() when called with NULL process handle.
ntdll/tests: Add a basic test for MEM_RESERVE_PLACEHOLDER.
kernelbase: Add SetThreadInformation().
Paul Gofman (18):
crypt32/tests: Handle CERT_NAME_SEARCH_ALL_NAMES_FLAG being unsupported before Win8.
ntdll: Fix allocation size in grow_logical_proc_ex_buf().
ntdll: Move init_cpu_info() below create_logical_proc_info().
ntdll: Refactor logical processor info manipulation functions.
ntdll: Collect logical processor info at process start.
rsaenh: Use CRT memory allocators.
rsaenh: Handle uneven hash data updates sizes for CALG_MAC.
rsaenh: Factor out block_encrypt() function.
rsaenh: Store key state in hash data for _MAC hash algorithm.
rsaenh: Factor out alloc_key() function.
rsaenh: Allow importing bigger RC2 keys.
rsaenh: Output FIXME when HMAC hash algorithm is not found.
nsiproxy.sys: Update interface table only if find_entry_from_{luid|index} fails.
nsiproxy.sys: Finish search once found in convert_luid_to_unix_name().
nsiproxy.sys: Update interface table only if LUID is not found in convert_luid_to_unix_name().
nsiproxy.sys: Update interface table only if LUID is not found in convert_unix_name_to_luid().
nsi: Allocate a small buffer at once in NsiAllocateAndGetTable().
iphlpapi: Don't request unused dynamic interface data.
Pedro Perdigão (2):
user32/tests: Test an out-of-order RECT in RedrawWindow().
win32u: Allow an out-of-order RECT in RedrawWindow().
Philip Allison (1):
uiautomationcore: Fix header compatibility with C++.
Piotr Caban (5):
msvcr110/tests: Fix setlocale test failure on systems with UTF-8 locales enabled.
msvcrt: Reject UTF-8 locales in setlocale function.
oleacc: Store test IAccessible data in structure.
oleacc: Add IAccessible refcount tests.
msvcr120: Add missing _StructuredTaskCollection destructor spec file entry.
Robert Wilhelm (1):
vbscript: Implement CDate().
Rémi Bernon (83):
winegstreamer: Move MFT registration list out of static scope.
winegstreamer: Register the video processor transform.
mf/tests: Tweak topology loader tests results based on the video processor presence.
mf/tests: Update a broken IMFMediaSink_AddStreamSink result check.
dinput/tests: Wait for the expected report to actually be pending.
windows.gaming.input: AddRef on the returned async handler in get_Completed.
windows.gaming.input: Reset spare CS pointer before deleting it.
windows.gaming.input: Use case insensitive compare when looking for devices.
windows.gaming.input: Register Windows.Gaming.Input.ForceFeedback classes.
windows.gaming.input: Implement stub ConstantForceEffect runtimeclass factory.
ntdll: Lock heap critical section outside of HEAP_IsRealArena.
ntdll: Split HEAP_IsRealArena to heap_validate and heap_validate_ptr.
ntdll: Split RtlAllocateHeap to a separate heap_allocate helper.
ntdll: Split RtlFreeHeap to a separate heap_free helper.
ntdll: Split RtlReAllocateHeap to a separate heap_reallocate helper.
ntdll: Split RtlSizeHeap to a separate heap_size helper.
ntdll: Introduce new block metadata access helpers.
ntdll: Use block size helpers in heap_size.
ntdll: Cleanup HEAP_FindSubHeap and rename it to find_subheap.
ntdll: Check subheap sizes for consistency before using them.
ntdll: Rewrite RtlWalkHeap and enumerate large blocks.
dinput/tests: Increase async bool handler wait timeout.
windows.gaming.input: Implement and instantiate ConstantForceEffect runtimeclass stubs.
windows.gaming.input: Implement IForceFeedbackEffect interface for ConstantForceEffect.
windows.gaming.input: Add a type parameter to force_feedback_effect_create.
windows.gaming.input: Implement IForceFeedbackMotor_LoadEffectAsync.
windows.gaming.input: Implement IForceFeedbackMotor_TryUnloadEffectAsync.
ntdll: Use heap_validate_ptr in validate_block_pointer.
ntdll: Simplify validate_block_pointer.
ntdll: Simplify validate_large_arena.
ntdll: Simplify validate_used_block.
ntdll: Simplify validate_free_block.
hidclass.sys: Clear the buffer passed to IOCTL_HID_GET_DEVICE_DESCRIPTOR.
winexinput.sys: Clear the buffer passed to IOCTL_HID_GET_DEVICE_DESCRIPTOR.
dinput: Store the user_format field inline in struct dinput_device.
dinput: Return an HRESULT from hid_joystick_device_try_open.
dinput: Rename This to device in dinput_device_alloc.
ntdll: Remove unused QUIET/NOISY constants and parameters.
ntdll: Use block helpers to iterate blocks in heap_validate.
ntdll: Use next_block helper to iterate in heap_set_debug_flags.
ntdll: Check that ptr is in committed blocks in find_subheap.
ntdll: Use next_block helper in heap_reallocate.
dinput/tests: Add some Windows.Gaming.Input.ForceFeedback.PeriodicForceEffect tests.
dinput/tests: Add some Windows.Gaming.Input.ForceFeedback.RampForceEffect tests.
dinput/tests: Add some Windows.Gaming.Input.ForceFeedback.ConditionForceEffect tests.
windows.gaming.input: Implement Windows.Gaming.Input.RampForceEffect runtimeclass.
windows.gaming.input: Implement Windows.Gaming.Input.PeriodicForceEffect runtimeclass.
windows.gaming.input: Implement Windows.Gaming.Input.ConditionForceEffect runtimeclass.
mf/tests: Move WMA decoder aggregation tests from wmadmod.
wmadmod: Remove unnecessary DLL.
ntdll: Increase heap large block min size for sizeof(void *) == 8.
ntdll: Fail to allocate large blocks if heap isn't growable.
ntdll: Simplify the fallback case in heap_reallocate.
ntdll: Create free block after updating the size in HEAP_ShrinkBlock.
ntdll: Cleanup HEAP_ShrinkBlock and rename it to shrink_used_block.
ntdll: Update block unused_bytes in shrink_used_block.
dinput/tests: Remove IAsyncOperation reference count checks.
windows.gaming.input: Always assume at least two force feedback axes.
windows.gaming.input: Implement IForceFeedbackEffect_(get|put)_Gain.
windows.gaming.input: Implement IConstantForceEffect_SetParameters(WithEnvelope).
windows.gaming.input: Implement IRampForceEffect_SetParameters(WithEnvelope).
windows.gaming.input: Implement IPeriodicForceEffect_SetParameters(WithEnvelope).
windows.gaming.input: Implement IConditionForceEffect_SetParameters.
dinput: Make sure converted direction values are always positive.
ntdll: Ignore back pointer when validating free block pattern.
ntdll: Use block helpers in subheap_notify_free_all.
ntdll: Rename local variables in heap_reallocate.
ntdll: Rename local variables in heap_allocate.
ntdll: Rename HEAP_FindFreeBlock size parameter.
ntdll: Use block size helpers in heap_reallocate.
winebus.sys: Add support for PID effect gain.
windows.gaming.input: Implement IForceFeedbackEffect_(Start|Stop).
windows.gaming.input: Implement IForceFeedbackEffect_get_State.
windows.gaming.input: Ignore IDirectInputDevice8_GetDeviceState failures.
kernel32/tests: Mark activatableClass wrong xmlns test as broken on w1064v1909.
combase: Use CRT memory allocation functions.
combase: Lookup activatable class library in the activation context.
ntdll: Mask block flags when computing HEAP_InsertFreeBlock size.
ntdll: Set ARENA_FLAG_FREE flag in HEAP_CreateFreeBlock.
ntdll: Move the main subheap after the free lists.
ntdll: Return an entry pointer when looking for a free list.
ntdll: Remove entries from the free list in HEAP_FindFreeBlock.
ntdll: Cleanup HEAP_FindFreeBlock and rename it to find_free_block.
Stefan Dösinger (7):
wined3d: Move clear box clipping to cpu_blitter_clear.
wined3d: Separate mapping from data writing in surface_cpu_blt_colour_fill.
wined3d: Prepare wined3d_format_convert_from_float for > 32bpp formats.
wined3d: Add support for sysmem-clearing float32 formats.
wined3d: Support CPU clear of float16 formats.
wined3d: Mark some d3d9 formats as normalized formats.
wined3d: Make normalized format handling more generic in wined3d_format_convert_from_float.
Sven Baars (1):
d3dx10/tests: Disable a PreloadGlyphs test for d3dx10_34.
Torge Matthies (5):
ntdll: Use correct output buffer size in RtlpNtEnumerateSubKey.
ntdll: Calculate buffer sizes from registry structs correctly.
win32u: Calculate buffer sizes from registry structs correctly.
win32u: Query basic instead of full key information to get the LastWriteTime.
msvcr120: Add tests for _StructuredTaskCollection.
Zebediah Figura (18):
xslt: Use win32config.h from the correct directory.
wineusb.sys: Mark transfer_cb() as LIBUSB_CALL.
wineusb.sys: Avoid hard-coding ID string lengths.
wineusb.sys: Trace the type in query_id().
wineusb.sys: Expose composite device interfaces.
wined3d: Trace bind flags in wined3d_texture_init().
include: Constify the RAWINPUTDEVICE pointer parameter to RegisterRawInputDevices().
shlwapi/tests: Fix a test failure with the UTF-8 code page.
dinput: Store the device_format field inline in struct dinput_device.
dinput: Factor out the dinput_device_init() call into dinput7_CreateDeviceEx().
dinput: Rename dinput_device_init() to dinput_device_init_device_format().
dinput: Return E_OUTOFMEMORY on allocation failure in hid_joystick_create_device().
dinput: Allocate the dinput_device structure in the caller to dinput_device_alloc().
dinput: Pass a single GUID pointer to hid_joystick_device_open().
dinput: Pass the device instance directly to hid_joystick_device_(try_)open.
quartz/systemclock: Use timeGetTime() to retrieve the current time.
maintainers: Add a GStreamer section.
maintainers: Add a Windows Media Format section.
Zhiyi Zhang (10):
maintainers: Add myself to some sections.
win32u: Fix a memory leak.
include: Add D3DKMTQueryVideoMemoryInfo() definition.
gdi32/tests: Add D3DKMTQueryVideoMemoryInfo() tests.
winex11.drv: Open a Vulkan device for D3DKMTOpenAdapterFromLuid().
gdi32: Implement D3DKMTQueryVideoMemoryInfo().
wined3d: Move kernel mode adapter handle from wined3d_output to wined3d_adapter.
dxgi: Implement dxgi_adapter_QueryVideoMemoryInfo() with D3DKMTQueryVideoMemoryInfo().
wined3d: Fill fake adapter video memory usage.
dxgi/tests: Test adapter video memory budget notification.
Ziqing Hui (6):
d2d1: Add stubs for ID2D1EffectContext.
d2d1: Implement ID2D1EffectContext_GetDpi().
d2d1: Implement LoadVertexShader().
include: Add defines for D2D1_PROPERTY_BINDING.
d2d1/tests: Introduce create_factory().
uuid: Add d2d1effectauthor.h.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.8 is now available.
What's new in this release:
- X11 and OSS drivers converted to PE.
- WoW64 support in the sound drivers.
- Number formatting using the new locale database.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.x/wine-7.8.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.x/wine-7.8.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.8 (total 37):
18635 Adobe Lightroom 2.3: Menu bar is hidden
43208 Assassin's Creed IV - Black Flag Hangs tightly
43995 Uplay - Assassin's Creed 4 Black Flag won't start
45388 user32:edit fails on Traditional Chinese and Korean locales
48045 comdlg32:filedlg crashes or times out randomly
48048 urlmon:protocol - The ftp test fails on Vista to Windows 8
51181 d3d10core:d3d10core fails systematically on AMD GPUs
51407 kernel32:time, msvcrt:time and shlwapi:ordinal fail in Wine because Hindi is Unicode-only
51460 oleaut32:vartest has a todo because Wine uses an outdated currency symbol for Swiss Francs
51619 advapi32:registry fails in Wine because French & German timezone name translations are too long
52079 oleacc:main crashes randomly on Windows 10 1709+
52149 user32:dialog fails in test_DialogBoxParam() on current Windows 10 21H1
52362 Powershell Core 7 installer hangs forever on Chinese locale (LC_ALL=zh_CN.UTF-8)
52554 Serbian locale mapping cause crash on multiple installshield wizards
52559 kernel32:resource times out since 2021-12-29 at two win10 testbot systems.
52684 Command and Conquer Generals (and C&C Zero Hour) have no ground textures
52704 FreeHand 9 demo: invalid handle exception (0xc0000008) when attaching uxtheme.dll
52743 cannot write to _fdopen'ed stdout when running in docker
52771 Wine console creation breaks comctl32:button, dinput:keyboard, user32:dialog, user32:input, user32:monitor and user32:win
52828 Incorrect instruments in MIDI playback over ALSA
52845 Recent versions of chromium have broken sandbox again
52847 GetACP() returns CP_UTF8 on some debian VM
52856 kernel32:process fails when Wine has no Unix terminal
52857 msvcp140:msvcp140 fails in Windows 8.1 on the cw-rx460 machine
52858 kernel32:file fails in Windows 8.1 on the cw-rx460 machine
52861 kernel32:locale fails on Windows 10 1709
52864 windows.media.speech:speech has a refcount failure on all Windows 10 versions
52865 windows.media.speech:speech has a Windows 10 1507-specific failure
52866 vbscript:run fails in Wine in Arabic and Hebrew
52867 Multiple applications crash because of ResolveLocaleName stub (dnSpy, dotnet-sdk-5.0.100-win-x64, Metatogger 7.2)
52869 kernel32:locale - test_CompareStringA() fails on Windows with a UTF-8 code page
52871 oleaut32:vartest has failures in Wine in the Arabic and Hebrew locales
52887 Get-Computerinfo from NoPowershell crashes
52904 kernel32:locale breaks oleaut32:varformat on Wine in the French locale
52922 The Evil Within crashes before entering the main menu using Vulkan renderer
52924 Guilty Gear XX #Reload: black screen since wine 5.0
52953 GuiPy crashes on unimplemented function xmllite.dll.CreateXmlReaderInputWithEncodingCodePage
----------------------------------------------------------------
Changes since 7.7:
Alexandre Julliard (23):
make_unicode: Generate the character mapping tables in locale.nls.
kernelbase: Use the mapping tables from locale.nls in LCMapStringEx().
kernelbase: Use the digit table from locale.nls in FoldStringW().
server: Store the full group attributes.
server: Return the full token group for TokenLogonSid.
kernelbase: Really skip alternate sorts in EnumUILanguagesW().
kernelbase: Add support for storing LOCALE_SINTLSYMBOL in the registry.
kernel32/tests: Mark a failing test as broken.
winecrt0: Avoid A->W conversion in initialization code.
user32/tests: Use the standard INPUT type definition.
kernelbase: Implement ResolveLocaleName().
sfc_os: Stub SfpVerifyFile().
oleaut32: Use the locale leading zero flag instead of hardcoding it.
shlwapi: Fix copy/paste typo in number format initialization.
kernel32: Reimplement GetNumberFormatA().
kernel32: Reimplement GetCurrencyFormatA().
kernelbase: Reimplement GetNumberFormatW/Ex() using get_locale_info().
kernelbase: Reimplement GetCurrencyFormatW/Ex() using get_locale_info().
kernelbase: Reimplement GetDateFormatW/Ex() using get_locale_info().
kernelbase: Reimplement GetTimeFormatW/Ex() using get_locale_info().
kernelbase: Reimplement GetDateFormatA().
kernelbase: Reimplement GetTimeFormatA().
nls: Update sort keys to NLS version 6.3.5.
Alistair Leslie-Hughes (1):
msado15: Implement _Recordset get_EditMode.
Angelo Haller (3):
comctl32/tests: Add hold_key and release_key functions.
comctl32/tests: Add multi select tests for ownerdata listviews.
comctl32/tests: Add change sequence for ownerdata listviews.
Anton Baskanov (26):
quartz/tests: Add tests for MPEG audio decoder interfaces.
quartz/tests: Add tests for MPEG audio decoder aggregation.
quartz/tests: Add tests for MPEG audio decoder unconnected filter state change.
quartz/tests: Add tests for IBaseFilter_EnumPins() on MPEG audio decoder.
quartz/tests: Add tests for IBaseFilter_FindPin() on MPEG audio decoder.
quartz/tests: Add tests for querying MPEG audio decoder pin info.
winegstreamer: Add a skeleton MPEG audio decoder filter.
quartz/tests: Add tests for MPEG audio decoder IEnumMediaTypes.
quartz/tests: Add tests for MPEG audio decoder accepted media types.
winegstreamer: Reject incompatible input media types in MPEG audio decoder.
quartz/tests: Add tests for MPEG audio decoder sink connection.
winegstreamer: Reject incompatible output types in MPEG audio decoder.
quartz/tests: Add tests for MPEG audio decoder sink allocator.
quartz/tests: Add tests for MPEG audio decoder output media type enumeration.
winegstreamer: Implement output media type enumeration in MPEG audio decoder.
winegstreamer: Set allocator properties for MPEG audio decoder sink.
quartz/tests: Add tests for MPEG audio decoder source allocator.
quartz/tests: Add tests for MPEG audio decoder source connection.
winegstreamer: Commit allocator on pause in MPEG audio decoder.
winegstreamer: Convert MPEG-1 audio to a major type.
winegstreamer: Support MPEG-1 audio in wg_transform.
quartz/tests: Don't fail tests when MPEG audio decoder creation fails.
winegstreamer: Check whether transform is supported when creating MPEG audio decoder.
winegstreamer: Create wg_transform in MPEG audio decoder.
quartz/tests: Add tests for MPEG audio decoder sample processing.
winegstreamer: Implement Receive() for MPEG audio decoder sink.
Biswapriyo Nath (3):
include: Use nested namespace declaration in windows.foundation.idl.
include: Add Windows.Foundation.MemoryBuffer runtimeclass declaration.
include: Add Windows.Storage.Streams.Buffer runtimeclass declaration.
Brendan Shanks (2):
wrc: Support function macros where varargs are the only argument.
include: Add WINE_ALLOC_SIZE attribute to heap_calloc().
Connor McAdams (5):
oleacc/tests: Add tests for IIS_IsOleaccProxy service on default accessible objects.
oleacc: Add IServiceProvider interface to default accessible objects.
uiautomationcore: Implement UiaProviderFromIAccessible.
uiautomationcore/tests: Add tests for UiaProviderFromIAccessible.
uiautomationcore: Make hwnd_host_provider_vtbl static const.
Dmitry Timoshkov (1):
ieframe: Initialize new history log entry.
Drew Ronneberg (13):
shell32: Remove obsolete -D_SHELL32_ from Makefile.in.
crypt32: Remove obsolete -D_CRYPT32_ from Makefile.in.
comctl32: Remove obsolete -D_COMCTL32_ from Makefile.in.
shdocvw: Remove obsolete -D_SHDOCVW_ from Makefile.in.
winspool.drv: Remove obsolete -D_SPOOL32_ from Makefile.in.
netapi32: Remove obsolete -D_SVRAPI_ from Makefile.in.
rpcrt4: Remove obsolete -D_RPCRT4_ from Makefile.in.
user32: Remove obsolete -D_WINABLE_ from Makefile.in.
oleaut32: Remove obsolete -D_OLEAUT32_ from Makefile.in.
urlmon: Remove obsolete -D_URLMON_ from Makefile.in.
winmm: Remove obsolete -D_WINMM_ from Makefile.in.
shlwapi: Remove obsolete -D_SHLWAPI_ from Makefile.in.
setupapi: Remove obsolete -D_SETUPAPI_ from Makefile.in.
Eric Pouech (36):
include: Don't use long types in nsi.h.
nsi/tests: Enable compilation with long types.
nsiproxy: Don't use long types in internal structure / helpers.
nsiproxy: Don't use long types for local types.
nsiproxy: Add intermediate variables for sscanf on ULONG.
nsiproxy: Enable compilation with long types.
d3d11/tests: Build without -DWINE_NO_LONG_TYPES.
d3d11: Build without -DWINE_NO_LONG_TYPES.
d3dx9/effect: Return the read value from read_dword().
d3dx9: Use correct integral type.
winedbg: Correctly read register values through dbg_lvalue structure.
attrib: Use OEM code page for output.
chcp: Use OEM code page for output.
fsutil: Use OEM code page for output.
hostname: Use OEM code page for output.
icinfo: Use OEM code page for output.
ipconfig: Use OEM code page for output.
net: Use OEM code page for output.
netstat: Use OEM code page for output.
regedit: Use OEM code page for output.
regsvr32: Use OEM code page for output.
start: Use OEM code page for output.
taskkill: Use OEM code page for output.
uninstaller: Use OEM code page for output.
whoami: Use OEM code page for output.
wscript: Use OEM code page for output.
xcopy: Use OEM code page for output.
include/msvcrt: Redefine towlower* & towupper* with wint_t types.
dbghelp: Properly fail on PDB files generated by MSVC compiler version 14.31.
dbghelp: Introduce symt_find_symbol_at().
cmd: Test that read is successful before using its result.
cmd: Skip too long paths.
wineoss.drv: Use correct integral type.
wineoss.drv: Enable compilation with long types.
winealsa.drv: Use correct integral types.
winealsa.drv: Enable compilation with long types.
Fabian Maurer (6):
mscoree: Use LocalFree for memory allocated by LocalAlloc.
printui: Use LocalFree for memory allocated by LocalAlloc (Coverity).
mfplay: Prevent usage of uninitialized pointer in error case (Coverity).
mfplat: Prevent use after free (Coverity).
shell32: Prevent user after free in error case (Coverity).
shell32: Refactor to keep style consistent.
Floris Renaud (1):
po: Add missing examples in Dutch translation.
François Gouget (17):
gdi32/tests: Trace the invalid height in test_max_height().
kernel32/tests: Remove a couple of unnecessary NULL casts.
comctl32/tests: Use winetest_push_context() in test_combo_dropdown_size().
oleau32/tests: Show that spaces are not allowed before exponents.
oleaut32/tests: The EUR abbreviation is not recognized as a currency.
kernel32/tests: Fix the spelling of a comment.
user32/tests: Trace monitor information with 'monitor info'.
po: Fix a typo in the Asturian translation.
po: Fix the indentation of a usage message in the Brazilian translation.
po: Fix a trailing full stop inconsistency in the Asturian translation.
po: Fix trailing full stop inconsistencies in the Czech translation.
po: Fix trailing full stop inconsistencies in the Turkish translation.
kernel32/tests: Fix a copy/paste error in an ok() message.
winebus.sys: Fix the HAVE_SYS_INOTIFY_H checks.
kernel32/tests: Fix a typo in a comment.
user32/tests: Make the test_char_from_pos() failures more informative.
kernelbase/tests: Loosen up the Sleep() test lower bound.
Gabriel Ivăncescu (7):
jscript: Implement Number.prototype.toLocaleString.
jscript: Return proper error in Number.toLocaleString with invalid 'this' in ES5 mode.
jscript: Implement Array.prototype.toLocaleString.
jscript: Implement Array.prototype.filter.
jscript: Implement Array.prototype.every.
jscript: Implement Array.prototype.some.
jscript: Implement Array.prototype.lastIndexOf.
Giovanni Mascellani (2):
loader/wine.inf: Update time zone data.
mfplat: Avoid a race condition when releasing a tracked sample.
Hans Leidekker (1):
mshtml: Added IHTMLCSSStyleDeclaration::backgroundSize property implementation.
Henri Verbeet (2):
d3d11/tests: Declare "data_size" as UINT in test_device_context_state().
wined3d: Pass "quality_levels" as an unsigned int pointer to wined3d_check_device_multisample_type().
Huw D. M. Davies (47):
winedbg: Accept "continue".
winecoreaudio: Pass a ptr to receive the stream in create_stream.
winecoreaudio: Use UINT64 handles to represent the stream.
winecoreaudio: Return offsets rather than ptrs to the strings.
winecoreaudio: Limit Wow64 buffer allocations to 32-bit addresses.
winecoreaudio: Implement Wow64 mmdevapi entry points in the Unix libraray.
winecoreaudio: Implement Wow64 midi entry points in the Unix libraray.
winemac: Use ULongToPtr() to cast format ids to void ptrs.
wineoss: Move MODM_GETDEVCAPS to the unixlib.
wineoss: Move MODM_GETNUMDEVS to the unixlib.
wineoss: Move MODM_GETVOLUME and MODM_SETVOLUME to the unixlib.
wineoss: Move MODM_RESET to the unixlib.
wineoss: Move MIDM_PREPARE and MIDM_UNPREPARE to the unixlib.
wineoss: Move MIDM_GETDEVCAPS to the unixlib.
wineoss: Move MIDM_GETNUMDEVS to the unixlib.
wineoss: Move the midi in buffer lock to the unixlib.
wineoss: Move MIDM_ADDBUFFER to the unixlib.
winex11: Free "path" and "uri" with the correct functions.
wineoss: Pass the time relative to the start time to the callback.
wineoss: Move MIDM_RESET to the unixlib.
wineoss: Move MIDM_START to the unixlib.
wineoss: Move MIDM_STOP to the unixlib.
wineoss: Simplify the midi in dispatcher.
wineoss: Add the leading 0xf0 to the sysex data.
wineoss: Move the sysex handling to a separate helper.
wineoss: Move the regular data handling to a separate helper.
wineoss: Make the MIM_LONGDATA time relative to the start time.
wineoss: Combine midReceiveChar() into handle_midi_data().
wineoss: Introduce a notification thread.
wineoss: Move the midi in data handlers to the unixlib.
wineoss: Introduce a helper to retrieve the time.
wineoss: Use a pipe to signal the end of the record thread.
wineoss: Move MIDM_OPEN and MIDM_CLOSE to the unixlib.
wineoss: Move DRVM_INIT and DRVM_EXIT to the unixlib.
wineoss: Use AUXDM_GETNUMDEVS to retrieve the number of devices.
wineoss: Move AUXDM_GETNUMDEVS to the unixlib.
wineoss: Move AUXDM_GETDEVCAPS to the unixlib.
wineoss: Move AUXDM_GETVOLUME and AUXDM_SETVOLUME to the unixlib.
wineoss: Build with msvcrt.
wineoss: Pass a client ptr to the callback instead of a stream.
wineoss: Use UINT64 handles to represent the stream.
wineoss: Return offsets rather than ptrs to the strings.
wineoss: Limit Wow64 buffer allocations to 32-bit addresses.
wineoss: Implement Wow64 mmdevapi entry points in the Unix library.
wineoss: Implement Wow64 midi entry points in the Unix library.
wineoss: Implement Wow64 aux entry point in the Unix library.
dllhost: Try to load the dll server's factory at the start.
Jacek Caban (77):
win32u: Add more clipboard stubs.
win32u: Move clipboard data management from user32.
winex11: Remove unused cf_xdnd from XDNDDATA.
winex11: Use libc for driver memory allocation.
win32u: Use public declaration for GetStockObject.
win32u: Introduce data-only mode in NtUserGetClipboardData.
winex11: Don't use DragQueryFileW in export_hdrop.
winex11: Use data-only NtUserGetClipboardData to export clipboard data.
winex11: Directly use ntdll in uri_to_dos.
winex11: Directly use win32u and ntdll in a few more places.
win32u: Use user mode callback for registering builtin classes.
winex11: Use NtUserSetClipboardData to import clipboard data.
winex11: Directly use win32u in import_image_bmp.
winex11: Directly use ntdll in clipboard.c.
winex11: Return selection data as a single buffer from import_xdnd_selection.
winex11: Move CF_HDROP filtering to import_xdnd_selection.
winex11: Use format_entry to store cached XDND formats data.
winex11: Move XdndEnter event handler to event.c.
winex11: Move XdndPosition event handler to event.c.
winex11: Move XdndDrop event handler to event.c.
winex11: Move XdndLeave event handler to event.c.
winex11: Use inline intersect_rect helper instead of IntersectRect.
winex11: Move Unicode conversion out of unicode_text_from_string.
winex11: Move Unicode conversion out of string_from_unicode_text.
winex11: Directly use ntdll for utf8 conversion.
user32: Use GetMenuInfo for IsMenu implementation.
user32: Use MIIM_CHECKMARKS flag in InsertMenuW.
user32: Perform Unicode conversion in SetMenuItemInfoA.
user32: Perform Unicode conversion in InsertMenuItemA.
win32u: Move menu item info management from user32.
win32u/tests: Add NtUserThunkedMenuItemInfo tests.
win32u: Move GetMenuState implementation from user32.
win32u: Move GetMenuItemCount implementation from user32.
win32u: Move NtUserTranslateAccelerator from user32.
win32u: Move NtUserDeleteMenu implementation from user32.
win32u: Move NtUserGetSystemMenu implementation from user32.
win32u: Move NtUserSetSystemMenu implementation from user32.
win32u: Copy implementation of AdjustWindowRectEx from user32.
win32u: Move normalize_std_handle call to NtUserMsgWaitForMultipleObjectsEx.
win32u: Use NT interface for MsgWaitForMultipleObjectsEx user driver entry point.
winex11: Use passed point in handle_position_event.
winex11: Use ntdll_umbstowcs and ntdll_wcstoumbs for Unicode conversion.
winex11: Directly use wine_nt_to_unix_file_name to get Unix path name.
winex11: Use ntdll for Unicode conversion.
winex11: Use import_text_uri_list code in EVENT_DropURLs.
winex11: Reimplement EVENT_DropFromOffiX using get_dos_file_name.
win32u: Allow NULL client_menu_name in NtUserRegisterClassExWOW.
winex11: Directly use ntdll in more places.
winex11: Move DllMain to separated file.
winex11: Move X11DRV_InitClipboard to dllmain.c.
winex11: Move x11drv_post_drop to xdnd.c.
winex11: Move create_desktop implementation to dllmain.c.
winex11: Move wintab entry points to dllmain.c.
winex11: Introduce X11DRV_CALL macro.
winex11: Use X11DRV_CALL for XIM calls.
winex11: Call create_tooltip from WM_CREATE handler.
winex11: Avoid using sprintfW.
winex11: Avoid using kernel32 functions in get_config_key.
winex11: Avoid using kernel32 functions in user driver.
winex11: Introduce x11drv_client_call.
winex11: Use unixlib interface for IME calls.
winex11: Use unixlib interface for X11 calls from systray.c.
winex11: Use unixlib interface for systray docking.
winex11: Move foreign_window_proc to systray.c.
win32u: Move NtUserCallMsgFilter implementation from user32.
winex11: Directly use NtUserGetIconInfo.
winex11: Directly use win32u in more places.
win32u: Use KeUserModeCallback interface for CopyImage.
win32u: Allow NULL cbtc in NtUserCreateWindowEx.
winex11: Directly use NtUserCreateWindowEx.
winex11: Use unixlib interface for x11drv_is_system_module.
winex11: Move LoadIcon call to dllmain.
include: Don't use DECLSPEC_HIDDEN for WINGDIAPI and WINUSERAPI in unuxlibs.
winex11: Use wcsicmp for string comparison.
winex11: Move user driver to unixlib.
winex11: Build with msvcrt.
winex11: Don't use unicode.h.
Jan Sikorski (1):
msvcrt: Faster memcmp().
Jinoh Kang (4):
include: Add definition for IShellItemImageFactory.
wineboot: Don't use ai_canonname for ComputerName if it is "localhost".
shell32/tests: Add tests for IShellItemImageFactory.
shell32: Add stub for IShellItemImageFactory.
Joachim Priesner (1):
windowscodecs: BitmapScaler_CopyPixels: Do not demand a larger buffer than necessary.
Louis Lenders (8):
wbemprox: Add Win32_PageFileUsage class.
wbemprox: Add BuildType property to Win32_OperatingSystem.
wbemprox: Add RegisterdUser property to Win32_Operatingsystem.
wbemprox: Add Organization property to Win32_Operatingsystem.
wbemprox: Add BootDevice property to Win32_Operatingsystem.
wbemprox: Add WindowsDirectory property to Win32_Operatingsystem.
wbemprox: Add SystemType property to Win32_Computersystem.
wbemprox: Add FreeVirtualMemory property to Win32_Operatingsystem.
Martin Storsjö (2):
include: Add a declaration of _InterlockedExchangeAdd64 for MSVC mode for aarch64.
include: Add declarations of _alloca and alloca for MSVC mode.
Matteo Bruni (6):
d3dx9/effect: Return a uint32_t from the bytecode read helper.
wined3d: Raise MAX_ATTRIBS to 32.
wined3d: Don't submit fences when the GL context doesn't support them.
wined3d: Don't use fences on GL context cleanup when they are not supported.
wined3d: Disable CSMT when fences are not supported.
wined3d: Check BO existence before trying to update its fence counter.
Mohamad Al-Jaf (2):
include: Add windows.ui.idl file.
include: Add windows.media.closedcaptioning.idl file.
Nikolay Sivov (27):
uxtheme: Fix double free on registry key handle.
dwrite/tests: Add a test for unset axis for references created with IDWriteFactory3.
dwrite/tests: Use table access helpers for CBLC tests.
dwrite: Remove already defined macros.
dwrite: Simplify collection object initialization.
dwrite: Implement GetFontFamilyModel().
dwrite: Use separate structure for set entry description.
dwrite: Prefer different family names for typographical collections.
dwrite: Initial implementation of CreateFontCollectionFromFontSet().
dwrite: Implement newer GetSystemFontCollection() variants.
dwrite: Implement CreateTextFormat() for IDWriteFactory6.
include: Fix IDWriteFontResource definition.
dwrite: Implement variation axis value methods for the resource object.
dwrite/opentype: Use stdint types for layout table structures.
nls: Hardcode minus sign for all locales.
dwrite/opentype: Use stdint type for color font structures.
dwrite/opentype: Use stdint types for font file structures.
include: Add IParentAndItem definition.
dwrite/opentype: Correct flags field size for layout lookup structure.
dwrite/opentype: Fix incorrect MarkGlyphSets table handling.
dwrite/opentype: Do not include base advance to the mark advance offset.
xmllite/reader: Implement CreateXmlReaderInputWithEncodingCodePage().
ntdll: Add a partial implementation of NtMapViewOfSectionEx().
kernelbase: Implement MapViewOfFile3().
ntdll: Partially implement NtUnmapViewOfSectionEx().
kernelbase: Implement UnmapViewOfFile2().
kernel32: Implement UnmapViewOfFileEx().
Paul Gofman (12):
winex11.drv: Treat invalid icon as no icon in fetch_icon_data().
msvcp140/tests: Add a broken last error result in test_Copy_file().
kernel32/tests: Add a broken last error result in test_CopyFileW().
crypt32/tests: Add tests for short return string buffer.
crypt32: Fix filling short output in cert_name_to_str_with_indent().
crypt32: Fix filling short output in CertRDNValueToStrW().
crypt32: Fix filling short output in CertGetNameStringW().
crypt32: Fix filling short output in CertGetNameStringA().
crypt32: Reimplement CertRDNValueToStrA() on top of CertRDNValueToStrW().
crypt32: Reimplement CertNameToStrA() on top of CertNameToStrW().
crypt32: Support up to date subject and issuer alt names OIDs.
crypt32: Support CERT_NAME_SEARCH_ALL_NAMES_FLAG in CertGetNameStringW().
Piotr Caban (5):
msvcrt: Use TICKSPERMSEC define in concurrency functions.
ntdll: Use 32-bit time_t when calling __NR_futex syscall.
msvcp140_atomic_wait: Add __std_atomic_notify_one_direct implementation.
msvcp140_atomic_wait: Add __std_atomic_notify_all_direct implementation.
msvcp140_atomic_wait: Add __std_atomic_wait_direct implementation.
Rémi Bernon (70):
kernel32/tests: Add some heap block layout tests.
ntdll: Stub RtlGetUserInfoHeap and RtlSetUser(Value|Flags)Heap.
kernel32/tests: Add some RtlGetUserInfoHeap tests.
dinput/tests: Remove unreliable IAsyncOperation_boolean checks.
windows.gaming.input: Return an empty vector from RawGameController_get_ForceFeedbackMotors.
windows.gaming.input: Implement ForceFeedbackMotor stub runtimeclass.
windows.gaming.input: Acquire the device exclusively when creating ForceFeedbackMotor.
windows.gaming.input: Implement IForceFeedbackMotor_(get|put)_MasterGain.
windows.gaming.input: Implement IForceFeedbackMotor_(Pause|Resume|StopAll)Effects.
server: Create message queue and thread input in set_key_state.
server: Lock thread input keystate whenever it is modified.
server: Create message queue and thread input in get_key_state.
hidclass.sys: Move HID_GET_COLLECTION_* handling inline.
hidclass.sys: Move handle_minidriver_string inline.
hidclass.sys: Use a local NTSTATUS variable to keep IRP status.
hidclass.sys: Call internal minidriver report ioctls asynchronously.
windows.gaming.input: Import IAsyncOperation from windows.media.speech.
windows.media.speech: Return operation error from IAsyncOperation_GetResults.
windows.media.speech: Return E_ILLEGAL_METHOD_CALL from get_ErrorCode.
windows.media.speech: Initialize HRESULT variables consistently.
windows.media.speech: Simplify error handling in async_operation_create.
windows.media.speech: Assume that async_run_work cannot be NULL in IAsyncInfo_Close.
mf/tests: Simplify handling of broken Win7 results.
mf/tests: Add some H264 decoder GetOutputCurrentType tests.
winegstreamer: Implement H264 decoder GetOutputCurrentType.
mf/tests: Add more tests for the H264 decoder output media type.
mf/tests: Only check sample data when length matches.
include: Add Windows.Foundation.Numerics.Vector3 struct declaration.
include: Add Windows.Gaming.Input.ForceFeedback.PeriodicForceEffect runtimeclass declaration.
include: Add Windows.Gaming.Input.ForceFeedback.ConditionForceEffect runtimeclass declaration.
include: Add Windows.Gaming.Input.ForceFeedback.ConstantForce runtimeclass declaration.
include: Add Windows.Gaming.Input.ForceFeedback.RampForce runtimeclass declaration.
include: Use nested namespaces in windows.storage.streams.idl.
winegstreamer: Ignore unset H264 format profile and level.
winegstreamer: Check caps pointer in wg_format_to_caps_h264.
winegstreamer: Check whether transforms are supported at creation time.
mf/tests: Skip todo_wine tests with a goto statement.
mf/tests: Use real audio data for WMA encoder / decoder tests.
mf/tests: Add some IMFTransform output sample attribute tests.
mf/tests: Add tests changing the H264 decoder output video format.
mf/tests: Expect identical major types for transform info.
dinput/tests: Remove racy controller removed handler check.
dinput/tests: Increase delayed TryResetAsync test wait timeout.
dinput/tests: Enforce HID report descriptor buffer size.
dinput/tests: Move Windows.Gaming.Input.RacingWheel tests to joystick8.c.
dinput/tests: Remove output and feature report buffers length checks.
dinput/tests: Add some Windows.Gaming.Input.ForceFeedback.ConstantForceEffect tests.
mf/tests: Check expected class GUID in create_transform.
mf/tests: Add more DMO class name, media type and interface checks.
mf/tests: Add tests for the ResamplerMediaObject audio transform.
mf/tests: Check VideoProcessorMFT transform media types.
mf/tests: Add tests for the ColorConvertDMO video transform.
kernel32/tests: Reduce layout tests verbosity by skipping some sizes.
kernel32/tests: Add some HEAP_NO_SERIALIZE flag / LFH locking tests.
ntdll: Factor out heap serialization to heap_(lock|unlock) helpers.
ntdll: Respect HEAP_NO_SERIALIZE flag in HeapLock / HeapUnlock.
kernel32/tests: Check that HeapCreate should ignore checking flags.
ntdll: Ignore HEAP_(TAIL|FREE)_CHECKING_ENABLED flags in RtlCreateHeap.
kernel32/tests: Add more block layout tests with alloc flags.
kernel32/tests: Add some RtlWalkHeap and more HeapWalk tests.
mountmgr.sys: Avoid passing a stack pointer to the run_loop thread.
windows.gaming.input: Set get_AreEffectsPaused value to FALSE when dinput fails.
windows.gaming.input: Introduce a new type-pruning WineAsyncOperationCompletedHandler.
windows.gaming.input: Use a PROPVARIANT as async operation result.
windows.gaming.input: Split IAsyncInfo interface to a separate struct.
windows.gaming.input: Use IUnknown invoker instead of IInspectable and add a parameter.
winegstreamer: Add timestamp and duration to struct wg_sample.
winegstreamer: Support the MFSampleExtension_CleanPoint sample attribute.
winegstreamer: Only resize buffer when read is incomplete.
dinput: Do not delete static critical section.
Stefan Dösinger (4):
wined3d: Invalidate framebuffer locations after setting up the renderpass.
wined3d: Tell Vulkan about discarded and cleared framebuffer attachments.
wined3d: Don't explicitly clear the draw location before starting a renderpass.
wined3d: Set WINED3D_LOCATION_CLEARED for full-subresource clears to black.
Torge Matthies (3):
msvcr110: Add _StructuredTaskCollection::_StructuredTaskCollection_ctor stub.
sc/tests: Add tests.
sc: Allow using separate arguments for parameter name and value.
Zebediah Figura (38):
wined3d: Clear the texture BO when loading textures into WINED3D_LOCATION_BUFFER.
wined3d: Move loading from CLEARED into the texture_load_location op.
wined3d: Clear Vulkan textures on the GPU in wined3d_texture_vk_load_texture().
wined3d: Clear GL texture using glClear() if possible in wined3d_texture_gl_load_location().
win32u: Move NtUserTrackMouseEvent() implementation from user32.
user32: Query CursorBlinkRate from the registry.
win32u: Move caret APIs from user32.
user32: Merge caret.c into input.c.
d3d8/tests: Add more tests for D3DLOCK_NO_DIRTY_UPDATE.
d3d9/tests: Add more tests for D3DLOCK_NO_DIRTY_UPDATE.
wined3d: Consider WINED3D_LOCATION_CLEARED to be a GPU location for GPU-accessible textures.
wined3d: Trace the SRGB flag in wined3d_texture_gl_prepare_texture().
server: Return void from sock_reselect().
wined3d: Refuse blits between height-scaled formats in the CPU blitter.
wined3d: Refuse blits between height-scaled formats in the FBO blitter.
wined3d: Refuse blits between height-scaled formats in the raw blitter.
wined3d: Do not use vkCmdClearColorImage() to clear compressed images.
dinput/tests: Do not test that reports are identical when polling.
dinput/tests: Set the callback event after setting "impl->invoked".
ws2_32/tests: Test polling for AFD_POLL_READ while there is a pending WSARecv() call.
ws2_32/tests: Test polling for AFD_POLL_ACCEPT while there is a pending AcceptEx() call.
ws2_32/tests: Test selecting for FD_READ while there is a pending WSARecv() call.
ws2_32/tests: Test selecting for FD_ACCEPT while there is a pending AcceptEx() call.
ws2_32/tests: Verify that AFD_POLL_CONNECT and AFD_POLL_WRITE are signaled simultaneously.
winegstreamer: Print messages relating to missing decoders in the winediag channel.
winegstreamer: Make some wg_format variables static const.
ws2_32/tests: Test that sockets returned from accept() don't return FD_CONNECT from WSAEnumNetworkEvents().
ws2_32/tests: Add more tests for selecting for events after they are signaled.
server: Send AFD_POLL_READ messages before AFD_POLL_WRITE.
server: Clear only returned events in IOCTL_AFD_GET_EVENTS.
ws2_32/tests: Add some more tests for reset TCP connections.
server: Do not signal read/write bits if there are read/write asyncs waiting.
server: Don't poll for POLLIN or POLLPRI if there are alerted read asyncs.
server: Do not signal read bits if there are read asyncs alerted.
server: Don't poll for POLLOUT if there are alerted write asyncs.
server: Do not signal write bits if there are write asyncs alerted.
server: Do not signal accept bits if there are accept asyncs queued.
server: Remove a redundant call to set_fd_events().
Zhiyi Zhang (3):
apisetschema: Add api-ms-win-core-winrt-robuffer-l1-1-0.
windows.networking: Add stub dll.
wintypes: Implement IApiInformationStatics stubs.
Ziqing Hui (11):
include: Add defines for ID2D1VertexBuffer.
include: Add defines for ID2D1ResourceTexture.
include: Add defines for ID2D1RenderInfo.
include: Add defines for ID2D1DrawInfo.
include: Add defines for ID2D1ComputeInfo.
include: Add defines for ID2D1TransformGraph.
include: Remove useless semi-colon in d2d1_3.idl.
include: Add defines for ID2D1Transform.
include: Add defines for ID2D1EffectContext.
include: Add defines for ID2D1EffectImpl.
wininet/tests: Test adding empty HTTP header.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.7 is now available.
What's new in this release:
- More progress on the PE conversion of the X11 and OSS drivers.
- Support for UTF-8 as default Ansi codepage.
- Theming support for control panel applets.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.x/wine-7.7.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.x/wine-7.7.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.7 (total 11):
6682 IrfanView's 4.44 Help -> About window is missing a picture on the left
24574 RAR Password Recovery Magic initial (registration) window is empty and doesn't allow any interaction
45916 x64dbg fails to load debuggee, needs ThreadScheduler_ScheduleTask
52223 activeCodePage utf-8 in application manifest not respected
52640 Steam does not display anything when using the Vulkan renderer (stack overflow from official Vulkan loader calling into dxgi)
52679 Anno 1602 / 1602 A.D. graphics too dark / black
52703 64-bit Irfanview crashes on startup
52763 ConEmu doesn't work with winver > Win8.1
52787 Invalid function prototype for "RegisterUserApiHook" when compiling for C++
52809 steamwebhelper.exe crashes repeatedly since 2aa4673f32
52825 Capella help crashes with Error "qtwebengingeprocess has serious errors"
----------------------------------------------------------------
Changes since 7.6:
Alex Henrie (1):
kernel32: Fix percentage calculation in GetSystemPowerStatus.
Alexandre Julliard (31):
ntdll: Move some duplicated locale definitions to a common header.
ntdll: Move more codepage conversion functions to the common header.
ntdll: Use the standard CPTABLEINFO structure for the Unix codepage.
ntdll: Support UTF-8 codepage in string conversion functions.
kernelbase: Use RtlMultiByteToUnicodeN in IsChar* functions.
kernelbase: Avoid redundant locale lookups in GetLocaleInfoA().
kernelbase: Support UTF-7/8 codepages in get_codepage_table().
kernelbase: Support UTF-8 as default Ansi codepage in MultiByteToWideChar().
kernelbase: Support UTF-8 as default Ansi codepage in WideCharToMultiByte().
ntdll: Default to UTF-8 codepage at startup.
ntdll: Export a few more codepage functions from ntdll.so.
win32u: Use the ntdll functions for codepage conversions.
win32u: Use character sizes in the codepage conversion functions.
win32u: Use CPTABLEINFO to store the Ansi/OEM codepages.
win32u: Support UTF-8 as the default Ansi codepage.
msvcrt: Fix mbcs initialization for UTF-8 codepage.
ntdll: Initialize the system locale on the Unix side.
kernelbase: Move codepage initialization to ntdll.
ntdll: Add support for 2019 and 2020 WindowsSettings namespaces.
ntdll: Support overriding the codepage from the manifest.
ole32: Fix sign expansion of codepage values.
user32: Pass a valid length to RtlUnicodeToMultiByteN/RtlMultiByteToUnicodeN.
user32/tests: Fix some tests that break in UTF-8 codepage.
gdi32: Support UTF-8 codepage in TranslateCharsetInfo().
winedump: Add support for dumping locale.nls.
include: Avoid Windows types in CodeView structure definitions.
winedump: Fix some incorrect uses of Unix 'long' type.
winedump: Avoid using DWORD in private definitions.
winedump: Remove unused variables.
winedump: Enable compilation with long types.
winedump: Build with nameless unions/structs.
Alexandros Frantzis (1):
win32u: Avoid iterating over a NULL window list when broadcasting.
Alistair Leslie-Hughes (1):
msado15: Return valid object in Recordset::Clone.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Austin English (1):
dbghelp: Downgrade a FIXME to a WARN.
Bernhard Kölbl (8):
windows.media.speech/tests: Fix some uses after release.
windows.media.speech/tests: Make waits non infinite.
windows.media.speech/tests: Remove some tests.
windows.media.speech/tests: Remove an unnecessary variable.
windows.media.speech/tests: Add tests to check if IAsyncInfo_Close is non blocking.
windows.media.speech: Partially implement IAsyncOperation.
windows.media.speech: Implement concurrency in IAsyncOperation.
windows.media.speech: Add ISpeechRecognitionCompilationResult.
Biswapriyo Nath (2):
include: Add IArcadeStick interface in windows.gaming.input.idl.
include: Add Windows.Gaming.Input.FlightStick runtimeclass declaration.
Brendan Shanks (2):
wow64cpu: Use different JMP instruction to work around Rosetta bug.
ntdll/tests: Test that threads have unique TEBs.
Connor McAdams (8):
webservices: Set proper minor version for .NET Message Framing Protocol.
webservices/tests: Add some tests for session dictionary size.
webservices/tests: Add test for binary encoding nested structure handling.
webservices: Don't advance binary encoding reader if record type doesn't match.
webservices: Check for channel state in WsReceiveMessage.
webservices: Properly handle max session dictionary size channel property.
webservices: Respect session dictionary size limits on send dictionary.
webservices: Respect session dictionary size limits on receive dictionary.
Daniel Lehman (1):
include: Add some math declarations.
Eric Pouech (17):
combase: Use I64 width modifier for 64-bit integers.
rtqwork: Trace 64-bit integers with I64 width modifier.
rpcrt4: Don't cast ptrdiff_t to ULONG in traces, use %I instead.
ntdll/tests: Simplify printf for 64 bit integers.
wininet/tests: Simplify printf for 64 bit integers.
winedbg: Simplify printf for 64 bit integers.
oleaut32/tests: Simplify test by using long long constants.
oleaut32/tests: Simplify printf for 64 bit integers.
kernel32/tests: Add more CreateProcess console management tests.
server: Use negative values for console pseudo handles.
kernelbase: Provide a pseudo console environment for initial CUI processes not tied to a Unix tty.
windowscodecs/tests: Simplify printf for 64 bit integers.
d3dxof: Don't cast ptrdiff_t to ULONG in traces, use %I instead.
d3dx10: Fix long type warnings.
start: Remove workaround for /exec without console.
kernel32/tests: Make the console tests pass if current console is shell-no-window.
kernel32/tests: Adapt duplicate console handle test to non-Win7 handles.
Esme Povirk (2):
gdiplus: Accept newer version in OpenType header.
windowscodecs: pceltFetched is optional in IWICEnumMetadataItem.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (4):
conhost: Fix the spelling of a couple of comments.
winegstreamer: Fix the spelling of a comment.
crypt32/tests: Fix the spelling of an ok() message.
riched20/tests: Fix the spelling of a comment.
Gabriel Ivăncescu (26):
urlmon: Add basic implementation of MapBrowserEmulationModeToUserAgent.
mshtml: Always return the custom user agent if it has been set.
urlmon: Return the currently set user agent when 'version' is invalid.
jscript: Handle PROP_IDX in jsdisp_get_own_property.
jscript: Make idx props enumerable.
jscript: Throw proper error when invoking non-method builtin.
jscript: Accept DISPATCH_PROPERTYPUTREF for jsdisps.
mshtml/tests: Add initial tests for NULL Dispatch objects in scripts.
jscript: Treat NULL disps as actual null values in html mode.
jscript: Defer lookup to the actual locals for function statements.
mshtml: Implement enumerator for HTMLStyleSheetsCollection.
mshtml: Implement enumerator for HTMLRectCollection.
mshtml: Implement enumerator for HTMLFormElement.
mshtml: Implement enumerator for HTMLSelectElement.
mshtml: Move some static functions up.
mshtml: Implement enumerator for HTMLAttributeCollection.
jscript: Handle NULL return pointers in all constructors.
jscript: Move Set below Map.
jscript: Iterate through the map in a helper function.
jscript: Set a map entry using a helper function.
jscript: Pass the Map object to the callback when iterating.
jscript: Support passing 'this' context to the Map callback when iterating.
jscript: Compare numbers in a Map bitwise for equality.
jscript: Implement Set on top of Map.
jscript: Use proper error description for invalid Set 'this'.
jscript: Initialize hres in String constructor.
Giovanni Mascellani (2):
mfreadwrite/reader: Make the stream sample allocator callback own a reference to the source reader.
mfreadwrite/reader: Unset sample allocator callbacks while destroying the source reader.
Hans Leidekker (2):
crypt32/tests: Get rid of workarounds for old Windows versions.
webservices: Always set channel state to WS_CHANNEL_STATE_FAULTED when a send or receive operation failed.
Hugh McMaster (13):
regedit: Use wide character string literals in childwnd.c.
regedit: Use wide character string literals in edit.c.
regedit: Use wide character string literals in framewnd.c.
regedit: Use wide character string literals in hexedit.c.
regedit: Use wide character string literals in listview.c.
regedit: Use wide character string literals in regedit.c.
regedit: Use wide character string literals in treeview.c.
regedit: Use wide character string literals in main.c.
regedit: Use wide character string literals in regproc.c.
regedit: Mark WCHAR szFrameClass static.
regedit: Mark WCHAR szTitle static.
regedit: Remove unused WCHAR szHexEditClass from main header.
conhost: Save default font's pitch and family on first run.
Huw D. M. Davies (55):
wineoss: Explicitly store the channel count in the client.
wineoss: Dynamically size the devnode array.
wineoss: Use the global lock to lock the session.
wineoss: Introduce a stream structure.
wineoss: Move is_format_supported to the unixlib.
wineoss: Don't cache the oss_audioinfo in the client.
wineoss: Move the stream creation to AudioClient_Initialize().
wineoss: Move get_mix_format to the unixlib.
wineoss: Use the stream ptr to indicate the init state.
wineoss: Store the mute state in the stream.
wineoss: Use the sessions lock to lock the client's data.
wineoss: Use a pthread mutex for the stream lock.
wineoss: Use NtAllocateVirtualMemory() to alloc the buffers returned to the user.
wineoss: Move create_stream and release_stream to the unixlib.
wineoss: Move get_buffer_size to the unixlib.
wineoss: Move get_latency to the unixlib.
wineoss: Move get_current_padding to the unixlib.
wineoss: Store the period in 100ns units.
wineoss: Move timer_loop to the unixlib.
wineoss: Move start to the unixlib.
wineoss: Move stop to the unixlib.
wineoss: Move reset to the unixlib.
wineoss: Move set_event_handle to the unixlib.
wineoss: Move get_render_buffer to the unixlib.
wineoss: Move release_render_buffer to the unixlib.
wineoss: Move get_capture_buffer to the unixlib.
wineoss: Move release_capture_buffer to the unixlib.
wineoss: Move get_next_packet_size to the unixlib.
wineoss: Move get_frequency to the unixlib.
wineoss: Move get_position to the unixlib.
wineoss: Move is_started to the unixlib.
wineoss: Move set_volumes to the unixlib.
wineoss: Remove some unused members.
wineoss: Remove preprocessor checks for SNDCTL_SEQ_NRMIDIS.
wineoss: Move midi_init to the unixlib.
winealsa: Wait for the notify buffer to empty, rather than dropping an event.
wineoss: Store the sequencer fd in the driver struct.
wineoss: Add a temporary syscall to open and close the seq fd.
wineoss: Add a temporary midi_out_fm_patch syscall.
wineoss: Add a temporary midi_out_fm_reset syscall.
wineoss: Move MODM_OPEN and MODM_CLOSE to the unixlib.
wineoss: Use separate functions to handle MODM_DATA for FM synths and ports.
wineoss: Move MODM_DATA to the unixlib.
wineoss: Move MODM_LONGDATA to the unixlib.
wineoss: Move MODM_PREPARE and MODM_UNPREPARE to the unixlib.
winepulse: Use UINT64 handles to represent the stream.
winepulse: Return offsets rather than ptrs to the strings.
winepulse: Limit Wow64 buffer allocations to 32-bit addresses.
winepulse: Implement Wow64 entry points in the Unix library.
winealsa: Pass a client ptr to the callback instead of a stream.
winealsa: Use UINT64 handles to represent the stream.
winealsa: Return offsets rather than ptrs to the strings.
winealsa: Limit Wow64 buffer allocations to 32-bit addresses.
winealsa: Implement Wow64 mmdevapi entry points in the Unix libraray.
winealsa: Implement Wow64 midi entry points in the Unix library.
Jacek Caban (78):
winex11: Directly use ntdll for registry access in setup_options.
winex11: Directly use ntdll for registry access in create_xcursor_system_cursor.
winex11: Directly use ntdll for registry access in X11DRV_GetICMProfile.
winex11: Directly use ntdll for registry access in get_display_device_reg_key.
winex11: Directly use ntdll for registry access in read_registry_settings.
winex11: Directly use ntdll for registry access in write_registry_settings.
win32u: Implement NtGdiGetDCDword.
win32u: Implement NtGdiGetDCPoint.
winex11: Directly use win32u for GDI functions in bitblt.c.
winex11: Directly use win32u for GDI functions in window.c.
winex11: Directly use win32u for GDI functions in graphics.c.
winex11: Directly use win32u for GDI functions in palette.c.
winex11: Directly use win32u for GDI functions in xrender.c.
winex11: Directly use win32u for GDI functions in more places.
kernelbase: Add support for CREATE_NO_WINDOW flag in CreateProcess.
win32u: Introduce inline helpers for NtUserCallNoParam calls.
win32u: Use NtUserCallHwndParam for MirrorRgn implementation.
win32u: Introduce inline helpers for NtUserCallOneParam calls.
win32u: Remove no longer needed NtUserCallOneParam exports.
win32u: Introduce inline helpers for NtUserCallTwoParam calls.
win32u: Introduce inline helpers for NtUserCallHwnd calls.
win32u: Introduce inline helpers for NtUserCallHwndParam calls.
winex11: Remove no longer needed helpers.
winex11: Directly use win32u for user functions in window.c.
user32: Get rid of __wine_set_pixel_format.
win32u: Move NtUserExcludeUpdateRgn implementation from user32.
win32u: Move NtUserChildWindowFromPointEx implementation from user32.
win32u: Move EnableWindow implementation from user32.
win32u: Introduce NtUserMapWindowPoints.
win32u: Move NtUserClientToScreen implementation from user32.
win32u: Introduce NtUserGetMessagePos.
winex11: Directly use win32u for user functions in mouse.c.
winex11: Directly use win32u for user functions in opengl.c.
winex11: Directly use win32u for user functions in settings.c.
winex11: Directly use win32u for user functions in event.c.
winex11: Directly use win32u in more places.
win32u: Move NtUserTranslateMessage implementation from user32.
win32u: Move CreatePopupMenu implementation from user32.
win32u: Move NtUserCheckMenuItem implementation from user32.
win32u: Move NtUserEnableMenuItem implementation from user32.
win32u: Move DrawMenuBar implementation from user32.
win32u: Move ShowOwnedPopups implementation from user32.
win32u: Move more WM_SYSCOMMAND handling from user32.
win32u: Use winuser.h inline rect helpers.
ntdll: Provide RtlInitUnicodeString for unixlibs.
win32u: Use RtlInitUnicodeString from ntdll.so.
winex11: Use pthread for surface locking.
winex11: Use pthread for keyboard lock.
winex11: Use pthread for synchronization in opengl.c.
winex11: Use pthread for palette locking.
winex11: Use pthread for settings locking.
winex11: Use pthread for synchronization in vulkan.c.
winex11: Use pthread for win data locking.
winex11: Use pthread for D3DKMT locking.
winex11: Use pthread for error handler locking.
winex11: Use pthread for xrandr locking.
winex11: Use pthread for xrender locking.
winex11: Use NtUserBuildHwndList for has_owned_popup implementation.
winex11: Use build_hwnd_list for X11DRV_DisplayDevices_Update implementation.
winex11: Use pthread_once in create_x11_physdev.
win32u: Expose public parts of user_thread_info in ntuser.h.
winex11: Use NtUserGetThreadInfo to access thread data.
winex11: Use TEB to store driver thread data.
winex11: Directly use ntdll in display_device_init mutex.
win32u: Move NtUserFindWindowEx implementation from user32.
win32u: Move NtUserSetMenuContextHelpId implementation from user32.
win32u: Move NtUserGetMenuItemRect implementation from user32.
win32u: Move NtUserSetMenu implemenetation from user32.
win32u: Move GetMenuInfo implementation from user32.
win32u: Move is_window_rect_full_screen implementation from winex11.
winex11: Use Unix environment variable in remove_startup_notification.
win32u: Move NtUserThunkedMenuInfo implementation from user32.
win32u: Move NtUserSetMenuDefaultItem implementation from user32.
win32u: Move NtUserSetClipboardViewer implementation from user32.
win32u: Move NtUserChangeClipboardChain implementation from user32.
win32u: Move EnumClipboardFormats implementation from user32.
winex11: Use a simple sdbm hash implementation in X11DRV_GetICMProfile.
winex11: Directly use ntdll in X11DRV_GetICMProfile.
Jinoh Kang (1):
include: Remove duplicate definitions of UOI_* macros.
Julian Rüger (1):
po: Update German translation.
Matteo Bruni (1):
d3dxof/tests: Remove redundant skips after ok() calls.
Mohamad Al-Jaf (2):
include: Add CMSMPEGDecoderMFT coclass.
include: Add CLSID_MSVPxDecoder declaration.
Nikolay Sivov (25):
evr/mixer: Implement GetAvailableVideoProcessorModes().
evr/mixer: Implement GetVideoProcessorCaps().
hlink: Use CRT allocation functions.
hlink: Return requested interface when creating IHlinkBrowseContext instance.
hlink: Return requested interface when creating IHlink instance.
hlink: Return correct requested interface from HlinkCreateFromMoniker().
hlink: Return requested interface from HlinkCreateFromString().
mfplat: Fix alignment used by audio buffers created with MFCreateMediaBufferFromMediaType().
wbemprox: Use CRT memory allocation functions.
wbemprox: Remove string duplication helper.
evr: Add IAMFilterMiscFlags interface.
d3dxof: Build without -DWINE_NO_LONG_TYPES.
d3dx10: Build without -DWINE_NO_LONG_TYPES.
ddrawex: Build without -DWINE_NO_LONG_TYPES.
ddrawex/tests: Build without -DWINE_NO_LONG_TYPES.
ddrawex/tests: Simplify refcount helper.
d3dxof/tests: Build without -DWINE_NO_LONG_TYPES.
d3dxof/tests: Simplify refcount helper.
ddraw: Build without -DWINE_NO_LONG_TYPES.
xmllite/tests: Use wide string literals.
gdi32: Use NtUserGetSysColor() directly.
dwrite/tests: Use safe table access helpers for GetFontSignature().
dwrite/tests: Fix context text.
wusa: Remove string duplication helper.
ddraw: Improve tracing format for unsigned fields.
Paul Gofman (5):
msvcp140: Implement _Copy_file().
kernelbase: Reset last error on success in CopyFileExW().
ntdll: Increase kernel stack size.
ntdll: Remove unused PTHREAD_STACK_MIN definition.
crypt32: Support CERT_QUERY_OBJECT_BLOB in CRYPT_QueryEmbeddedMessageObject().
Rafał Harabień (2):
user32: Use SWP_NOACTIVATE flag when resizing etched static control.
user32/tests: Remove duplicated SS_*RECT static control tests.
Rémi Bernon (23):
kernel32/tests: Add invalid pointer heap validation tests.
kernel32/tests: Add some GetProcessHeaps tests.
kernel32/tests: Add some HeapWalk tests.
kernel32/tests: Cleanup and add Heap(Query|Set)Information tests.
kernel32/tests: Add some HeapWalk tests for the LFH frontend.
kernel32/tests: Tweak tests results for w7pro64.
kernel32/tests: Reduce the number of GlobalAlloc size tests.
ntdll: Use a dedicated member for shared heap flag.
ntdll: Fix main heap struct layout and flags members.
kernelbase: Allocate global memory handle table dynamically.
include: Add Windows.Gaming.Input.RacingWheel runtimeclass declaration.
include: Remove nested namespaces in windows.gaming.input.forcefeedback.idl.
include: Add Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect interface declaration.
dinput/tests: Add tests for joystick with many axes and units.
dinput/tests: Add some IRawGameController_get_ForceFeedbackMotors tests.
dinput/tests: Queue IRP when the expect ret_status is STATUS_PENDING.
dinput/tests: Add more IForceFeedbackMotor and IAsyncOperation_boolean tests.
windows.gaming.input: Introduce Windows.Gaming.Input.RacingWheel activation factory.
windows.gaming.input: Implement IRacingWheelStatics interface for RacingWheel.
windows.gaming.input: Implement ICustomGameControllerFactory interface for RacingWheel.
windows.gaming.input: Implement IRacingWheelStatics2 interface for RacingWheel.
windows.gaming.input: Implement RacingWheel runtimeclass stub.
dinput/tests: Add some RacingWheel runtimeclass tests.
Timo Zuccarello (1):
winex11.drv: Do not assign reserved virtual key 0xE0 to key codes.
Zebediah Figura (27):
winegstreamer: Use WG_MAJOR_TYPE_UNKNOWN to mark a stream that should not be forced into a certain format.
winegstreamer: Explicitly disable streams in start_pipeline().
winegstreamer: Explicitly disable streams in parser_init_stream().
winegstreamer: Enable wg_parser streams on creation.
ntdll/tests: Add some tests for NtQueryDirectoryObject().
ntdll: Do not write the "context" parameter of NtQueryDirectoryObject on failure.
ntdll: Do not write the "ret_size" parameter of NtQueryDirectoryObject on failure.
server: Return STATUS_BUFFER_TOO_SMALL instead of STATUS_BUFFER_OVERFLOW from get_directory_entry.
kernelbase: Set user_lcid to the user locale, not the system locale.
ntdll: Return the required length from NtQueryDirectoryObject().
ntdll: Don't return STATUS_BUFFER_OVERFLOW if the buffer is too small to hold one entry.
ntdll: Write a null terminator in NtQueryDirectoryObject.
include: Add amva.h.
include: Add videoacc.idl.
quartz/tests: Test more VMR7 interfaces in all modes.
quartz/tests: Check for IAMVideoAccelerator.
quartz/vmr9: Stub IAMVideoAccelerator.
wined3d: Factor out context_gl_apply_texture_draw_state().
wined3d: Make wined3d_context_gl_set_draw_buffer() static.
user.exe: Implement SetSystemTimer() using SetTimer().
user32: Toggle the caret based on the timer ID in DispatchMessage().
user32: Update mouse tracking information based on the timer ID in DispatchMessage().
win32u: Remove the "proc" parameter to NtUserSetSystemTimer().
win32u: Do not call the lparam for WM_SYSTIMER messages.
user32: Do not call the lparam for WM_SYSTIMER messages.
setupapi: Avoid leaking subKey in SETUPDI_AddDeviceInterfaces().
ddraw/tests: Use winetest_push_context() in test_viewport().
Zhiyi Zhang (14):
include: Avoid a C++ keyword for RegisterUserApiHook().
kernel32/tests: Check against INVALID_HANDLE_VALUE for CreateActCtxW() return values.
kernel32/tests: Add more CreateActCtx() tests.
shell32: Activate context at ID 123 before loading control panel applets.
rundll32: Activate context at ID 123 before calling library functions.
appwiz.cpl: Enable visual styles.
inetcpl.cpl: Enable visual styles.
joy.cpl: Enable visual styles.
ieframe: Enable visual styles.
user32/tests: Avoid unnecessary display mode changes.
user32/tests: Test NUMCOLORS for display DCs.
win32u: Return -1 for NUMCOLORS with 8-bit display DCs.
include: Add windows.foundation.metadata.idl.
wintypes: Add stub dll.
Ziqing Hui (5):
d2d1/tests: Add tests for GetImageLocalBounds().
d2d1: Implement GetImageLocalBounds() for bitmap.
d2d1/tests: Add tests for context unit mode.
d2d1: Implement GetUnitMode().
d2d1: Implement SetUnitMode().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 6.0.4 is now available.
What's new in this release:
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.0/wine-6.0.4.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.0/wine-6.0.4.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.0.4 (total 42):
12732 Nota Bene crashes on install
26350 Dungeons demo (OGRE) fails to load its plugins (LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH and relative path)
32183 Cannot open console device read only, then read from it to get input
39699 EDT for Windows installer crashes inside wine`s hhctrl.ocx
41098 Descent 3 (GOG version) has problem when running with OpenGL renderer (Nvidia proprietary drivers)
42030 winedbg: Internal crash at 0x9f58fd40
44202 undname.c fails to parse symbols with rvalue-reference semantics '&&'
47287 Accessible Event Watcher Tool 'accevent.exe' from Windows 10 SDK (10.0.17763.x) crashes on unimplemented function oleacc.dll.AccessibleObjectFromEvent
48631 Multiple games display text as squares (Death to Spies: Moment of Truth, Shadow Warrior, Resident Evil 4 HD)
48950 NVDA needs oleacc.AccessibleObjectFromPoint implementation for mouse tracking
50370 Gothic 1 doesn't start correctly when screen resolution of the game matches display resolution
50526 ConEmu wineconsole Ctrl+m has different behavior
50714 YooSee CMS client 10.0.0.53 crashes after login since Wine 5.12 (ntdll built as PE)
51163 WinOffice Pro 5.3 stops after splashscreen, needs WMI class SoftwareLicensingProduct
51195 Lara Croft and the Temple of Osiris doesn't launch
51220 version:info - In Wine the GetFileVersionInfoEx() checks fail in non-English locales
51396 cl.exe 64bit fails with internal compiler error, needs support for separated code segments in vcruntime140_1
51598 cmd.exe crashes on "if exist" without arguments
51821 EVE Online Client Crashes Due to differences in how Wine and Windows handle LdrGetDllPath with dwFlags 0x8 and relative path
51860 Missing include for uid_t on musl-based systems
51864 VeraCrypt Installer for 1.24-Update7 (Win8+) fails with HRESULT 0x800288BD
51911 vbscript does not handle strings in if clauses
51938 Safe Exam Browser needs "DNSDomain" from Win32_NetworkAdapterConfiguration
51959 Missing procedure GetDayLightFlag
51968 Winaero WEI Tool: Crash due to C:\windows\performance\winsat\datastore missing
51978 Autodesk Fusion 360 crashes on unimplemented function msvcp140.dll.?table@?$ctype@D@std@@QEBAPEBFXZ
51983 foobar2000 v1.5.1+ crashes on startup with Wine v6.6+ with Windows version set to "Windows 10"
52076 Wrong icons placement when using a theme
52082 Ace Ventura (CD-ROM) crashes on start
52102 outSPOKEN 3.0 demo crashes on unimplemented function krnl386.exe16.GetLPErrMode
52141 NetAPI detection in configure is broken
52173 Kodi crashes on unimplemented function wsdapi.dll.WSDCreateDiscoveryProvider
52200 Yamizome Liberator (demo): In-game video isn't played.
52220 TMIDI Player, Cherry: Playback with multiple MIDI ports is broken
52224 inetmib1:main test times out in linux
52298 Opening PPT with Freeoffice Presentations crashes on unimplemented function ole32.dll.OleConvertIStorageToOLESTREAMEx
52327 Wrong WM_CONTEXTMENU message default processing
52349 Vortex Mod Manager Starts but Infinitely Loads
52378 Python WMI module: AttributeError: wbemErrInvalidQuery
52494 shell32 progman_dde tests crash if run immediately after prefix creation
52583 ApiSetView does not display export ordinals correctly
52626 MahjongSoul needs unimplemented function combase.dll.RoSetErrorReportingFlags
----------------------------------------------------------------
Changes since 6.0.3:
Akihiro Sagawa (1):
quartz: Fix a race in IMediaFilter::Pause().
Alex Henrie (2):
krnl386: Add GetLPErrMode stub.
explorer: Only try to destroy the IShellWindows object if it exists.
Alexandre Julliard (3):
configure: Fix the netapi check.
krnl386.exe: Page-align the GlobalAlloc() size when the selector limit is in pages.
user.exe: Make sure that the thunk selector doesn't get freed.
Bernhard Kölbl (1):
oleaut32: Allow the registration of 64bit typelibs from a 32bit context.
Bernhard Übelacker (2):
hhctrl.ocx: Handle only the number of bytes given in html_fragment_len.
inetmib1: Fix endianess issue with dwLocalAddr and dwLocalPort.
Christian Costa (1):
d3dx9: Also check for a valid alpha channel for TGA images.
Connor McAdams (2):
oleacc: Implement AccessibleObjectFromEvent.
winex11.drv: Add mutable pixel format awareness.
Derek Lesho (1):
kernelbase: Fix parameter order of FindResourceExW call for non-localized path.
Doug Lyons (1):
msvcrt: Do not acquire fd lock in msvcrt_create_io_inherit_block.
Eric Pouech (2):
winedbg: Fix command line arguments parsing.
cmd: Don't crash on 'if exist' without parameter.
Gabriel Ivăncescu (3):
comctl32: Redraw children when the combo box is dropped down.
user32: Redraw children when the combo box is dropped down.
ddraw: Use WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES only if window is not in foreground.
Gerald Pfeifer (1):
configure: Diagnose if NetAPI is not present.
Hugh McMaster (1):
conhost: Process Ctrl-M key input.
Huw D. M. Davies (1):
user32: Set WM_CONTEXTMENU's wparam to the child window's handle.
Ismael Luceno (1):
server: Fix missing include for uid_t.
Jacek Caban (1):
ntdll: Fix handling \\.\CON path in RtlDosPathNameToNtPathName.
Jacek Konieczny (1):
winealsa.drv: Use separate port for each output device.
Louis Lenders (5):
wbemprox: Add empty DNSDomain to Win32_NetworkAdapterConfiguration.
combase: Add stub for RoOriginateError.
wsdapi: Add stub for WSDCreateDiscoveryProvider.
wbemprox: Add some properties of SoftwareLicensingProduct class.
ole32: Add stub for OleConvertIStorageToOLESTREAMEx.
Loïc Rebmeister (1):
loader: Create performance\winsat\datastore on prefix creation.
Matteo Bruni (1):
combase: Add RoSetErrorReportingFlags() stub.
Nick Fox (2):
kernel32: Add tests for LdrGetDllPath with LOAD_WITH_ALTERED_SEARCH_PATH.
ntdll: Fix LdrGetDllPath with LOAD_WITH_ALTERED_SEARCH_PATH without a path.
Nikolay Sivov (3):
d3d11: Always initialize out view pointer in CreateRenderTargetView().
include: Add WbemErrorEnum error codes.
comctl32/listview: Initialize subitem text buffer before drawing each subitem.
Olivier F. R. Dierick (1):
taskschd: Set count to zero in regtasks_get_Count stub.
Piotr Caban (5):
msvcp100: Export ctype<char>::table function.
oleacc: Add AccessibleObjectFromPoint implementation.
msvcrt: Don't use GetDaylightFlag function in _ftime64.
vcruntime140_1: Add support for exception separated code segments.
ucrtbase: Add support for r-value demangling in unDName.
Robert Wilhelm (1):
vbscript: Support VT_BSTR in stack_pop_bool.
Rémi Bernon (1):
ntdll: Use the unrolled memset from msvcrt.
Thomas Faber (1):
msvcrt/tests: Show that spawn does not require locking of fds.
Zebediah Figura (1):
ntdll/tests: Add more tests for RtlDosPathNameToNtPathName_U().
Zhiyi Zhang (1):
comctl32/button: Support image list margin for buttons with BS_CENTER or BS_VCENTER.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 7.6 is now available.
What's new in this release:
- Mono engine updated to version 7.2.0.
- More progress on the PE conversion of graphics drivers.
- Locale support using the new CLDR-based database.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.x/wine-7.6.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.x/wine-7.6.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.6 (total 17):
42309 The Crew (Uplay) crashes at start
50158 Oculus Runtime won't start: "Could not load file or assembly 'Daybreak'"
51437 If Windows version changes from 7 to 10, Microsoft Edge calls unimplemented function uiautomationcore.dll.UiaRaiseAutomationPropertyChangedEvent
52340 wine-mono + RMS Express: COM Port errors connecting to radios
52401 Improper synchronization in sock_recv/sock_send leads to arbitrary reordering of completion of I/O requests
52616 SteelSeries GG installer crashes on unimplemented function setupapi.dll.SetupQueryInfVersionInformationW
52628 game frozen after opening due to infinite loop in winmm.mmioDescend()
52638 The 64-bit winmm:mci fails and crashes in test_openCloseWAVE() in Wine
52652 Adobe Photoshop 7.0 crashes on startup
52658 Swisslog freezes on startup
52660 chunk allocator for GL uniform buffers kills performance in World of Warships
52668 Sparx Enterprise architect v15.2 1560 crashing on wine 7.4
52698 JW Scheduler installer fails to start: "Requires Microsoft .NET Framework 4.5.2"
52713 Nota Bene installer has black background
52721 d3dx9_36:effect, d3dx11_42:d3dx11 and d3dx11_43:d3dx11 broken by use of vkd3d_shader_compile() for D3DCompile2()
52722 Winetricks dotnet installation hangs at wineserver -w
52728 wine-7.5 build fails in Ubuntu 18.04
----------------------------------------------------------------
Changes since 7.5:
Alex Henrie (2):
shell32: Fix sizeof argument in DoPaste (Coverity).
mciwave: Fix bad free in MCI_SendCommandAsync (Coverity).
Alexandre Julliard (60):
kernelbase: Reimplement LOCALE_SNAME in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_SPARENT in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LCIDToLocaleName() using the locale.nls data.
kernelbase: Reimplement LOCALE_ILANGUAGE/IDEFAULTLANGUAGE in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_*LANGNAME in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_*CTRYNAME in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_*DISPLAYNAME in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_*DEFAULTCODEPAGE in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_*DAYNAME in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_*MONTHNAME in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_*INFINITY/NAN in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_*PERCENT in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_*AM/PM in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_*CURRNAME/CURRENCY in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_ICOUNTRY/IGEOID in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_SNATIVEDIGITS in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement date/time format strings in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement calendar options in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement misc format values in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_FONTSIGNATURE/SOPENTYPELANGUAGETAG in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement LOCALE_SSORTNAME in GetLocaleInfoW/Ex.
kernelbase: Reimplement number formatting values in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement currency formatting values in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement misc locale info values in GetLocaleInfoW/Ex using the locale.nls data.
kernelbase: Reimplement values computed from currency formats in GetLocaleInfoW/Ex.
kernelbase: Reimplement values computed from date/time formats in GetLocaleInfoW/Ex.
kernelbase: Reimplement fetching customized values from the registry in GetLocaleInfoW/Ex.
kernelbase: Reimplement updating the locale values in the registry on locale change.
kernelbase: Reimplement SetLocaleInfoW().
kernelbase: Remove the old GetLocaleInfoEx/W implementation.
make_unicode: Generate the GeoID table in locale.nls.
kernelbase: Reimplement the Geo ID functions using the locale.nls data.
kernel32: Move the language group resources to kernelbase.
kernel32: Move the error message table to kernelbase.
msvcrt: Use EnumSystemLocalesEx instead of directly accessing kernel32 resources.
kernel32: Remove the old locale information stored in resources.
ntdll: Recognize more script names in Unix locales.
kernelbase: Set system/user locales by name if they have no LCID.
kernelbase: Check the locale name instead of the LCID to detect changes.
oleaut32: Silence error message for unknown languages.
widl: Silence error message for unknown languages.
wrc: Remove the verify translation mode.
wrc: Remove resource dumping support.
wrc: Store language as a simple integer.
wrc: Store version and characteristics as simple integers.
wrc: Use the locale.nls data to determine a language's codepage.
wrc: Avoid loading locale.nls when not necessary.
makedep: Add dependency on locale.nls for rc files.
make_unicode: Generate the calendar table in locale.nls.
kernelbase: Reimplement GetCalendarInfoEx/W using the locale.nls data.
kernel32: Simplify GetGeoInfoA() implementation.
kernel32: Simplify Get/SetCalendarInfoA() implementation.
kernelbase: Fix IsValidLocale() and GetLocaleInfo() with special LOCALE_* identifiers.
kernelbase: Implement NlsValidateLocale().
kernelbase: Reimplement Internal_EnumCalendarInfo() using the locale.nls data.
kernelbase: Reimplement Internal_EnumTimeFormats() using the locale.nls data.
kernelbase: Reimplement Internal_EnumDateFormats() using the locale.nls data.
make_unicode: Update to CLDR version 41.
xml2: Import upstream release 2.9.13.
xslt: Import upstream release 1.1.35.
Andrew Eikum (2):
evr/presenter: Fix hns-to-msec conversion multiplier.
evr/presenter: Place early samples back to the front of the queue.
Bernhard Kölbl (15):
windows.media.speech: Add IVector<HSTRING>.
windows.media.speech: Add IVectorView<HSTRING>.
windows.media.speech: Add IIterable<HSTRING> stubs.
windows.media.speech: Add IIterator<HSTRING>.
windows.media.speech: Store speech commands in listconstraint.
windows.media.speech: Add IVector<Inspectable*>.
windows.media.speech: Add IVectorView<Inspectable*>.
windows.media.speech: Add IIterable<IInspectable*> stubs.
windows.media.speech: Add IIterator<Inspectable*>.
windows.media.speech: Implement ISpeechRecognizer_get_Constraints.
include/winerror.h: Add missing WinRT HRESULT codes.
include/windows.foundation.collections.idl: Set correct return type for IAsyncOperation_GetResults.
windows.media.speech: Add tests for IAsyncOperation.
windows.media.speech: Add IAsyncOperation<Inspectable*> stub.
windows.media.speech: Add IAsyncInfo stub to IAsyncOperation<Inspectable*>.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Daniel Lehman (3):
ntdll/tests: Add some CloseHandle exception tests.
ntdll/tests: Test return values from CloseHandle.
ntdll: Return success for magic handles.
Dmitry Timoshkov (7):
kernel32/tests: Add a test to show that services.exe is supposed to run in the session 0.
wined3d: Avoid calling _strnicmp() with limit -1.
sc: Add support for the 'query' command.
sc: Print service status after 'start' and 'stop' commands.
sc: Don't silently fail when something doesn't work as expected in a few more places.
dwrite/tests: Add some fallback tests for Segoe UI Symbol.
ucrtbase/tests: Add a test for wcsnicmp() with limit -1.
Eric Pouech (14):
shell32: Always allocate a whole ITEMIDLIST structure.
mciwave: Correctly handle error return status from mmioRead.
winmm: Properly handle mmioRead/mmioWrite in case of errors.
urlmon: Use I width modifier instead of casting to DWORD.
comdlg32: Use I width modifier instead of casting to LONG.
mciavi32: Use I width modifier instead of casting to DWORD.
iphlpapi: Don't cast SIZE_T to DWORD in trace, use %I instead.
mstask: Don't cast size_t to DWORD in trace, use %I instead.
schedvc: Don't cast size_t to DWORD in trace, use %I instead.
dmstyle: Don't cast size_t to DWORD in trace, use %I instead.
dbghelp: Trace 64-bit integers with I64 width modifier.
dxdiagn: Use I64 width modifier for 64-bit integers in printf.
snmpapi: Trace 64-bit integers with I64 width modifier.
winedbg: Trace 64-bit integers with I64 width modifier.
Esme Povirk (3):
mscoree: Update Wine Mono to 7.2.0.
mscoree/tests: Build loadpaths.exe as GUI instead of CUI.
mscoree/tests: Create csc.exe process as detached.
Georg Lehmann (2):
winevulkan: Update to VK spec version 1.3.210.
winevulkan: Update to VK spec version 1.3.211.
Gijs Vermeulen (1):
setupapi: Add SetupQueryInfVersionInformationA/W stub.
Hans Leidekker (8):
crypt32: Correctly free memory in CNG_ImportRSAPubKey().
crypt32: Consistently use CryptMemAlloc/Free().
crypt32: Use CRT allocation functions.
crypt32/tests: Use wide character string literals.
crypt32/tests: Add more OCSP response decoding tests.
bcrypt: Fix array index in BCryptEnumAlgorithms().
bcrypt: Implement BCryptFreeBuffer().
cryptnet: Support verifying certificate revocation with OCSP.
Henri Verbeet (3):
wined3d: Return the correct length from config_list_get_value().
wined3d: Add GPU information for NVIDIA Tesla T4.
wined3d: Spawn a separate thread to adjust the window state of windows belonging to other threads.
Huw D. M. Davies (7):
winealsa: Add missing includes.
wineoss: Introduce a test_connect syscall.
wineoss: Pass a buffer to oss_clean_devnode().
wineoss: Add a helper to open the device.
wineoss: Move get_ossdevice_from_guid() earlier in the file.
wineoss: Move get_endpoint_ids to the unixlib.
combase: Don't start dllhost if the CLSID key doesn't exist.
Jacek Caban (37):
win32u: Return client menu name from NtUserUnregisterClass.
user32: Introduce reply_message_result helper.
win32u: Move reply_message_result implementation from user32.
user32: Move unpack_message call to User32CallWindowProc.
win32u: Move process_sent_messages implementation from user32.
win32u: Move NtUserPeekMessage implementation from user32.
win32u: Move NtUserGetMessage implementation from user32.
win32u: Move NtUserMsgWaitForMultipleObjectsEx implementation from user32.
win32u: Move NtUserWaitForInputIdle implementation from user32.
user32: Avoid internal structs in post_dde_message.
win32u: Move send_internal_message_timeout implementation from user32.
win32u: Move __wine_send_input implementation from user32.
win32u: Move NtUserSendInput implementation from user32.
win32u: Return LRESULT from NtUserMessageCall.
win32u: Use public declaration for NtUserPostMessage.
win32u: Move SendMessageTimeoutW implementation from user32.
win32u: Move SendMessageW implementation from user32.
user32: Use NtUserMessageCall for SendMessageTimeoutA implementation.
user32: Use NtUserMessageCall for SendMessageA implementation.
win32u: Move SendNotifyMessageW implementation from user32.
user32: Use NtUserMessageCall for SendNotifyMessageA implementation.
win32u: Move SendMessageCallbackW implementation from user32.
user32: Use NtUserMessageCall for SendMessageCallbackA implementation.
win32u: Add missing return in NtUserExitingThread implementation.
win32u: Move NtUserPostThreadMessage implementation from user32.
win32u: Move NtUserPostMessage implementation from user32.
win32u: Move process_hardware_message implementation from user32.
user.exe: Remove no longer used wait_message16.
win32u: Move NtUserCloseClipboard implementation from user32.
win32u: Improve string duplication helpers.
win32u: Move default window text setting to from user32.
win32u: Move WM_SETICON implementation from user32.
win32u: Move IsWindowEnabled implementation from user32.
win32u: Partially move WM_SYSCOMMAND implementation from user32.
win32u: Move __wine_set_user_driver implementation from user32.
win32u: Don't use CDECL for user driver functions.
win32u: Use more consistent NtUserMessageCall constant names.
Jan Sikorski (2):
wined3d: Increase the CS queue size.
wined3d: Reset and reuse Vulkan descriptor pools.
Jinoh Kang (2):
riched20/tests: Add tests for IRichEditOleCallback_QueryInsertObject.
riched20: Implement callback to IRichEditOleCallback_QueryInsertObject.
Lauri Kenttä (1):
po: Update Finnish translation.
Matteo Bruni (5):
d3dcompiler: Set initial_filename in D3DCompile2().
d3dx11/tests: Fix tests broken by using the HLSL compiler from vkd3d-shader.
d3dx9/tests: Fix tests broken by using the HLSL compiler from vkd3d-shader.
d3dcompiler: Always use vkd3d-shader's preprocessor.
d3dx9/tests: Increase tolerance in a quaternion test.
Mohamad Al-Jaf (9):
hid: Implement HidD_GetPhysicalDescriptor.
propsys: Implement VariantToStringWithDefault.
propsys/tests: Add VariantToStringWithDefault tests.
ncrypt: Map STATUS_NOT_SUPPORTED to NTE_NOT_SUPPORTED.
ncrypt: Warn on invalid flags in NCryptImportKey.
wusa: Support wow64 architecture identifier.
ncrypt: Implement NCryptIsAlgSupported.
ncrypt/tests: Add NCryptIsAlgSupported tests.
ncrypt: Map STATUS_NO_MEMORY to NTE_NO_MEMORY.
Nikolay Sivov (43):
browseui: Use CRT memory allocation functions.
browseui/tests: Remove string conversion helper.
dbgeng: Use CRT allocation functions.
mf/session: Trace seek position in Start().
opcservices: Use CRT allocation functions.
opcservices/tests: Use wide strings in test data.
xmllite: Use CRT allocation functions.
xmllite/tests: Use CRT allocation functions.
wer: Use CRT memory allocation functions.
scrobj: Use CRT allocation functions.
scrobj: Fix wrong cleanup logic for factory object.
scrobj/tests: Use CRT memory allocation functions.
fusion: Use CRT memory allocation functions.
sxs: Use CRT memory allocation functions.
user32: Add suspend-resume notification API stubs.
atl: Use CRT allocation functions.
sxs: Use CRT memory allocation functions.
explorerframe: Use CRT memory allocation functions.
comsvcs: Use CRT memory allocation functions.
dxva2: Use CRT memory allocation functions.
mfmediaengine/tests: Remove unused header include.
sxs/tests: Use CRT memory allocation functions.
msxml3/tests: Use CRT memory allocation functions.
directmanipulation: Use CRT memory allocation functions.
explorerframe/tests: Use CRT memory allocation functions.
uianimation: Use CRT allocation functions.
include: Add IDebugControl4 definition.
dbgeng: Update to IDebugControl4 stub.
include: Add IDebugAdvanced3 definition.
dbgeng: Update to IDebugAdvanced3 stub.
shell32/tests: Use CRT memory allocation functions.
xmllite/tests: Use wide string literals for the writer tests.
evr/presenter: Make GetCurrentImage() work without output window.
mf/session: Use correct format specifier for start position.
localui/tests: Use CRT allocation functions.
qmgr: Use CRT allocation functions.
wmp: Use CRT allocation functions.
wmic: Use CRT allocation functions.
wmp/tests: Remove unused include.
d3drm: Build without -DWINE_NO_LONG_TYPES.
dispex: Use CRT memory allocation functions.
dispex/tests: Use CRT allocation functions.
evr: Cleanup class factory methods.
Paul Gofman (5):
msvcrt/tests: Add test for ioinfo->exflag.
msvcr80: Fix ioinfo structure definition.
msvcrt: Use newer ioinfo structure for _MSVC_VER >= 80.
msvcr90/tests: Test ioinfo structure.
ucrtbase: Update ioinfo structure.
Piotr Caban (2):
oleacc/tests: Fix crash when current thread is not in foreground state.
msvcr100: Improve ThreadScheduler_ScheduleTask_loc stub.
Rafał Harabień (5):
comctl32/tests: Add more static control tests.
comctl32: Fix handling of SS_ETCHEDHORZ/SS_ETCHEDVERT static control styles.
comctl32: Send WM_CTLCOLORSTATIC for all static control types.
comctl32/tests: Fix invalidation in static control tests.
comctl32/tests: Remove now unused TODO_COUNT in static control tests.
Rémi Bernon (48):
kernel32/tests: Remove GlobalMemoryStatus loop and relax the checks.
winegstreamer: Implement H264 decoder GetInputStreamInfo.
winegstreamer: Implement H264 decoder GetOutputStreamInfo.
winegstreamer: Try creating a wg_transform in the H264 decoder.
winegstreamer: Use a GstBufferList for wg_transform input queue.
strmbase: Add a separate id for pins.
qedit: Use the right SampleGrabber pin names.
qcap: Use the right AVICo pin names.
quartz: Use the right ACMWrapper pin names.
quartz: Use the right AVIDec pin names.
quartz: Use the right VideoRenderer pin names.
kernel32/tests: Use 0xdeadbeef directly instead of a custom define.
kernel32/tests: Clean GlobalAlloc tests and move them together.
kernel32/tests: Clean LocalAlloc tests and move them together.
kernel32/tests: Add some HGLOBAL/HLOCAL limits tests.
kernel32/tests: Add some HGLOBAL/HLOCAL entry layout tests.
kernel32: Fix indentation of Global* functions.
kernel32: Make Global* traces and identifiers more consistent.
kernelbase: Fix indentation of LocalReAlloc.
kernelbase: Make (Global|Local)* traces and identifiers more consistent.
mf/tests: Fix incorrect array index when formatting blob value.
mf/tests: Increase the H264 decoder tests video frame size.
dinput/tests: Add some HidD_GetPhysicalDescriptor tests.
kernelbase: Check handle validity in unsafe_mem_from_HLOCAL.
kernelbase: Check pointer validity in unsafe_ptr_from_HLOCAL.
kernel32: Synchronize the HLOCAL helpers with kernelbase.
kernelbase: Implement internal KernelBaseGetGlobalData.
kernelbase: Allocate HLOCAL / HGLOBAL from a static handle table.
winegstreamer: Use a GstAtomicQueue for wg_transform output queue.
winegstreamer: Implement H264 decoder Process(Input|Output).
winegstreamer: Return S_OK from H264 decoder ProcessMessage.
kernelbase: Use the same HLOCAL entry pointer alignment as native.
kernelbase: Remove unnecessary handler from LocalLock.
kernelbase: Remove unnecessary handler from LocalUnlock.
kernelbase: Use the same HLOCAL flags / lock layout as native.
kernel32/tests: Add broken results for GlobalMemoryStatus test.
kernel32/tests: Cleanup and add more heap layout tests.
include: Add CWMAEncMediaObject class declaration to wmcodecdsp.idl.
include: Add CCOlorConvertDMO class declaration to wmcodecdsp.idl.
include: Add some MEDIASUBTYPE_V* GUIDs to wmcodecdsp.idl.
include: Add MFSampleExtension_CleanPoint to mfapi.h.
include: Add ACTIVATION_CONTEXT_SECTION_WINRT_ACTIVATABLE_CLASSES declaration.
kernel32/tests: Add some activatableClass manifest attribute tests.
ntdll: Support activatableClass activation context elements.
combase/tests: Add some RoGetActivationFactory tests with manifest.
kernel32/tests: Load all test function pointers on init.
kernel32/tests: Cleanup heap allocation functions tests.
kernel32/tests: Cleanup heap pointer alignment tests.
Santino Mazza (2):
ncrypt/tests: Test for NCryptVerifySignature.
ncrypt: Implement NCryptVerifySignature.
Sven Baars (2):
winemenubuilder: Search for an executable file when no file extension is provided.
winemenubuilder: Use the full path name when extracting an icon.
Zebediah Figura (11):
shell32: Use COM wrappers for IShellPropSheetExt and IShellExtInit.
user32: Remove redundant #ifdef around #undef.
user32: Compile some functions only on 64-bit architectures.
amstream: Use CRT memory allocators.
maintainers: Update the path to strmbase.
include: Add more URL_* flags.
winegstreamer: Disconnect source pins before calling wg_parser_disconnect().
winegstreamer: Protect access to the "enabled" field.
winegstreamer: Unblock waits in sink_chain_cb() when disabling a stream.
winegstreamer: Add traces to Unix call wrappers.
qcap/filewriter: Avoid casting to DWORD in an ERR message.
Zhiyi Zhang (5):
uxtheme: Check only the lower 16 bits of the return value of WM_ERASEBKGND.
uxtheme/tests: Test WM_ERASEBKGND return value from custom dialog procedures.
uxtheme: Return correct WM_ERASEBKGND result from custom dialog procedures.
uxtheme: Remove a redundant condition check.
setupapi: Return CR_SUCCESS for CM_Get_DevNode_Status{_Ex}.
Ziqing Hui (14):
d2d1: Fix a typo.
include: Add defines for ID2D1InkStyle.
include: Add defines for ID2D1Ink.
include: Add defines for ID2D1GradientMesh.
include: Add defines for ID2D1ImageSource.
include: Add defines for ID2D1ImageSourceFromWic.
include: Add defines for ID2D1TransformedImageSource.
include: Add defines for ID2D1DeviceContext2.
include: Add defines for ID2D1Device2.
include: Add defines for ID2D1Factory3.
include: Add defines for D2D1YCbCr effect.
include: Add defines for D2D1HighlightsShadows effect.
d2d1: Add stubs for ID2D1Factory3.
d2d1/tests: Add tests for D2D1Grayscale effect.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.5 is now available.
What's new in this release:
- ALSA driver converted to PE.
- Locale database generated from Unicode CLDR.
- HLSL compiler support with the bundled vkd3d.
- Initial support for the OCSP protocol.
- More cleanups to support 'long' type.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.x/wine-7.5.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.x/wine-7.5.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.5 (total 28):
16221 Nota Bene requires AUTOEXEC.NT
16222 Nota Bene requires CONFIG.NT
33188 wine explorer: wrong behavior when dragging with no items selected
34259 cygwin 2.819 installer hangs during postinstall
45422 ./tools/sfnt2fon/sfnt2fon.c shows a heap buffer overflow in fill_fontinfo()
46648 Core Temp 1.13 fails to start
50270 Operation Lovecraft: Fallen Doll crashes
50869 Killing Wine process in Wine 6.5 doesn't terminate the application because of the new use of start.exe
51017 Multiple programs (Microsoft PowerToys, MS Windows terminal) crash inside RegOpenKeyExW
51923 Minecraft for Windows 10 needs api-ms-win-core-windowserrorreporting-l1-1-1.dll
52048 CreateProcess() might not spawn console for new process
52294 DYSMANTLE needs d3d11_device_CreateRasterizerState1 implementation
52520 Samsung Magician 7.x crashes on unimplemented function setupapi.dll.SetupDiGetClassRegistryPropertyW
52574 PlayOnline Viewer crashes after 10-20 seconds
52580 Minecraft (Windows 10 edition) needs api-ms-win-core-memory-l1-1-5.dll
52613 mIRC: text from clipboard is pasted twice in text boxes
52623 Crash of `not_dll` test from `windows-rs` due missing implementation of `winspool.drv.GetSpoolFileHandle`
52645 McAfee "FRP" removable media encryption client crashes on unimplemented function shlwapi.dll.PathMatchSpecExW
52651 IrfanView 4.59 crashes on startup
52654 Multiple programs crash due to window class regression (QuickPar 0.9.1, HeidiSQL, SolSuite, IP super camera, ATPDraw, KakaoTalk)
52664 x86_64 bit vkd3d broken in --without-mingw build
52667 DTS Master Audio Suite can't select save file location when wine's "Light" theme is used
52669 GRID 2 crashes on launch
52670 The Evil Within 2 crashes on launch
52705 IRichEditOle::GetObject does not set REOBJECT's cp correctly
52711 Cakewalk Pro Audio 9.0 no longer works in wine 7.4
52717 dxgi:dxgi fails because DXGI_STATUS_OCCLUDED != S_OK
52725 Audacity 2.4.2 "Play" keyboard shortcut stopped working
----------------------------------------------------------------
Changes since 7.4:
Alex Henrie (1):
po: Update Catalan translation.
Alexandre Julliard (38):
dwrite: Only use __builtin_popcount in PE builds.
wined3d: Only use __builtin_popcount in PE builds.
vkd3d: Only use __builtin_popcount in PE builds.
mlang: Use a registry script to register codepages.
mlang: Register MIME charsets from the registry script.
mlang: Use EnumSystemLocalesEx() to enumerate locales.
mlang/tests: Don't test all possible invalid codepages.
mlang: Skip Unicode codepages in GetCharCodePages().
mlang: Store the codepage data in Unicode.
make_unicode: Generate locale.nls using the Unicode CLDR data.
ntdll: Add a helper function to map a section.
ntdll: Implement NtInitializeNlsFiles().
wow64: Add a wrapper for NtInitializeNlsFiles().
ntdll: Implement RtlGetLocaleFileMappingAddress().
kernel32/tests: Add tests for NtInitializeNlsFiles() and RtlGetLocaleFileMappingAddress().
wow64win: Add missing syscall for NtUserGetAtomName().
wow64win: Add missing syscall for NtUserGetClassName().
mlang: Skip locales that can't be converted to rfc1766 format.
po: Regenerate po files.
include: Add some structures for the undocumented locale.nls layout.
ntdll: Load the locale.nls file at startup.
ntdll: Reimplement RtlLocaleNameToLcid() using the locale.nls data.
ntdll: Implement RtlIsValidLocaleName().
ntdll: Implement RtlLcidToLocaleName().
ntdll: Use RtlLcidToLocaleName() in the preferred UI language stub.
ntdll: Move user/system locale initialization to ntdll.
ntdll: Support UTF-8 codepage in RtlInitCodePageTable().
ntdll/tests: Fix string test for UTF-8 default codepage.
kernel32/tests: Fix codepage test for UTF-8 default codepage.
kernelbase: Load the locale.nls file at startup.
kernelbase: Reimplement IsValidLocaleName() using the locale.nls data.
kernelbase: Reimplement IsValidLocale() using the locale.nls data.
kernelbase: Reimplement ConvertDefaultLocale() using the locale.nls data.
kernelbase: Reimplement LocaleNameToLCID() using the locale.nls data.
kernelbase: Reimplement EnumUILanguages() using the locale.nls data.
kernelbase: Reimplement EnumSystemLocalesA/W/Ex using the locale.nls data.
make_unicode: Generate the language groups registry keys.
configure: Try to detect a C99 flag for the cross compiler.
Alistair Leslie-Hughes (1):
kernelbase: Trace not supported flags in CopyFileExW.
Andrew Eikum (1):
windows.media.speech: Add ISpeechSynthesizer2 stub.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Austin English (1):
winspool: Add GetSpoolFileHandle() stub.
Bernhard Kölbl (10):
windows.media.speech: Add IAgileObject to SpeechRecognizer.
include/windows.media.speechrecognition.idl: Add SpeechRecognitionListConstraint class.
windows.media.speech/tests: Add tests for SpeechRecognitionListConstraint.
windows.media.speech: Add SpeechRecognitionListConstraint statics stub.
windows.media.speech: Add SpeechRecognitionListConstraint stub.
windows.media.speech: Implement ISpeechRecognitionConstraint isEnabled.
windows.media.speech: Add SpeechContinousRecognitionSession stub.
windows.media.speech: Implement ISpeechRecognizer2_get_ContinuousRecognitionSession.
windows.media.speech: Implement ResultGenerated event.
windows.media.speech: Implement Completed event.
Brendan Shanks (1):
win32u: Remove workaround for Mac OS X 10.4 and 10.5.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Daniel Lehman (5):
server: Always close previous IRP handle.
kernel32/tests: Add test for FileTimeToSystemTime.
kernelbase: Check for invalid value in FileTimeToSystemTime.
propsys: Implement InitVariantFromFileTime.
propsys/tests: Add some InitVariantFromFileTime tests.
Dmitry Timoshkov (5):
combase: Always pass explicit access to the registry helpers.
combase: Make ProgIDFromCLSID() work in WoW64 setup.
combase: Execute dllhost.exe for correct architecture in a WoW64 setup.
sc: Fix parsing parameter name in the 'switch=param' constructs.
sc: Don't silently fail when something doesn't work as expected.
Eric Pouech (57):
oleaut32/tests: Convert UI8 to existing integer test scheme.
oleaut32/tests: Convert UI8Copy to existing integer test scheme.
oleaut32/tests: Ensure (re)definition of EXPECTRES for all integer types.
ntdll/tests: Use correct integral type.
user32/tests: Enable compilation with long types.
user32/tests: Enable compilation with long types.
user32/tests: Enable compilation with long types.
user32/tests: Enable compilation with long types.
user32/tests: Enable compilation with long types.
user32/tests: Enable compilation with long types.
user32/tests: Enable compilation with long types.
user32/tests: Enable compilation with long types.
oleaut32/tests: Use correct integral type.
oleaut32/tests: Enable compilation with long types.
user32/tests: Enable compilation with long types.
user32/tests: Enable compilation with long types.
user32/tests: Enable compilation with long types.
kernel32/tests: Add some console tests about creating cui vs gui processes.
services: Start services detached from console.
start: Force no console creation when using start /exec.
kernelbase: Handle corner case in CreateProcess.
dxgi/tests: Build without -DWINE_NO_LONG_TYPES.
dxgi: Build without -DWINE_NO_LONG_TYPES.
d3d12/tests: Build without -DWINE_NO_LONG_TYPES.
d3d12: Build without -DWINE_NO_LONG_TYPES.
user32/tests: Finalize migration to long types.
ntdll/tests: Enable compilation with long types in atom.c.
ntdll/tests: Enable compilation with long types in directory.c.
ntdll/tests: Enable compilation with long types in error.c.
ntdll/tests: Enable compilation with long types in change.c.
ntdll/tests: Enable compilation with long types in exception.c.
ntdll/tests: Enable compilation with long types in env.c.
ntdll/tests: Enable compilation with long types in large_int.c
ntdll/tests: Enable compilation with long types in om.c.
ntdll/tests: Enable compilation with long types in file.c.
winedbg: Get rid of dbg_outputW helper.
winedbg: Use Unicode APIs for process/thread enumeration.
winedbg: Get rid of dbg_W2A helper.
ntdll/tests: Enable compilation with long types in pipe.c.
ntdll/tests: Enable compilation with long types in port.c.
ntdll/tests: Enable compilation with long types in info.c.
ntdll/tests: Enable compilation with long types in reg.c.
ntdll/tests: Enable compilation with long types in path.c.
ntdll/tests: Enable compilation with long types in string.c.
ntdll/tests: Enable compilation with long types in rtlbitmap.c.
ntdll/tests: Enable compilation with long types in sync.c.
ntdll/tests: Enable compilation with long types in rtlstr.c.
ntdll/tests: Enable compilation with long types in rtl.c.
ntdll/tests: Enable compilation with long types in thread.c.
ntdll/tests: Enable compilation with long types in threadpool.c.
ntdll/tests: Enable compilation with long types in time.c.
ntdll/tests: Enable compilation with long types in virtual.c.
ntdll/tests: Enable compilation with long types in wow64.c.
ntdll/tests: Finalize migration to long types.
windows.globalization: Use a flexible array member for hstring_vector.
conhost: Correctly recompute start of edit line on ReadConsole.
conhost: Support relative cursor positioning.
Floris Renaud (1):
po: Update Dutch Translation.
François Gouget (12):
kernelbase: Add a trailing linefeed to a couple of FIXME() messages.
po: Fix the French translation of 'code page'.
po: Fix backslash duplication in a French translation.
po: Remove a space before a linefeed in the French translation.
po: Remove spaces before linefeeds in the Spanish translation.
po: Remove a space before a linefeed in the Chinese translation.
po: Remove spaces before linefeeds in the Dutch translation.
po: Fix an accelerator shortcut in the Norwegian Bokmål translation.
ntdll: Return the UI language id in uppercase.
ncrypt: Fix the spelling of a FIXME() message.
cmd: Fix the spelling of a batch file comment.
win32u: Make some functions static.
Gabriel Ivăncescu (17):
jscript: Pass a jsval "this" to builtin functions.
jscript: Pass null jsval to builtin functions instead of the global host.
jscript: Return the correct string for Object.toString(null) in ES5+ modes.
jscript: Pass jsval "this" to function calls instead of a dispatch.
jscript: Return the correct string for Object.toString(undefined) in ES5+ modes.
jscript: Return JS_E_INVALID_PROPERTY in jsdisp_call_name if property is not found.
jscript: Allow overriding builtin methods by setting the prop.
jscript: Make Object.prototype.__proto__ an actual accessor.
jscript: Throw error when attempting to set circular __proto__ chains.
jscript: Don't allow changing prototype on non-extensible objects.
mshtml/tests: Add test for setting a prop with same name as a prototype accessor with no setter.
jscript: Store NULL disps as a different type of jsval_null.
jscript: Implement Object.prototype.__defineGetter__.
jscript: Implement Object.prototype.__defineSetter__.
jscript: Throw proper error in Object methods with non-objects args.
mshtml/tests: Test for RegExp.prototype.toString with non-regexp.
jscript: Handle non-JS objects in Object.getPrototypeOf.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.208.
Gijs Vermeulen (5):
setupapi: Add SetupDiGetClassRegistryPropertyW stub.
include: Add more Wait Chain Traversal definitions.
advapi32: Add OpenThreadWaitChainSession stub.
advapi32: Add GetThreadWaitChain stub.
kernelbase: Add PathMatchSpecExA/W.
Giovanni Mascellani (7):
mfplat: Properly align memory allocated by IMF2DBuffer.
mfplat/tests: Check that Lock() and Lock2D() see the same content.
mfplat: Fix buffer reading with IMF2DBuffer::Lock().
mfplat: Do not allocate more memory than required.
mfplat: Do not mark the buffer as locked if Lock2D() fails.
mfplat: Align buffers at no less than 16 bytes boundaries.
mfplat: Do not allocate more memory than requested.
Hans Leidekker (11):
crypt32: Add support for decoding signed OCSP responses.
bcrypt: Pass the algorithm ID to key_asymmetric_create().
bcrypt: Call key_destroy() instead of BCryptDestroyKey().
bcrypt: Merge the various key export Unix calls into one.
bcrypt: Merge the various key import Unix calls into one.
bcrypt: Store a public key handle instead of a blob.
bcrypt: Stop passing a dummy public key to gnutls_privkey_import_dsa_raw().
bcrypt: Fix RSA public key export when we don't have a private key handle.
bcrypt: Fix DSA public key export when we don't have a private key handle.
bcrypt: Also duplicate the public key handle in key_asymmetric_duplicate().
crypt32: Add partial support for decoding OCSP_BASIC_RESPONSE_INFO structures.
Henri Verbeet (2):
wined3d: Store "multisample_quality" as an unsigned int in struct wined3d_swapchain_desc.
dxgi/tests: Accept DXGI_STATUS_OCCLUDED as result when creating fullscreen swapchains.
Huw D. M. Davies (36):
winealsa: Move get_prop_value to the unixlib.
winealsa: Remove several unused members.
winealsa: Remove a workaround for versions of alsa-lib before 1.0.12.
winealsa: Move the midi seq lock to the unixlib.
winealsa: Move midi_init to unixlib.
winealsa: Store the snd_seq handle and the input port in the device data.
winealsa: Add a temporary syscall to return the snd_seq handle.
winealsa: Move MODM_OPEN to the unixlib.
winealsa: Move MODM_CLOSE to the unixlib.
winealsa: Move MODM_DATA to the unixlib.
winealsa: Move MODM_LONGDATA to the unixlib.
winealsa: Move MODM_PREPARE and MODM_UNPREPARE to the unixlib.
winealsa: Move MODM_GETDEVAPS to the unixlib.
winealsa: Move MODM_GETNUMDEVS to the unixlib.
winealsa: Move MODM_GETVOLUME and MODM_SETVOLUME to the unixlib.
winealsa: Move MODM_RESET to the unixlib.
winealsa: Move MIDM_PREPARE and MIDM_UNPREPARE to the unixlib.
winealsa: Move MIDM_GETDEVCAPS to the unixlib.
winealsa: Move MIDM_GETNUMDEVS to the unixlib.
winealsa: Move the midi in buffer lock to the unixlib.
winealsa: Move MIDM_ADDBUFFER to the unixlib.
winealsa: Pass the time relative to the start time to the callback.
winealsa: Move MIDM_RESET to the unixlib.
winealsa: Move MIDM_START to the unixlib.
winealsa: Move MIDM_STOP to the unixlib.
winealsa: Introduce a notification thread.
winealsa: Add helpers to handle regular and sysex events.
winealsa: Move the midi event handlers to the unixlib.
winealsa: Introduce a helper to retrieve the time.
winealsa: Allocate the pollfd array at the start.
winealsa: Use a pipe to signal the end of the record thread.
winealsa: Move MIDM_OPEN and MIDM_CLOSE to the unixlib.
winealsa: Move DRVM_INIT to the unixlib.
winealsa: Build with msvcrt.
mountmgr: Fix long type warnings on macOS.
bcrypt: Use GNUTLS_DIG_UNKNOWN for an unknown digest.
Jacek Caban (47):
user32: Fix nameA pointer in alloc_menu_nameW.
win32u: Move NtUserWindowFromDC implementation from user32.
win32u: Mmove dummy surface implementation from user32.
win32u: Move NtUserGetDCEx implementation from user32.
win32u: Move NtUserReleaseDC implementation from user32.
win32u: Move NtUserBeginPaint implementation from user32.
win32u: Move NtUserEndPaint implementation from user32.
win32u: Move NtUserRedrawWindow implementation from user32.
win32u: Move NtUserGetUpdateRgn implementation from user32.
win32u: Fix name comparison in find_class.
win32u: Move NtUserSetWindowPos implementation from user32.
win32u: Move DWP object implementation from user32.
win32u: Move NtUserSetParent implementation from user32.
win32u: Move NtUserGetUpdateRect implementation from user32.
win32u: Introduce NtUserEnableDC.
win32u: Make interface between DC and dce private.
win32u: Move set_window_style implementation from user32.
win32u: Move NtUsetSetWindowLong implementation from user32.
win32u: Move __wine_set_pixel_format implementation from user32.
win32u: Move NtUserSetTimer implementation from user32.
win32u: Move NtUserSetSystemTimer implementation from user32.
win32u: Move NtUserKillTimer implementation from user32.
win32u: Move KillSystemTimer implementation from user32.
win32u: Move destroy_thread_windows implementation from user32.
win32u: Move NtUserDestroyWindow implementation from user32.
win32u: Move get_min_max_info implementation from user32.
win32u: Move NtUserShowWindow implementation from user32.
win32u: Move GetWindowContextHelpId implementation from user32.
user32: Move MDI child coordinates fixup out of WIN_FixCoordinates.
win32u: Move NtUserCreateWindowEx implementation from user32.
win32u: Move apply_window_pos implementation from user32.
win32u: Move ArrangeIconicWindows implementation from user32.
win32u: Don't use designated initializers for lazy_load_driver.
win32u: Move dib.drv implementation from gdi.exe.
win32u: Don't use CDECL for window surface functions.
user.exe: Use win32u directly for cursor icon handle support.
user32: Store current spy indent in user_thread_info struct.
win32u: Move message spy implementation from user32.
user32: Factor out dispatch_win_proc_params.
user32: Use dispatch_win_proc_params in CallWindowProc.
user32: Move more code out of call_window_proc.
win32u: Move init_win_proc_params implementation from user32.
win32u: Implement NtUserDispatchMessage.
user32: Use User32CallWinEventHook in peek_message.
user32: Merge WINPROC_call_window into call_window_proc.
win32u: Move ScreenToClient implementation from user32.
win32u: Move menu handle management from user32.
Jan Sikorski (4):
wined3d: Pass mask to wined3d_next_cs_packet().
wined3d: Flush on texture download to avoid stalling on readout.
wined3d: Check map queue when executing command lists.
wined3d: Reuse deferred uploads heaps.
Jinoh Kang (17):
user32: Recognise RichEdit50W window class in spy.
windowscodecs: Fix rounding in premultiplied alpha conversion.
user32: Fix rounding in premultiplied alpha conversion for cursors and icons.
comctl32: Pre-multiply static control bitmap image by alpha for GdiAlphaBlend.
riched20: Add back-reference to outer ME_Run from struct re_object.
riched20: Set REOBJECT's cp correctly in IRichEditOle::GetObject.
server: Actually set initial status in set_async_direct_result handler.
server: Ensure initial status is set in async_set_result().
ws2_32/tests: Continue sending remaining data on short write in test_write_events.
server: Add mark_pending field to set_async_direct_result request.
server: Generalise async completion callback to be called on synchronous failure.
server: Allow async completion callback to retrieve status on synchronous failure.
server: Defer clearing events until async is completed in send_socket handler.
server: Attempt to complete I/O request immediately in send_socket.
server: Ensure datagram sockets are bound in send_socket.
ntdll: Don't call try_send before server call in sock_send.
server: Replace redundant send_socket status fields with force_async boolean field.
Lauri Kenttä (2):
po: Update Finnish translation.
po: Update Finnish translation.
Matteo Bruni (1):
d3d10: Do not accept any compute shader in D3D10ReflectShader().
Michael Stefaniuc (1):
d2d1/tests: Actually test the return of ID2D1TransformedGeometry_GetBounds.
Paul Gofman (16):
winhttp: Fix filling TIMEVAL in netconn_create().
winhttp: Return an winhttp error from netconn_create() on connection failure.
winhttp: Also select for error in netconn_create().
winhttp: Use a single thread pool wrapper callback for async tasks.
winhttp: Manage task cleanup in task_callback() and queue_task().
winhttp: Use default thread pool.
kernelbase: Query FileStandardInformation instead of FileEndOfFileInformation in SetFilePointerEx().
kernelbase: Use FILE_LIST_DIRECTORY instead of GENERIC_READ in FindFirstFileExW().
wbemprox: Bump video driver version and date.
winhttp: Avoid freeing potentially uninitialized context in netconn_secure_connect().
nsiproxy: Avoid redundant pid mapping in tcp_conns_enumerate_all().
iphlpapi: Don't request redundant static data in get_extended_tcp_table().
d3dcompiler: Implement d3dcompiler_shader_reflection_GetThreadGroupSize().
d3dcompiler: Allow cs5.1 shaders on earlier d3dcompiler versions.
bcrypt: Fix ECC public key export.
wined3d: Add full dirty region at texture creation.
Piotr Caban (7):
msvcp110: Introduce wrapper around critical_section functions.
msvcp110: Add _Mtx_clear_owner implementation.
msvcp110: Add _Mtx_reset_owner implementation.
msvcp110: Use _Condition_variable in _Cnd_t implementation.
msvcp140: Add SRWLock based _Mtx_t and _Cnd_t implementation.
msvcp140: Add condition variable tests.
msvcr110: Make sure we don't hang in _Condition_variable::notify* functions.
Rémi Bernon (37):
winegstreamer: Implement WMA decoder Process(Input|Output) error checks.
dinput/tests: Test IIterator_IInspectable_MoveNext returned values.
windows.gaming.input: Fix IIterator_IInspectable_MoveNext returne value.
windows.gaming.input: Fix IIterator_IInspectable trace messages.
winebus.sys: Declare multiple HID simple haptics controller collections.
xinput1_3: Support multiple HID simple haptics controller collections.
winebus.sys: Remove the now unused HID haptics combined waveform report.
winegstreamer: Return S_OK from H264 decoder GetAttributes.
winegstreamer: Implement H264 decoder SetInputType.
winegstreamer: Implement H264 decoder GetOutputAvailableType.
winegstreamer: Implement H264 decoder GetInputAvailableType.
winegstreamer: Implement H264 decoder SetOutputType.
winebus.sys: Add HID haptics simple controllers for the triggers.
winebus.sys: Prefer SDL_JoystickRumble over SDL_HAPTIC_LEFTRIGHT.
winebus.sys: Implement trigger rumble using SDL_JoystickRumbleTriggers.
windows.gaming.input: Implement HID simple haptics controllers support.
winegstreamer: Introduce new wg_transform_(push|read)_data functions.
winegstreamer: Return S_OK from WMA decoder ProcessMessage.
windows.gaming.input: Fix vector InsertAt / RemoveAt copy sizes.
dinput: Allow setting DIPROP_AUTOCENTER when exclusively acquired.
winebus.sys: Assume SDL device effects are running by default.
dinput/tests: Add more debug traces to the HID driver.
dinput/tests: Rename HID driver identifiers and files.
dinput/tests: Remove the HID driver IRP_MJ_POWER handler.
dinput/tests: Introduce a new find_hid_device_path helper.
dinput/tests: Add more HID device and extension pointers tests.
dinput/tests: Introduce a new Wine Test Bus driver.
dinput/tests: Create a child PDO from the Bus driver.
dinput/tests: Create a HID device from the Bus device.
dinput/tests: Create all HID devices from the Bus driver.
dinput/tests: Remove now unused HID test driver.
dinput/tests: Wait for spurious Win7 polled HID device events.
dinput/tests: Keep child PDO remove IRP pending until fully removed.
kernel32/tests: Use HeapAlloc function pointer to silent a warning.
kernel32/tests: Add some GlobalMemoryStatusEx tests.
kernel32/tests: Merge GlobalMemoryStatus(Ex) tests together.
kernelbase: Fix GlobalMemoryStatusEx counters.
Tatsuyuki Ishi (1):
winegcc: Identify ar files through signature.
Tim Clem (4):
winemac.drv: Simplify control flow in copy_display_modes.
winemac.drv: Add a flag to filter unsupported modes in copy_display_modes.
winemac.drv: Move synthetic display modes after the real ones.
winemac.drv: Sort display modes.
Zebediah Figura (6):
wined3d: Try to load winevulkan.dll instead of vulkan-1.dll.
d3dcompiler: Implement D3DCompile2() using vkd3d_shader_compile().
kernelbase: Do not return S_FALSE from UrlGetPartW().
kernelbase: Do not allow schemes to be less than two characters in UrlGetPart().
kernelbase: Do not parse username, password, and port separately for file URLs in UrlGetPart().
kernelbase: Do not parse the hostname of internet URLs if they are missing a double slash.
Zhiyi Zhang (2):
comctl32/tests: Use correct width and height in create_bitmap() helper.
light.msstyles: Add Menu stub class.
Ziqing Hui (1):
ws2_32/tests: Test getaddrinfo() for IPv6 DNS querying.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.4 is now available.
What's new in this release:
- 'Light' theme enabled by default.
- Bundled vkd3d library.
- WineD3D, D3D12 and DXGI modules converted to PE.
- More large scale cleanups to support 'long' type.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.x/wine-7.4.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.x/wine-7.4.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.4 (total 14):
20296 Multiple apps crash due missing support for COM dll surrogate, dllhost.exe (League of Legends 08_18_2009_04, 3Dmark03, 3Dmark05, 3Dmark06)
41053 RawInput (RegisterRawInputDevices) does not work for gamepads
48508 Psi-Ops: The Mindgate Conspiracy freezing in stable Wine 5.0
50887 cannot read/run/open some files
52204 Vibration on DualSense controller works incorrectly in all Games
52476 QuickLOAD: wine 7 causes VB5 application to change input value by factor 10
52562 advapi32:registry fails in Wine because some French timezone name translations are too long
52581 Internet MIDI crashes with Light Blue theme enabled
52596 The Godfather main menu cursor and text not rendered correctly
52614 API set DLLs fail to load on Arch Linux with "failed to load apiset: c0000482"
52618 32-bit EXEs do not launch from build dir on macOS 10.14 in WOW64
52626 MahjongSoul needs unimplemented function combase.dll.RoSetErrorReportingFlags
52637 comctl32:listbox test_LBS_NODATA() fails in the Japanese and Chinese locales
52639 comctl32:toolbar test_visual() fails in Wine with the Light theme
----------------------------------------------------------------
Changes since 7.3:
Alex Henrie (1):
tzres: Inform translators of 31-character limit.
Alexandre Julliard (18):
ntdll/tests: Avoid referencing a global variable from inline asm.
configure: Check for working -mabi=ms support on x86_64.
winebuild: Align raw data size instead of virtual size in PE sections.
configure: Require PE cross-compilation for building on ARM64.
include: Add more d3d12 logic ops.
include: Change to void the return type for ID3D12GraphicsCommandList::ClearState().
libs: Import upstream code from vkd3d release 1.3.
wined3d: Use the bundled vkd3d and build with msvcrt.
wined3d: Export all the vkd3d functions.
d3d12: Build with msvcrt.
dxgi: Build with msvcrt.
configure: Remove some no longer needed checks.
faudio: Revert some calling convention changes.
lcms2: Revert some calling convention changes.
tiff: Revert some calling convention changes.
xml2: Revert some calling convention changes.
xslt: Revert some calling convention changes.
include: Use the standard va_list in tests.
Alexandros Frantzis (1):
win32u: Fix NtUserCallHooks return value.
Alistair Leslie-Hughes (4):
windowscodecs: Correctly handle 8bpp custom conversions.
include: Correct BYTE typedef.
widl: Support basic BYTE type.
include: Add IReference<T> interface.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (22):
include/windows.media.speechrecognition.idl: Add SpeechRecognitionResult.
include/windows.media.speechrecognition.idl: Add SpeechContinuousRecognitionSession.
include/windows.media.speechrecognition.idl: Add SpeechRecognitionHypothesis.
include/windows.media.speechrecognition.idl: Add SpeechRecognitionHypothesisGeneratedEventArgs.
include/windows.media.speechrecognition.idl: Add SpeechRecognizerTimeouts.
include/windows.media.speechrecognition.idl: Add SpeechRecognizerUIOptions.
include/windows.media.speechrecognition.idl: Add SpeechRecognitionCompilationResult.
include/windows.media.speechrecognition.idl: Add SpeechRecognitionQualityDegradingEventArgs.
include/windows.media.speechrecognition.idl: Add SpeechRecognizerStateChangedEventArgs.
widl: Allow multiple uses of the activatable attribute.
include/windows.media.speechrecognition.idl: Add SpeechRecognizer.
windows.media.speech: Create private header.
windows.media.speech: Explicitly check for available activation factory.
windows.media.speech: Move SpeechSynthesizer into separate file.
windows.media.speech: Use C object macros to call iface methods.
windows.media.speech: Rename activation factory for SpeechSynthesizer.
windows.media.speech/tests: Add basic tests for activation factory ifaces.
windows.media.speech/tests: Compile with long types.
windows.media.speech: Import DEFINE_INSPECTABLE macros.
windows.media.speech: Add SpeechRecognizer statics stubs.
windows.media.speech: Add SpeechRecognizer stub.
windows.media.speech/tests: Add basic tests for the SpeechRecognizer class.
Brendan Shanks (8):
winedbg: Sanity check the dwType field of MSVC thread naming exceptions.
winedbg: Ensure thread->name is null-terminated.
winedbg: Don't set initial thread->name to the tid.
winedbg: Print thread names in 'info thread' listing.
kernel32/tests: Add additional Get/SetThreadDescription() tests.
ntdll: Don't require equal Length and MaximumLength when setting ThreadNameInformation.
ntdll: Ensure CONTEXT_EX on exception stack is initialized.
makefiles: On macOS, use @rpath instead of @loader_path when building Unix libs.
Christopher Egert (1):
gsm: Enable WAV49 support.
David Kahurani (1):
oleaut32: Do not skip the first decimal digit in VarParseNumFromStr().
Dmitry Timoshkov (7):
dllhost: Add stub implementation.
dllhost: Add ISurrogate stub implementation.
dllhost: Implement ISurrogate::LoadDllServer().
dllhost: Implement ISurrogate::FreeSurrogate().
dllhost: Implement IMarshal::MarshalInterface().
dllhost: Periodically call CoFreeUnusedLibraries().
combase: Start surrogate local server when required.
Eric Pouech (182):
gdi32/tests: Enable compilation with long types.
hlink/tests: Enable compilation with long types.
hnetcfg/tests: Enable compilation with long types.
hid/tests: Enable compilation with long types.
imagehlp/tests: Enable compilation with long types.
imm32/tests: Enable compilation with long types.
inetcomm/tests: Enable compilation with long types.
inetmib1/tests: Enable compilation with long types.
infosoft/tests: Enable compilation with long types.
iphlpapi/tests: Enable compilation with long types.
itss/tests: Enable compilation with long types.
jsproxy/tests: Enable compilation with long types.
kernelbase/tests: Enable compilation with long types.
localspl/tests: Enable compilation with long types.
localui/tests: Enable compilation with long types.
lz32/tests: Enable compilation with long types.
mapi32/tests: Enable compilation with long types.
gameux/tests: Use correct integral type.
gameux/tests: Enable compilation with long types.
comctl32/tests: Enable compilation with long types.
gdiplus/tests: Introduce helper functions (expect*) to handle integral conversions.
gdiplus/tests: Enable compilation with long types.
conhost: Handle csi escape sequence for shift tab.
conhost/tests: Add tests for shift-tab processing.
msftedit/tests: Enable compilation with long types.
mlang/tests: Enable compilation with long types.
mmcndmgr/tests: Enable compilation with long types.
mp3dmod/tests: Enable compilation with long types.
mpr/tests: Enable compilation with long types.
msado15/tests: Use correct integral type.
msado15/tests: Enable compilation with long types.
msasn1/tests: Enable compilation with long types.
msctf/tests: Enable compilation with long types.
msdmo/tests: Enable compilation with long types.
mspatcha/tests: Enable compilation with long types.
msrle32/tests: Enable compilation with long types.
msscript.ocx/tests: Enable compilation with long types.
mstask/tests: Enable compilation with long types.
msvfw32/tests: Enable compilation with long types.
ndis.sys/tests: Enable compilation with long types.
netapi32/tests: Enable compilation with long types.
netcfgx/tests: Enable compilation with long types.
netprofm/tests: Enable compilation with long types.
ieframe/tests: Enable compilation with long types.
jscript/tests: Enable compilation with long types.
dsound/tests: Enable compilation with long types.
kernelbase: Support CONSOLE_READCONSOLE_CONTROL in ReadConsoleW.
kernelbase: Return key state in ReadConsoleW with control.
conhost/tests: Add tests for ReadConsoleW with control.
kernel32/tests/actctx: Enable compilation with long types.
kernel32/tests/codepage: Enable compilation with long types.
kernel32/tests/comm: Enable compilation with long types.
kernel32/tests/console: Enable compilation with long types.
ninput/tests: Enable compilation with long types.
ntdsapi/tests: Enable compilation with long types.
ntoskrnl.exe/tests: Use correct integral type.
ntoskrnl.exe/tests: Enable compilation with long types.
ntprint/tests: Use correct integral type.
ntprint/tests: Enable compilation with long types.
odbccp32/tests: Enable compilation with long types.
ole32/tests: Use correct integral type.
ole32/tests: Enable compilation with long types.
oleacc/tests: Use correct integral type.
oleacc/tests: Enable compilation with long types.
oledb32/tests: Enable compilation with long types.
oledlg/tests: Enable compilation with long types.
opengl32/tests: Enable compilation with long types.
mscoree/tests: Enable compilation with long types.
mshtml/tests: Enable compilation with long types.
ntdll/tests: Fix erroneous ok parameters.
kernel32/tests/debugger: Enable compilation with long types.
kernel32/tests/environ: Enable compilation with long types.
kernel32/tests/file: Enable compilation with long types.
kernel32/tests/format_msg: Enable compilation with long types.
packager/tests: Enable compilation with long types.
pdh/tests: Enable compilation with long types.
prntvpt/tests: Enable compilation with long types.
propsys/tests: Enable compilation with long types.
psapi/tests: Enable compilation with long types.
pstorec/tests: Enable compilation with long types.
qmgr/tests: Enable compilation with long types.
qwave/tests: Enable compilation with long types.
qasf/tests: Enable compilation with long types.
qdvd/tests: Enable compilation with long types.
devenum/tests: Build without -DWINE_NO_LONG_TYPES.
qcap/tests: Use int instead of LONG for the arguments to IAMStreamConfig::GetNumberOfCapabilities().
qedit/tests: Build without -DWINE_NO_LONG_TYPES.
qcap/tests: Build without -DWINE_NO_LONG_TYPES.
mmdevapi/tests: Enable compilation with long types.
msacm32/tests: Enable compilation with long types.
mfplat/tests: Use correct integral type.
mfplat/tests: Enable compilation with long types.
kernel32/tests/heap: Enable compilation with long types.
kernel32/tests/loader: Enable compilation with long types.
kernel32/tests/locale: Enable compilation with long types.
kernel32/tests/module: Enable compilation with long types.
rasapi32/tests: Enable compilation with long types.
riched32/tests: Enable compilation with long types.
rpcrt4/tests: Enable compilation with long types.
rsaenh/tests: Enable compilation with long types.
sapi/tests: Enable compilation with long types.
schannel/tests: Enable compilation with long types.
schedsvc/tests: Enable compilation with long types.
scrobj/tests: Enable compilation with long types.
secur32/tests: Enable compilation with long types.
serialui/tests: Enable compilation with long types.
setupapi/tests: Use correct integral type.
setupapi/tests: Enable compilation with long types.
mf/tests: Use correct integral type.
mf/tests: Enable compilation with long types.
riched20/tests: Use correct integral type.
riched20/tests: Enable compilation with long types.
kernel32/tests/path: Enable compilation with long types.
kernel32/tests/pipe: Enable compilation with long types.
kernel32/tests/process: Enable compilation with long types.
kernel32/tests/profile: Enable compilation with long types.
shell32/tests: Use correct integral type.
shell32/tests: Enable compilation with long types.
shlwapi/tests: Enable compilation with long types.
slc/tests: Enable compilation with long types.
sti/tests: Enable compilation with long types.
sxs/tests: Enable compilation with long types.
tapi32/tests: Enable compilation with long types.
taskschd/tests: Enable compilation with long types.
twain_32/tests: Enable compilation with long types.
uianimation/tests: Enable compilation with long types.
uiautomationcore/tests: Enable compilation with long types.
quartz/tests: Use the correct integer types.
quartz/tests: Build without -DWINE_NO_LONG_TYPES.
kernel32/tests/sync: Enable compilation with long types.
kernel32/tests/thread: Enable compilation with long types.
kernel32/tests/virtual: Enable compilation with long types.
kernel32/tests/volume: Enable compilation with long types.
userenv/tests: Enable compilation with long types.
uxtheme/tests: Enable compilation with long types.
user32/tests: Use correct integral type.
vcomp110/tests: Enable compilation with long types.
vcomp/tests: Enable compilation with long types.
version/tests: Enable compilation with long types.
virtdisk/tests: Enable compilation with long types.
vulkan-1/tests: Enable compilation with long types.
wer/tests: Enable compilation with long types.
wevtapi/tests: Enable compilation with long types.
spoolss/tests: Enable compilation with long types.
wiaservc/tests: Enable compilation with long types.
windows.globalization/tests: Enable compilation with long types.
windows.media.devices/tests: Enable compilation with long types.
wininet/tests: Use correct integral type.
wininet/tests: Enable compilation with long types.
wintab32/tests: Enable compilation with long types.
wintrust/tests: Enable compilation with long types.
winspool.drv/tests: Enable compilation with long types.
kernel32/tests/change: Enable compilation with long types.
kernel32/tests/time: Enable compilation with long types.
kernel32/tests: Use correct integral type.
kernel32/tests: Enable compilation with long types.
kernel32/tests: Enable compilation with long types.
shdocvw/tests: Enable compilation with long types.
urlmon/tests: Enable compilation with long types.
vbscript/tests: Enable compilation with long types.
windowscodecsext/tests: Enable compilation with long types.
windowscodecs/tests: Use correct integral type.
windowscodecs/tests: Enable compilation with long types.
wlanapi/tests: Enable compilation with long types.
wmp/tests: Enable compilation with long types.
wmvcore/tests: Enable compilation with long types.
wpc/tests: Enable compilation with long types.
ws2_32/tests: Use correct integral type.
ws2_32/tests: Enable compilation with long types.
wsdapi/tests: Enable compilation with long types.
wtsapi32/tests: Enable compilation with long types.
include: Fix prototype of NtQueryInformationFile.
user32/tests: Wrap helper macro inside function.
user32/tests: Enable compilation with long types.
kernel32/tests: Remove temporary defines for long types migration.
nsiproxy.sys: Explicitly check for recvmsg() failure.
oleaut32/tests: Get rid of EXPECTI864 macro.
oleaut32/tests: Convert I8 to current integer test scheme.
oleau32/tests: Convert I8Copy to existing integer test scheme.
winmm/tests: Enable compilation with long types.
user32/tests: Enable compilation with long types in listbox.c.
user32/tests: Enable compilation with long types in resource.c.
Esme Povirk (1):
mscoree: Add an override option for skipping the AppDomain search path.
Floris Renaud (1):
po: Update Dutch Translation.
François Gouget (1):
windows.gaming.input: Add a linefeed to a TRACE() message.
Georg Lehmann (4):
winevulkan: Avoid zero-sized allocations.
winevulkan: Manually fixup struct alignment for VkPipelineCreationFeedback.
winevulkan: Enable VK_EXT_pipeline_creation_feedback.
winevulkan: Update to VK spec version 1.3.207.
Giovanni Mascellani (1):
mfplat: Properly align system memory buffers.
Hans Leidekker (8):
wusa: Use CRT allocation functions.
include: Add OCSP definitions.
crypt32: Add support for encoding OCSP requests.
bcrypt: Return an error when BCryptFinalizeKeyPair() is called twice.
ncrypt: Always map bcrypt return values.
crypt32: Requestor name is optional in OCSP request.
crypt32: Add partial support for encoding signed OCSP requests.
crypt32: Add support for decoding OCSP responses.
Hugh McMaster (2):
conhost: Don't compare the console config if the user cancels the dialog.
conhost: Reimplement font dialog handling.
Huw D. M. Davies (19):
crypt32: Use an unsigned int to avoid a compiler warning on macOS.
win32u: Remove no longer used macro.
winealsa: Add a temporary write_best_effort syscall.
winealsa: Move timer_loop to the unixlib.
winealsa: Move start to the unixlib.
winealsa: Move stop to the unixlib.
winealsa: Move reset to the unixlib.
winealsa: Move set_event_handle to the unixlib.
winepulse: Move "last_time" to a local variable.
maintainers: Add dllhost.
winealsa: Move get_render_buffer to the unixlib.
winealsa: Move release_render_buffer to the unixlib.
winealsa: Move get_capture_buffer to the unixlib.
winealsa: Move release_capture_buffer to the unixlib.
winealsa: Move get_next_packet_size to the unixlib.
winealsa: Move get_frequency to the unixlib.
winealsa: Move get_position to the unixlib.
winealsa: Move is_started to the unixlib.
winealsa: Move set_volumes to the unixlib.
Jacek Caban (55):
mshtml: Add IDOMMessageEvent stub implementation.
mshtml: Implement IDOMMessageEvent::data property.
mshtml: Post messages asynchronously in IE9+ modes.
user32: Use ACCEL struct in accelerator object.
user32: Use CreateAcceleratorTableW in LoadAcceleratorsW.
user32: Use CreateAcceleratorTableW in CreateAcceleratorTableA.
win32u: Move accelerators object implementation from user32.
win32u: Move winproc array from user32.
win32u: Implement NtUserGetAtomName.
win32u: Move NtUserGetClassName implementation from user32.
user32: Factor out find_class.
user32: Store class instance as UINT_PTR.
user32: Ignore low instance word in find_class.
user32: Introduce get_class_info.
user32: Use get_class_info for GetClasInfoEx implementation.
user32: Move module class registration to get_class_info.
user32: Use UNICODE_STRING for passing window classes internally.
user32: Store menu name as a struct.
win32u: Move class management implementation from user32.
win32u: Move NtUserSetClassLong from user32.
win32u: Move GetClassLong implementation from user32.
win32u: Move NtUserInternalGetWindowText implementation from user32.
user32: Use NtUserInternalGetWindowText in GetWindowText.
win32u: Move GetWindowTextLength implementation from user32.
win32u: Move GetWindowLong implementation from user32.
win32u: Move GetWindow implementation from user32.
win32u: Move GetParent implementation from user32.
win32u: Move NtUserGetAncestor implementation from user32.
win32u: Move GWLP_HWNDPARENT implementation from user32.
win32u: Move IsChild implementation from user32.
win32u: Move IsWindowVisible implementation from user32.
win32u: Move is_window_drawable implementation from user32.
win32u: Move NtUserFlashWindowEx implementation from user32.
win32u: Introduce get_desktop_window.
win32u: Move load_driver implementation from user32.
win32u: Move GetDesktopWindow implementation from user32.
win32u: Move IsWindowUnicode implementation from user32.
win32u: Move GetWindowDpiAwarenessContext from user32.
win32u: Move GetDpiForWindow from user32.
win32u: Move GetWindowRect implementation from user32.
win32u: Move GetWindowInfo implementation from user32.
win32u: Move GetClientRect implementation from user32.
win32u: Move NtUserGetWindowRgnEx implementation from user32.
win32u: Move NtUserSetWindowRgn implementation from user32.
win32u: Move NtUserMoveWindow implementation from user32.
win32u: Move NtUserWindowFromPoint implementation from user32.
win32u: Move GetWindowPlacement and MonitorFromWindow implementation from user32.
win32u: Move WM_WINE_UPDATEWINDOWSTATE implementation from user32.
win32u: Move NtUserSetLayeredWindowAttributes implementation from user32.
win32u: Move NtUserUpdateLayeredWindow implementation from user32.
win32u: Move NtUserSetActiveWindow implementation from user32.
win32u: Move NtUserSetFocus implementation from user32.
win32u: Move set_foreground_window implementation from user32.
user32: Use NtUserGetGUIThreadInfo for GetCapture implementation.
win32u: Move NtUserSetCapture implementation from user32.
Jactry Zeng (1):
d2d1: Add D2D1Shadow effect.
Jan Sikorski (4):
wined3d: Add poll_in_cs field to wined3d_query().
wined3d: Track pending Vulkan queries separately for each query.
wined3d: Poll Vulkan queries directly on the application thread.
wined3d: Implement event queries using Vulkan events.
Kevin Puetz (1):
oleaut32: Fix QueryPathOfRegTypeLib minor version comparison.
Martin Storsjö (2):
ntdll: Zero-initialize the syscall_frame used for starting threads on ARM/ARM64.
configure: Tweak PE tools suggestion for ARM64.
Matteo Bruni (7):
combase: Add RoSetErrorReportingFlags() stub.
d3dx11/tests: Use CRT allocation functions.
win32u: Use GDI_ROUND() in a few more places.
d3dcompiler/tests: Use hexadecimal constants in a few ok() checks.
wined3d: Fix typo in WARN() message.
d3d11: Report support for MapNoOverwriteOnDynamicBufferSRV.
wined3d: Use list_empty() in shader_glsl_destroy().
Mohamad Al-Jaf (1):
wusa: Support additional expressions.
Pat Leamon (1):
mshtml: Implement nsIHttpChannel::IsNoCacheReponse.
Paul Gofman (41):
winhttp: Don't allow websocket send if another non-control send is pending.
winhttp: Support sending web socket buffer fragments.
winhttp: Support receiving web socket buffer fragments.
winhttp: Return default value for WINHTTP_OPTION_WORKER_THREAD_COUNT.
win32u: Set BAD_EDID registry value for empty EDID.
win32u: Move wine_get_wgl_driver() from DC driver.
ws2_32: Base inet_addr() implementation on musl.
ws2_32: Pre-validate optlen in getsockopt().
ws2_32: Treat optlen as unsigned in setsockopt() for SO_RCVTIMEO.
ws2_32: Treat optlen as unsigned in setsockopt() for SO_SNDTIMEO.
ws2_32: Return WSAENOBUFS from setsockopt() for IPPROTO_IP with negative optlen.
ws2_32/tests: Add tests for setting and getting socket options with shorter length.
ws2_32: Validate IP_TOS value.
ws2_32/tests: Add tests for bigger option value in test_set_getsockopt().
ws2_32: Return WSAEFAULT from setsockopt() for IP_MULTICAST_LOOP with zero optlen.
ws2_32: Return WSAEFAULT from setsockopt() for IP_MULTICAST_TTL with zero optlen.
ws2_32: Return WSAEFAULT from setsockopt() for IP_TTL with zero optlen.
ws2_32/tests: Add tests for zero option length in test_set_getsockopt().
ws2_32: Manage shorter length for SO_BROADCAST.
ws2_32: Manage shorter length for SO_DONTLINGER.
ws2_32: Manage shorter length for SO_DONTROUTE.
ws2_32: Manage shorter length for SO_KEEPALIVE.
ws2_32: Manage shorter length for SO_LINGER.
ws2_32: Manage shorter length for SO_OOBINLINE.
ws2_32: Set last error on success for SO_OPENTYPE.
ws2_32: Manage shorter length for SO_RCVBUF.
ws2_32: Manage shorter length for SO_REUSEADDR.
ws2_32: Manage shorter length for SO_SNDBUF.
ws2_32: Manage shorter length for TCP_NODELAY.
ws2_32: Manage shorter length for IP_PKTINFO.
ws2_32: Manage shorter length for IP_RECVTOS.
ws2_32: Manage shorter length for IP_RECVTTL.
ws2_32: Return WSAENOBUFS from setsockopt() for IPPROTO_IPV6 with negative optlen.
ws2_32: Manage shorter length for IPV6_DONTFRAG.
ws2_32: Manage shorter length for IPV6_HOPLIMIT.
ws2_32: Manage shorter length for IPV6_MULTICAST_HOPS.
ws2_32: Manage shorter length for IPV6_MULTICAST_LOOP.
ws2_32: Manage shorter length for IPV6_PKTINFO.
ws2_32: Manage shorter length for IPV6_RECVTCLASS.
ws2_32: Manage shorter length for IPV6_UNICAST_HOPS.
ws2_32: Manage shorter length for IPV6_V6ONLY.
Piotr Caban (2):
oleacc/tests: Fix test windows cleanup.
oleacc/tests: Check if test window has focus in test_default_client_accessible_object tests.
Rémi Bernon (58):
windows.gaming.input: Split RawGameController runtimeclass to separate source.
windows.gaming.input: Split Gamepad runtimeclass to a separate source.
windows.gaming.input: Introduce a generic IVector<IInspectable *> implementation.
dinput/tests: Make combase.dll dependency optional.
dinput/tests: Simplify windows.gaming.input tests with events.
include: Add Windows.Gaming.Input.Custom.IGameControllerProvider declaration.
include: Add Windows.Gaming.Input.Custom.ICustomGameControllerFactory declaration.
include: Add Windows.Gaming.Input.Custom.GameControllerFactoryManager runtimeclass definition.
include: Add Windows.Gaming.Input.IGameControllerInputSink interface definition.
include: Add Windows.Gaming.Input.IHidGameControllerInputSink interface definition.
include: Add Windows.Gaming.Input.HidGameControllerProvider runtimeclass definition.
include: Add Windows.Gaming.Input.IXusbGameControllerInputSink interface definition.
include: Add Windows.Gaming.Input.XusbGameControllerProvider runtimeclass definition.
windows.gaming.input: Introduce helpers to define IInspectable interface boilerplate.
windows.gaming.input: Stub GameControllerFactoryManager runtimeclass.
windows.gaming.input: Register Windows.Gaming.Input.Custom classes.
dinput/tests: Add tests for IGameControllerFactoryManagerStatics_RegisterCustomFactoryForHardwareId.
include: Add Windows.Gaming.Input.IGameControllerBatteryInfo interface definition.
include: Add IWeakReference(Source) declaration.
dinput/tests: Add tests for ICustomGameControllerFactory_CreateGameController.
dinput: Add object names for simulation HID usages.
dinput: Refactor HID joystick device type detection logic.
winebus.sys: Pass USAGE_AND_PAGE to hid_device_begin_report_descriptor.
winebus.sys: Use a physical collection for the HID input report.
include: Define some HID simulation device usages.
winebus.sys: Use SDL_JoystickGetType to set physical HID usage.
dinput: Check collection nodes to find HID simulation device usages.
windows.gaming.input: Add an internal WineGameControllerProvider runtimeclass.
windows.gaming.input: Start a thread to monitor HID device addition and removal.
dinput: Use a custom GUID to open a device from a device path.
windows.gaming.input: Instantiate the WineGameControllerProvider runtimeclass.
windows.gaming.input: Make QueryInterface implementations consistent.
windows.gaming.input: Stub ICustomGameControllerFactory for RawGameController.
windows.gaming.input: Stub ICustomGameControllerFactory for Gamepad.
windows.gaming.input: Add IGameControllerImpl undocumented interface declaration.
include: Add Windows.Devices.Power.IBatteryReport interface definition.
winebus.sys: Don't reset report descriptor when starting a collection.
windows.gaming.input: Instantiate IGameController(BatteryInfo) stub from providers.
windows.gaming.input: Implement IRawGameControllerStatics_FromGameController.
windows.gaming.input: Check the controller type and create Gamepad instances.
include: Add Windows.Gaming.Input.IGamepadStatics2 interface declaration.
windows.gaming.input: Implement IGamepadStatics2_FromGameController.
windows.gaming.input: Implement CreateGameController for RawGameController runtimeclass.
windows.gaming.input: Implement CreateGameController for Gamepad runtimeclass.
include: Fix IIterator<T> declaration and missing IVector(View)<T> requires.
windows.gaming.input: Implement IIterable<T> and IIterator<T> interfaces.
windows.gaming.input: Implement IRawGameControllerStatics_get_RawGameControllers.
windows.gaming.input: Implement IGamepadStatics_get_Gamepads.
windows.gaming.input: Implement Controller(Added|Removed) event support.
windows.gaming.input: Return object counts and VID/PID for RawGameController.
windows.gaming.input: Implement GetCurrentReading for the RawGameController runtimeclass.
windows.gaming.input: Implement GetCurrentReading for the Gamepad runtimeclass.
mf/tests: Check the number of input samples to get a H264 stream change.
mf/tests: Check H264 decoder first NV12 decoded frame.
mf/tests: Check H264 decoder stream count and IDs.
winegstreamer: Introduce new H264 decoder transform stub.
windows.gaming.input: Return correct error from DllGetActivationFactory.
windows.gaming.input: Always return S_OK from TryGetFactoryControllerFromGameController.
Santino Mazza (8):
bcrypt/tests: Test for invalid RSA keyblob.
bcrypt: Add support for PUBLICKEY blob types.
bcrypt: Validate key size when importing RSA public key.
bcrypt: Implement KeyLength property.
ncrypt: Make use of bcrypt for low level cryptography.
ncrypt/tests: Test for symmetric keys support.
ncrypt: Implement NCryptCreatePersistedKey.
ncrypt: Implement NCryptFinalizeKey.
Saulius Krasuckas (1):
ntdll: Check __WINE_PE_BUILD instead of compiler macros.
Stefan Dösinger (6):
wined3d: Use extra bits in the queue head and tail counters.
wined3d: Use the default queue index for resource fencing.
wined3d: Remove the no-op wined3d_resource_release.
wined3d: Rename resource_acquire to resource_reference.
wined3d: Replace the GE_WRAP macro with a function.
wined3d: Replace while (1) with for (;;).
Torge Matthies (3):
powrprof: Add PowerUnregisterSuspendResumeNotification stub.
powrprof: Add PowerSettingRegisterNotification stub.
powrprof: Add PowerSettingUnregisterNotification stub.
Zebediah Figura (20):
httpapi/tests: Build without -DWINE_NO_LONG_TYPES.
d3d10/tests: Add tests for Direct3D 10 shader reflection interfaces.
d3d10_1/tests: Add shader reflection tests.
d3dcompiler: Use a single definition for both d3d10 and d3d11 reflection interfaces.
d3d10: Do not define D3DReflect().
devenum/tests: Remove workarounds from test_moniker_isequal().
makedep: Do not forbid importing system headers in msvcrt modules.
d3d12: Explicitly use Wine d3d12 and Vulkan headers.
dxgi: Explicitly use Wine d3d12 and Vulkan headers.
configure: Try to detect MinGW libvkd3d using pkg-config if --with-system-dllpath is specified.
configure: Fix the check for CAPI support.
wined3d: Allow changing settings using a new WINE_D3D_CONFIG environment variable.
winegstreamer: Deliver samples in PTS order instead of alternating.
wined3d: Do not print a d3d_perf warning in adapter_vk_alloc_bo() for unmapped BOs.
d3d11: Do not print a FIXME for dynamic linking in shader retrieval functions.
d3d11: Do not print a FIXME for dynamic linking when zero class instances are passed.
wined3d: Trace GL buffer object creation more accurately.
wined3d: Prevent buildup of retired OpenGL buffer objects' memory.
d3d11: Report support for MapNoOverwriteOnDynamicConstantBuffer.
d3d11: Report support for ConstantBufferPartialUpdate.
Zhiyi Zhang (11):
comctl32/tests: Fix a test failure when theming is active.
light.msstyles: Remove Classic Blue variant.
uxtheme/tests: Add IsThemePartDefined() tests.
uxtheme: Search parts of any state in IsThemePartDefined().
wine.inf: Enable Light theme by default.
comctl32/tests: Fix a possible test failure.
d2d1: Release bitmap on d2d_device_context_SetTarget() error path.
d2d1/tests: Test d2d_device_context_SetTarget() with bitmaps of D2D1_ALPHA_MODE_IGNORE.
d2d1: Use newer blend options in d2d_device_context_SetTarget() for bitmaps of D2D1_ALPHA_MODE_IGNORE.
d2d1/tests: Add d2d_transformed_geometry_StrokeContainsPoint() tests.
d2d1: Shrink stroke width for d2d_transformed_geometry_StrokeContainsPoint().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.3 is now available.
What's new in this release:
- More large scale cleanups to support 'long' type.
- Proper support for API sets.
- Progress on the PE conversion of USER32 and WineALSA.
- A number of HID joystick fixes.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.x/wine-7.3.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.x/wine-7.3.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.3 (total 15):
38210 WshScriptExec's StdIn StdOut and StdErr are missing.
41386 Motocross Madness 2 crashes on start
44635 Multiple games need ID3DXEffect CloneEffect (Gray Matter, Black and White 2)
44658 Multiple Win7+ APIset lookup/resolver tools need 'ApiSetMap' field in PEB (ApiSetView, Dependencies)
48096 Mulle Meck: Unhandled exception when starting game
48201 Unimplemented function KERNEL32.dll.SetCurrentConsoleFontEx
48733 Microsoft Visual Studio 2019 web-installer needs ncrypt.dll.NCryptOpenStorageProvider implementation
48760 ConEmu shows 'GetConsoleProcessList failed' at startup
51103 d3d11:d3d11 crashes on Windows + NVidia
52155 kernel32:pipe times out on 64-bit Wine
52290 Playground Sessions crashes on startup
52434 Light Blue theme has rendering errors in tree views
52526 Trails to Azure (Geofront patch) crashes on unimplemented function KERNEL32.dll.InitializeContext
52561 d3dx9_36:math crashes on Windows 8.1 and cw-rx460
52583 ApiSetView does not display export ordinals correctly
----------------------------------------------------------------
Changes since 7.2:
Alex Henrie (1):
comctl32/tests: Drop mru test workarounds for Windows <= 2000.
Alexandre Julliard (63):
kernel32: Forward SetThreadToken() to kernelbase.
make_specfiles: Sort the ApiSet dlls by name.
make_specfiles: Move some ApiSet dlls to the ntdll section.
api-ms-*: Forward to kernelbase instead of kernel32.
api-ms-*: Forward to kernelbase instead of advapi32.
api-ms-*: Forward to kernelbase instead of shlwapi.
api-ms-*: Forward to kernelbase instead of user32.
api-ms-*: Forward to kernelbase instead of version.
api-ms-*: Forward to combase instead of ole32.
api-ms-*: Forward to shcore instead of shlwapi.
api-ms-*: Forward to shcore instead of shell32.
api-ms-*: Forward to cfgmgr32 instead of setupapi.
api-ms-*: Forward to sechost instead of advapi32.
api-ms-*: Forward to cryptsp instead of advapi32.
secur32: Add stubs for DeleteSecurityPackageA/W.
winebuild: Add support for generating data-only DLLs.
winegcc: Add support for winebuild --data-only option.
makedep: Add support for winebuild --data-only option.
activeds.tlb: Build in data-only mode.
icmp: Build in data-only mode.
light.msstyles: Build in data-only mode.
lz32: Build in data-only mode.
mferror: Build in data-only mode.
mshtml.tlb: Build in data-only mode.
msimsg: Build in data-only mode.
normaliz: Build in data-only mode.
security: Build in data-only mode.
sfc: Build in data-only mode.
shdoclc: Build in data-only mode.
stdole2.tlb: Build in data-only mode.
stdole32.tlb: Build in data-only mode.
tzres: Build in data-only mode.
usp10: Build in data-only mode.
wmi: Build in data-only mode.
kernel32/tests: Add a few more tests for apisets.
kernel32: Move some more console functions to kernelbase.
winedump: Add dumping of the .apiset PE section.
winebuild: Add support for building apiset data.
apisetschema: Add dll.
kernel32/tests: Add tests for apiset query functions.
include: Add API set definitions.
ntdll: Add a global variable for the WoW PEB.
ntdll: Load the apiset schema at startup.
ntdll: Map imported apiset dlls to their target library.
ntdll: Map explicitly loaded apiset dlls to their target library.
ntdll: Implement ApiSetQueryApiSetPresence/Ex().
kernelbase: Implement IsApiSetImplemented().
apisetchema: Add some more kernelbase apisets.
apisetchema: Add some more kernel32 apisets.
apisetchema: Add some more combase apisets.
apisetchema: Add some more ole32 apisets.
apisetchema: Add some more advapi32 apisets.
apisetchema: Add some more gdi32 apisets.
apisetchema: Add some more user32 apisets.
apisetchema: Add some more sechost apisets.
apisetchema: Add some more shcore apisets.
apisetchema: Add some more shlwapi apisets.
apisetchema: Add some more winmm apisets.
apisetchema: Add some more comctl32 apisets.
apisetchema: Add some more misc apisets.
api-ms-*: Get rid of the apiset placeholder files.
include: Add a few locale definitions.
include: Update __MSABI_LONG definition for WINE_NO_LONG_TYPES support.
Alistair Leslie-Hughes (3):
include: Add AACMFTEncoder coclass.
mfplat: Correctly calculate url scheme length.
mfuuid: Add more schema CLSIDs.
Bernhard Kölbl (1):
include: Add missing required iface and retval for IMapView<K, V>.
Connor McAdams (1):
wined3d: Fix comment in wined3d_texture_vk_download_data().
Damjan Jovanovic (1):
krnl386.exe: Fix VxD filename format checks in __wine_vxd_open().
Daniel Lehman (1):
msxml3/tests: Fix some double-frees of BSTRs.
Dmitry Timoshkov (6):
riched20/tests: Add a test to see what richedit class flavours should be available.
comctl32/tests: Print id value as decimal.
comctl32/tests: Add iItem and uChanged to LVN_ITEMCHANGING/LVN_ITEMCHANGED context.
comctl32/tests: Add more LVM_INSERTITEM tests.
comctl32/listview: Send change notifications when inserting (LVIS_SELECTED|LVIS_FOCUSED) items.
comctl32/listview: Fix changed notification mask for inserted items.
Eric Pouech (231):
mapi32: Enable compilation with long types.
mciavi32: Enable compilation with long types.
mcicda: Enable compilation with long types.
mciqtz32: Enable compilation with long types.
mciseq: Enable compilation with long types.
mciwave: Enable compilation with long types.
midimap: Enable compilation with long types.
mlang: Enable compilation with long types.
mmdevldr.vxd: Enable compilation with long types.
mmsystem.dll16: Enable compilation with long types.
monodebg.vxd: Enable compilation with long types.
mountmgr.sys: Enable compilation with long types.
mp3dmod: Enable compilation with long types.
mprapi: Enable compilation with long types.
mpr: Enable compilation with long types.
msacm32.drv: Enable compilation with long types.
msacm.dll16: Enable compilation with long types.
dsound: Enable compilation with long types.
dwrite: Enable compilation with long types.
gdiplus: Enable compilation with long types.
msacm32: Use extended structure definition for driver configuration.
http.sys: Build without -DWINE_NO_LONG_TYPES.
msado15: Enable compilation with long types.
msasn1: Enable compilation with long types.
msctf: Enable compilation with long types.
msctfmonitor: Enable compilation with long types.
msdaps: Enable compilation with long types.
msdmo: Enable compilation with long types.
msident: Enable compilation with long types.
msimtf: Enable compilation with long types.
msisip: Enable compilation with long types.
msnet32: Enable compilation with long types.
mspatcha: Enable compilation with long types.
msrle32: Enable compilation with long types.
msscript.ocx: Enable compilation with long types.
mssign32: Enable compilation with long types.
mstask: Enable compilation with long types.
msvfw32: Enable compilation with long types.
msvidc32: Enable compilation with long types.
msvideo.dll16: Enable compilation with long types.
httpapi: Build without -DWINE_NO_LONG_TYPES.
mfreadwrite: Enable compilation with long types.
msacm32: Enable compilation with long types.
mshtml: Enable compilation with long types.
mmdevapi: Enable compilation with long types.
gdiplus/tests: Get rid of some GCC11 warnings (-Warray-bounds).
gdiplus: Get rid of gcc11 warnings (-Warray-bounds).
mscoree: Enable compilation with long types.
nddeapi: Enable compilation with long types.
ndis.sys: Enable compilation with long types.
netapi32: Enable compilation with long types.
netcfgx: Enable compilation with long types.
netio.sys: Enable compilation with long types.
netprofm: Enable compilation with long types.
newdev: Enable compilation with long types.
ntdsapi: Enable compilation with long types.
ntoskrnl.exe: Enable compilation with long types.
ntprint: Enable compilation with long types.
odbc32: Enable compilation with long types.
odbccp32: Enable compilation with long types.
ole2disp.dll16: Enable compilation with long types.
ole2.dll16: Enable compilation with long types.
olecli32: Enable compilation with long types.
olecli.dll16: Enable compilation with long types.
oledb32: Enable compilation with long types.
oledlg: Enable compilation with long types.
olesvr32: Enable compilation with long types.
olesvr.dll16: Enable compilation with long types.
mfplat: Enable compilation with long types.
msadp32.acm: Enable compilation with long types.
msg711.acm: Enable compilation with long types.
msgsm32.acm: Enable compilation with long types.
cmd: Enable compilation with long types.
cmd/tests: Enable compilation with long types.
packager: Enable compilation with long types.
pdh: Enable compilation with long types.
powrprof: Enable compilation with long types.
printui: Enable compilation with long types.
prntvpt: Enable compilation with long types.
propsys: Enable compilation with long types.
pstorec: Enable compilation with long types.
qmgr: Enable compilation with long types.
query: Enable compilation with long types.
qwave: Enable compilation with long types.
rasapi32: Enable compilation with long types.
rpcrt4: Enable compilation with long types.
rsaenh: Enable compilation with long types.
rstrtmgr: Enable compilation with long types.
rtutils: Enable compilation with long types.
sane.ds: Enable compilation with long types.
sapi: Enable compilation with long types.
schannel: Enable compilation with long types.
schedsvc: Enable compilation with long types.
sechost: Enable compilation with long types.
secur32: Enable compilation with long types.
scrobj: Enable compilation with long types.
serialui: Enable compilation with long types.
setupapi: Enable compilation with long types.
setupx.dll16: Enable compilation with long types.
riched20: Enable compilation with long types.
quartz: Always allocate the entire VIDEOINFO structure.
ntdll/tests: Fully allocate SYSTEM_FIRMWARE_TABLE_INFORMATION.
kernel32/tests: Fully allocate SYSTEM_FIRMWARE_TABLE_INFORMATION.
kernel32/test: Fully allocate KEY_VALUE_*_INFORMATION.
oledb32/tests: Silence some gcc11 warnings (-Warray-bounds).
sfc_os: Enable compilation with long types.
shdocvw: Enable compilation with long types.
shell32: Enable compilation with long types.
shell.dll16: Enable compilation with long types.
shlwapi: Enable compilation with long types.
snmpapi: Enable compilation with long types.
sound.drv16: Enable compilation with long types.
spoolss: Enable compilation with long types.
sppc: Enable compilation with long types.
sti: Enable compilation with long types.
storage.dll16: Enable compilation with long types.
stress.dll16: Enable compilation with long types.
sxs: Enable compilation with long types.
tapi32: Enable compilation with long types.
taskschd: Enable compilation with long types.
toolhelp.dll16: Enable compilation with long types.
traffic: Enable compilation with long types.
twain_32: Enable compilation with long types.
typelib.dll16: Enable compilation with long types.
uianimation: Enable compilation with long types.
uiautomationcore: Enable compilation with long types.
uiribbon: Enable compilation with long types.
url: Enable compilation with long types.
urlmon: Enable compilation with long types.
wusa: Set subsystem to GUI.
uninstaller: Set subsystem to GUI.
usbd.sys: Enable compilation with long types.
userenv: Enable compilation with long types.
user.exe16: Enable compilation with long types.
uxtheme: Enable compilation with long types.
vbscript: Enable compilation with long types.
vcomp*: Enable compilation with long types.
vcruntime140: Enable compilation with long types.
vcruntime140_1: Enable compilation with long types.
vdhcp.vxd: Enable compilation with long types.
vdmdbg: Enable compilation with long types.
ver.dll16: Enable compilation with long types.
version: Enable compilation with long types.
virtdisk: Enable compilation with long types.
vmm.vxd: Enable compilation with long types.
vnbt.vxd: Enable compilation with long types.
vnetbios.vxd: Enable compilation with long types.
vssapi: Enable compilation with long types.
vtdapi.vxd: Enable compilation with long types.
vwin32.vxd: Enable compilation with long types.
w32sys.dll16: Enable compilation with long types.
wer: Enable compilation with long types.
wevtapi: Enable compilation with long types.
wevtsvc: Enable compilation with long types.
ctapi32: Enable compilation with long types.
nsi: Enable compilation with long types.
comctl32/tests: Don't outdent todo_wine*.
kernel32/tests: Don't outdent todo_wine*.
ole32/tests: Don't outdent todo_wine*.
advapi32/tests: Don't outdent todo_wine*.
bcrypt/tests: Don't outdent todo_wine*.
oledb32/tests: Don't outdent todo_wine*.
shell32/tests: Don't outdent todo_wine*.
user32/tests: Don't outdent todo_wine*.
msxml3/tests: Don't outdent todo_wine*.
dwrite/tests: Don't outdent todo_wine*.
msacm32/tests: Don't outdent todo_wine*.
windowscodecs/tests: Don't outdent todo_wine*.
wiaservc: Enable compilation with long types.
wimgapi: Enable compilation with long types.
win87em.dll16: Enable compilation with long types.
windows.media.devices: Enable compilation with long types.
windows.devices.enumeration: Enable compilation with long types.
windows.globalization: Enable compilation with long types.
windows.media.speech: Enable compilation with long types.
wing.dll16: Enable compilation with long types.
wininet: Enable compilation with long types.
winscard: Enable compilation with long types.
winsta: Enable compilation with long types.
wintab32: Enable compilation with long types.
wintab.dll16: Enable compilation with long types.
wintrust: Enable compilation with long types.
wlanapi: Enable compilation with long types.
wmp: Enable compilation with long types.
wmvcore: Enable compilation with long types.
wnaspi32: Enable compilation with long types.
winmm: Enable compilation with long types.
wineps.drv: Enable compilation with long types.
windowscodecs: Enable compilation with long types.
oleacc: Enable compilation with long types.
wsdapi: Enable compilation with long types.
wsock32: Enable compilation with long types.
wtsapi32: Enable compilation with long types.
winemapi: Enable compilation with long types.
activeds/tests: Enable compilation with long types.
adsldp/tests: Enable compilation with long types.
advapi32/tests: Enable compilation with long types.
advpack/tests: Enable compilation with long types.
amstream/tests: Enable compilation with long types.
apphelp/tests: Enable compilation with long types.
atl100/tests: Enable compilation with long types.
atl/tests: Enable compilation with long types.
avifil32/tests: Enable compilation with long types.
cabinet/tests: Enable compilation with long types.
comcat/tests: Enable compilation with long types.
comdlg32/tests: Enable compilation with long types.
comsvcs/tests: Enable compilation with long types.
credui/tests: Enable compilation with long types.
crypt32/tests: Enable compilation with long types.
cryptnet/tests: Enable compilation with long types.
cryptui/tests: Enable compilation with long types.
comctl32/tests: Use correct integral type.
comctl32/tests: Use inline function in expect*() macros to handle integral conversion.
dbghelp/tests: Enable compilation with long types.
dhcpcsvc/tests: Enable compilation with long types.
directmanipulation/tests: Enable compilation with long types.
dpvoice/tests: Enable compilation with long types.
dsdmo/tests: Enable compilation with long types.
dssenh/tests: Enable compilation with long types.
dwmapi/tests: Enable compilation with long types.
dxdiagn/tests: Enable compilation with long types.
explorerframe/tests: Use correct integral type.
explorerframe/tests: Enable compilation with long types.
faultrep/tests: Enable compilation with long types.
fusion/tests: Enable compilation with long types.
dplayx/tests: Use correct integral type.
dplayx/tests: Use function in checkFlags macro to handle integral conversion.
dplayx/tests: Enable compilation with long types.
dpnet/tests: Use correct integral type.
dpnet/tests: Enable compilation with long types.
dwrite/tests: Enable compilation with long types.
François Gouget (19):
msi/tests: Fix the trailing linefeed in an ok() message.
dinput/tests: Remove spaces before linefeeds.
dinput/tests: Remove an unneeded NULL cast.
d2d1/tests: Fix the spelling of an ok() message.
d3d11/tests: Fix the spelling of a couple of comments.
msdasql: Remove a couple of unneeded NULL casts.
kernel32/tests: Add a trailing linefeed to an ok() message.
hnetcfg: Fix the spelling of a TRACE() message.
ntdll: Fix the spelling of SystemPrioritySeparation.
iphlpapi: Fix ULONG comparisons, most notably for IPv4 addresses.
iphlpapi: Fix the IPv4 address network order for comparisons.
inetmib1: Avoid overflows in IPv4 address comparisons.
inetmib1: Fix the IPv4 address network order for comparisons.
ws2_32/tests: Remove the todo_wine on a test_recv() ok() call.
xinput1_3: Fix the spelling of a WARN() message and helper.
winebus.sys: Make hid_device_get_report_descriptor() static.
dbghelp: Fix the spelling and tweak the wording of a comment.
ncrypt: Add trailing linefeeds to ERR() messages.
winetest: Also trace the country and ANSI code page.
Gabriel Ivăncescu (3):
winepulse.drv: Expose audio devices to the application.
winepulse.drv: Cache the devices looked up in the registry.
winepulse.drv: Implement GetPropValue.
Giovanni Mascellani (2):
mfplat: Fix MFGetPlaneSize() behavior for invalid formats.
winegstreamer: Do not block forever if EOS races with command queue.
Hans Leidekker (9):
wbemprox: Build without -DWINE_NO_LONG_TYPES.
wbemprox/tests: Build without -DWINE_NO_LONG_TYPES.
wbemdisp: Build without -DWINE_NO_LONG_TYPES.
wmiutils: Build without -DWINE_NO_LONG_TYPES.
wldap32: Build without -DWINE_NO_LONG_TYPES.
webservices: Build without -DWINE_NO_LONG_TYPES.
webservices/tests: Build without -DWINE_NO_LONG_TYPES.
ncrypt: Build without -DWINE_NO_LONG_TYPES.
ncrypt: Fix resizing property array.
Henri Verbeet (1):
wined3d: Use the chunk allocator for GL vertex buffers.
Huw D. M. Davies (28):
winealsa: Remove alsa-pulse handle underrun workaround.
winealsa: Pass EDataFlow to alsa_try_open().
winealsa: Introduce a helper to retrieve the card name.
winealsa: Pass a unicode chunk2 to construct_device_id().
winealsa: Rewrite get_reg_devices() using the Nt registry api.
winealsa: Move get_endpoints_id to the unixlib.
winealsa: Explicitly store the name and channel count in the audio client.
winealsa: Use the global lock to lock the session.
winealsa: Introduce a stream structure.
winealsa: Move the pcm device opening to a helper.
winealsa: Move get_mix_format to the unixlib.
winealsa: Move is_format_supported to the unixlib.
winealsa: Move the stream creation to AudioClient_Initialize().
winealsa: Use the stream ptr to indicate the init state.
winealsa: Store the channel volumes in the stream.
winealsa: Remove an unnecessary check on the session channel count.
winealsa: Store the session channel vols in the stream.
winealsa: Store the session master volume in the stream.
winealsa: Store the session mute state in the stream volumes.
winealsa: Pass a stream ptr to alsa_{read|write}_data().
winealsa: Keep a copy of the dataflow in the stream.
winealsa: Use the sessions lock to lock the client's data.
winealsa: Use a pthread mutex for the stream lock.
winealsa: Use NtAllocateVirtualMemory() to alloc the buffers returned to the user.
winealsa: Move create_stream and release_stream to the unixlib.
winealsa: Move get_buffer_size to the unixlib.
winealsa: Move get_latency to the unixlib.
winealsa: Move get_current_padding to the unixlib.
Jacek Caban (60):
win32u: Move monitor_from_rect implementation from user32.
win32u: Move NtUserClipCursor implementation from user32.
win32u: Move GetClipCursor implementation from user32.
win32u: Move NtUserSetCursorPos implementation from user32.
win32u: Move MessageBeep implementation from user32.
win32u: Move GetCursorPos implementation from user.
win32u: Move window surfaces list from user32.
win32u: Move NtUserGetQueueStatus implementation from user32.
win32u: Move GetInputState implementation from user32.
win32u: Reset thread info in NtUserSetThreadDesktop.
win32u: Move NtUserGetAsyncKeyState implementation from user32.
win32u: Move ThreadDetach driver call from user32.
win32u: Move NtUserUnhookWinEvent implementation from user32.
win32u: Move NtUserSetWinEventHook implementation from user32.
win32u: Move NtUserNotifyWinEvent implementation from user32.
win32u: Move NtUserSetWindowsHookEx implementation from user32.
win32u: Move NtUserUnhookWindowsHookEx implementation from user32.
win32u: Move UnhookWindowsHook implementation from user32.
user32: Delay load setupapi.
gdi32: Link directly to user32.
win32u: Set user callbacks from user32 DllMain.
win32u: Move NtUserGetForegroundWindow implementation from user32.
win32u: Move primary palette handling from user32.
winex11: Get virtual screen rect from win32u.
winex11: Get primary monitor rect from win32u.
win32u/tests: Build without -DWINE_NO_LONG_TYPES.
user32: Use a single struct for static and animated cursor icons.
user32: Store module as unicode string in cursoricon_object.
user32: Use ntuser object type constants.
user32: Simplify cursor hotspot handling.
user32: Factor out create_icon_frame.
user32: Introduce NtUserSetCursorIconData.
user32: Use create_cursoricon_object in CreateIconIndirect.
user32: Use create_cursoricon_object in CURSORICON_CreateIconFromANI.
user32: Simplify icon delay handling.
win32u: Move user lock from user32.
win32u: Move user_handles from user32.
win32u: Move cursor icon handle management from user32.
win32u: Move NtUserSetCursor implementation from user32.
win32u: Move NtUserGetIconSize implementation from user32.
win32u/tests: Add cursor icon tests.
win32u: Move NtUserGetCursorFrameInfo implementation from user32.
win32u: Move NtUserGetIconInfo implementation from user32.
user32: Directly use NtUserGetIconInfo in GetIconInfo.
user32: Use GetIconInfo in CopyIcon.
win32u: Move NtUserDrawIconEx implementation from user32.
mshtml: Don't try to bind custom events to Gecko event target.
user32: Don't access cursoricon_object directly in CopyImage.
win32u: Move get_icon_param and set_icon_param from user32.
win32u: Move NtUserRegisterHotKey implementation from user32.
win32u: Move NtUserGetCursorInfo implementation from user32.
win32u: Move NtUserGetGUIThreadInfo implementation from user32.
user32: Use NtUserGetGUIThreadInfo in GetActiveWindow.
user32: Use NtUserGetGUIThreadInfo in GetFocus.
win32u: Partially move handle_internal_message from user32.
win32u: Move call_current_hook implementation from user32.
win32u: Move NtUserCallNextHookEx implementation from user32.
win32u: Move call_hooks implementation from user32.
win32u: Move GetWindowThreadProcessId implementation from user32.
win32u: Move IsWindow implementation from user32.
Lauri Kenttä (1):
po: Update Finnish translation.
Mark Harmstone (2):
winepulse.drv: Fetch actual application name, if possible.
winepulse.drv: Implement PKEY_AudioEndpoint_PhysicalSpeakers device prop.
Matteo Bruni (7):
include: Add missing CreateProcessWithTokenW() declaration.
ddraw: Filter out redundant discard maps.
d3dx9/tests: Fix initialization of texture levels > 0 in test_D3DXSHProjectCubeMap().
d3dx9/tests: Initialize an input variable.
d3dx9/tests: Get rid of unnecessary ifs.
d3dx9: Build with nameless unions.
d3dx9: Handle D3DXCONSTTABLE_LARGEADDRESSAWARE flag.
Michael Stefaniuc (5):
dmsynth: Implement the synth GetFormat method.
dmsynth/tests: Add synth GetFormat tests.
dmsynth: Implement the sink GetDesiredBufferSize method.
dmusic: Forward GetFormat() to the corresponding synth & sink methods.
dmusic: Sync up the dmobject.c files.
Mohamad Al-Jaf (2):
wusa: Use case insensitive comparison for expressions.
ntdll: Fix the spelling of a comment.
Nikolay Sivov (39):
oleaut32: Build without -DWINE_NO_LONG_TYPES.
mfmediaengine/tests: Build without -DWINE_NO_LONG_TYPES.
mfreadwrite/tests: Build without -DWINE_NO_LONG_TYPES.
mfplay: Implement UpdateVideo().
mfplay: Handle shutdown state in media item methods.
mfplay: Fix IsProtected() return value.
mfplat/tests: Add a separate test function for MFGetPlaneSize().
winepulse: Use FAILED() instead of non-zero result check.
winegstreamer: Raise MESourceRateChanged on SetRate().
mf/session: Use nameless union for command structure.
mf/session: Initial implementation of playback rate change.
mfplay: Enable rate control methods.
mf/evr: Implement IsRateSupported().
mf/evr: Fix rate limits methods.
winegstreamer: Maintain playback rate value for the media source.
mfplay: Shutdown sources when media items are released.
mfplat: Fix playback rate handling in system time source.
mf/tests: Add some tests for rate support in SAR.
scrrun: Add a stub for pipe-based text stream.
mfmediaengine: Shutdown media source when clearing current presentation.
mfmediaengine: Implement GetResourceCharacteristics().
mfmediaengine: Handle realtime mode flag.
mfmediaengine: Implement GetPresentationAttribute().
mfmediaengine: Implement GetStreamAttribute().
usp10/tests: Build without -DWINE_NO_LONG_TYPES.
usp10/tests: Remove workarounds for missing functions.
scrrun: Move IO mode check to writing helper.
scrrun: Use same write implementation for pipe stream.
wshom: Create standard streams when starting new process with Exec().
wshom: Implement standard streams properties for Exec object.
mfplat: Add VT_R4 case for propvariant tracing.
shcore/tests: Build without -DWINE_NO_LONG_TYPES.
dxva2/tests: Build without -DWINE_NO_LONG_TYPES.
t2embed/tests: Build without -DWINE_NO_LONG_TYPES.
browseui/tests: Build without -DWINE_NO_LONG_TYPES.
atlthunk/tests: Build without -DWINE_NO_LONG_TYPES.
dispex/tests: Build without -DWINE_NO_LONG_TYPES.
msxml3/tests: Build without -DWINE_NO_LONG_TYPES.
comctl32/listview: Initialize subitem text buffer before drawing each subitem.
Paul Gofman (4):
wined3d: Clear GL backbuffer in wined3d_context_gl_init().
ntdll: Do not force 2G stack limit for the main thread of 64 bit process.
kernel32: Import RtlCaptureContext() instead of forwarding.
kernel32: Import RtlRestoreContext() instead of forwarding.
Piotr Caban (13):
concrt140/tests: Build without -DWINE_NO_LONG_TYPES.
msvcp120/tests: Build without -DWINE_NO_LONG_TYPES.
msvcp140_atomic_wait/tests: Build without -DWINE_NO_LONG_TYPES.
msvcp140/tests: Build without -DWINE_NO_LONG_TYPES.
msvcp90/tests: Build without -DWINE_NO_LONG_TYPES.
msvcr100/tests: Build without -DWINE_NO_LONG_TYPES.
msvcr120/tests: Build without -DWINE_NO_LONG_TYPES.
msvcrtd/tests: Build without -DWINE_NO_LONG_TYPES.
msvcr90/tests: Build without -DWINE_NO_LONG_TYPES.
msvcrt/tests: Build without -DWINE_NO_LONG_TYPES.
ucrtbase/tests: Build without -DWINE_NO_LONG_TYPES.
msvcirt/tests: Fix uninitialized variable warning.
msvcirt/tests: Build without -DWINE_NO_LONG_TYPES.
Rafał Harabień (7):
user32/tests: Add tests for more static control styles.
user32/tests: Test static control exstyle.
user32/tests: Check client rect in static control tests.
user32: Fix handling of SS_ETCHEDHORZ/SS_ETCHEDVERT static control styles.
user32: Send WM_CTLCOLORSTATIC for all static control types.
user32/tests: Fix invalidation in static control tests.
user32/tests: Remove now unused TODO_COUNT in static tests.
Roman Pišl (3):
kernel32/tests: Add test for GetConsoleProcessList.
server: Add console process list ioctl.
kernel32: Implement GetConsoleProcessList.
Rémi Bernon (56):
winebus.sys: Only call SDL_HapticRumbleInit if supported, as a fallback.
winebus.sys: Request haptics effect to stop when only when needed.
winebus.sys: Stop haptics effects using the right function.
winebus.sys: Fix HID haptics waveform NONE / STOP ordinals.
xinput1_3: Use _ordinal rather than _index suffix for haptics waveforms.
mf: Handle MESourceSeeked and MEStreamSeeked state change events.
xinput1_3: Use the implicit Stop waveform ordinal to stop the effects.
winebus.sys: Use a separate hid_device_vtbl function to stop haptics.
winebus.sys: Pack the HID haptics waveform report struct.
winebus.sys: Add a repeat count value to haptics output report.
xinput1_3: Use the implicit None waveform to trigger both waveforms.
xinput1_3: Use WM_DEVICECHANGE device path to add or remove devices.
xinput1_3: Only write haptics waveform reports when needed.
winebus.sys: Add missing static qualifiers in bus_sdl.c.
dinput: Set HID joystick internal ref before trying to open it.
dinput: Ignore override flag for non-XInput devices.
dinput: Use DIEFT_GETTYPE instead masking bits.
winegstreamer: Remove unnecessary DECLSPEC_HIDDEN qualifier.
winegstreamer: Move format helpers to a dedicated source.
winegstreamer: Introduce new WG_MAJOR_TYPE_WMA major type.
winegstreamer: Introduce new wg_transform struct.
winegstreamer: Create static pads on wg_transform struct.
dinput: Also trace report buffers on immediate ReadFile success.
dinput: Only read effect state reports when exclusively acquired.
dinput: Remove unnecessary critical section entry.
dinput: Report optional force feedback state only if supported.
mf/tests: Add some H264 decoder creation tests.
mf/tests: Add some H264 decoder GetInputAvailableType tests.
mf/tests: Add some H264 decoder SetInputType tests.
mf/tests: Add some H264 decoder GetOutputAvailableType tests.
mf/tests: Add some H264 decoder SetOutputType tests.
include: Use fully qualified names in windows.foundation.collections.idl.
widl: Support declaring multiple namespaces at once.
include: Remove nested namespaces in windows.gaming.input.idl.
include: Add Windows.Devices.Haptics.SimpleHapticsController definition.
include: Add Windows.Gaming.Input.IRawGameController2 definition.
dinput: Avoid invalid rglDirection access when effect cAxes is 0.
winebus.sys: Use a local variable to access hid_device_state.
winebus.sys: Link the first two absolute axes to the effect directions.
dinput/tests: Add more tests for simulation HID usages.
winegstreamer: Remove \n at the end of GST log messages.
winegstreamer: Move the conditional cleanup to the create error path.
winegstreamer: Add a bin container element to wg_transform.
winegstreamer: Append audioconvert and audioresample elements.
winegstreamer: Lookup and instantiate a WMA decoder element.
mf/tests: Add some H264 decoder GetInputStreamInfo tests.
mf/tests: Add some H264 decoder GetOutputStreamInfo tests.
mf/tests: Always initialize sample data in create_sample helper.
mf/tests: Add some H264 decoder Process(Input|Output) tests.
dinput/tests: Add some windows.gaming.input hotplug tests.
dinput/tests: Add some windows.gaming.input device tests.
dinput/tests: Add tests for IRawGameControllerStatics_FromGameController.
dinput/tests: Add tests for IGamepadStatics_get_Gamepads.
winegstreamer: Link the container pads and activate ours.
winegstreamer: Send stream-start, caps, and segment events on creation.
mf/tests: Check H264 decoder formats after stream change.
Santino Mazza (14):
bcrypt: Add BCRYPT_KEY_BLOB struct definition.
ncrypt/tests: Test key import of an rsa key.
ncrypt: Make NCryptOpenStorageProvider return a valid stub pointer.
ncrypt: Implement NCryptImportKey function.
ncrypt/tests: Test NCryptFreeObject function.
ncrypt: Implement NCryptFreeObject.
ncrypt: Implement NCryptGetProperty and NCryptSetProperty.
ncrypt: Set a couple of key properties.
ncrypt: NCryptGetProperty should always fill result size.
ncrypt: Add NCryptVerifySignature stub.
ncrypt: Validate existence of property before creating one.
ncrypt: Check null handle when setting or getting properties.
ncrypt/tests: Test for NCryptCreatePersistedKey.
ncrypt/tests: Test for NCryptSetProperty.
Sven Baars (5):
ntoskrnl.exe/tests: Fix some memory leaks (Valgrind).
rsaenh: Store a BCRYPT_HASH_HANDLE in CRYPTHASH.
rsaenh: Properly destroy hashes created by CPCreateHash() (Valgrind).
ntoskrnl.exe/tests: Let CertCloseStore() delete the certificate context.
crypt32/tests: Fix a memory leak (Valgrind).
Zebediah Figura (62):
kernelbase: Include the null terminator in the length passed to WideCharToMultiByte() in UrlGetPartA().
kernelbase: Ignore URL_PARTFLAG_KEEPSCHEME when used with URL_PART_SCHEME or URL_PART_QUERY.
kernelbase: Ignore URL_PARTFLAG_KEEPSCHEME for file URLs.
kernelbase: Also parse hostnames for news schemes in UrlGetPart().
kernelbase: Do not initialize output params on failure in UrlGetPart().
wined3d: Allow up to 128 MiB of persistently mapped memory on 32-bit architectures.
wined3d: Keep a client reference count for the BO map pointer.
wined3d: Allow NOOVERWRITE maps to be accelerated on 32-bit architectures.
d3dx9: Do not use d3dx_effect_cleanup() in D3DXCreateEffectEx().
d3dx9: Separate out d3dx9_effect_init_from_dxbc().
d3dx9/tests: Add more tests for ID3DXEffect::CloneEffect().
d3dx9: Implement ID3DXEffect::CloneEffect().
ntdll: Use YieldProcessor() in RtlEnterCriticalSection().
kernelbase: Also return E_FAIL when trying to parse username, password, or port for non-Internet URLs.
kernelbase: Allow hostnames to contain any characters in UrlGetPart().
kernelbase: Allow ports to contain any characters in UrlGetPart().
kernelbase: Allow usernames and passwords to contain any characters in UrlGetPart().
kernelbase: Do not return the question mark as part of the query string from UrlGetPart().
wined3d: Move struct wined3d_buffer_ops to buffer.c.
wined3d: Pass a wined3d_range array to wined3d_context_copy_bo_address().
wined3d: Use wined3d_context_copy_bo_address() to upload buffer ranges.
wined3d: Use wined3d_context_copy_bo_address() to download buffer ranges.
kernelbase: Parse query strings even without a slash after the host in UrlGetPart().
kernelbase: Return void from parse_url().
kernelbase: Return E_INVALIDARG when requesting URL_PART_USERNAME and there is no username.
kernelbase: Return E_INVALIDARG when requesting URL_PART_PASSWORD and there is no password.
kernelbase: Return E_INVALIDARG when requesting URL_PART_PORT and there is no port.
wined3d: Pass a wined3d_device_gl pointer to wined3d_context_gl_create_bo().
wined3d: Protect access to the OpenGL wined3d_allocator with a critical section.
wined3d: Allow passing a NULL context to wined3d_device_gl_create_bo().
wined3d: Don't use persistent BOs from the client thread if we might need to do vertex attribute conversion.
kernelbase: Allow the two initial slashes to be backslashes in UrlGetPart().
kernelbase: Get rid of the "size" and "type" arguments to scan_url().
kernelbase: Allow schemes to contain uppercase characters in UrlGetPart().
kernelbase: Prepend the scheme even if the requested URL part is empty.
wined3d: Protect wined3d_chunk_gl map fields with a mutex.
wined3d: Move the "pin sysmem" flag to struct wined3d_resource.
wined3d: Do not allocate upload bufers for resources pinned to system memory.
wined3d: Try to allocate new OpenGL BOs from the client thread for DISCARD maps.
wined3d: Treat NOOVERWRITE maps on a previously discarded buffer as if they were DISCARD maps.
wined3d: Set a valid map pointer in adapter_gl_alloc_bo() if possible.
wined3d: Introduce a wined3d_texture_update_sub_resource() helper.
quartz/tests: Reset sink event counters when initializing the stream.
quartz/tests: Test the timestamps associated with new segments.
winegstreamer: Manually send new segment events.
winegstreamer: No longer queue WG_PARSER_EVENT_SEGMENT.
winegstreamer: Explicitly sleep in the DirectShow streaming thread after receiving EOS.
winegstreamer: Remove support for flushing the wg_parser object.
winegstreamer: Return S_FALSE from wg_parser_stream_get_event() if the stream is EOS.
winegstreamer: Get rid of the queue_stream_event() helper.
winegstreamer: Flatten wg_parser_event into a wg_parser_buffer structure.
wined3d: Introduce a wined3d_texture_get_bo_address() helper.
wined3d: Remove the now redundant "locations" parameter from wined3d_texture_get_memory().
wined3d: Handle WINED3D_LOCATION_CLEARED in wined3d_texture_load_location().
wined3d: Handle DISCARDED and CLEARED locations in wined3d_texture_get_memory().
wined3d: Consider WINED3D_LOCATION_CLEARED to be a CPU-accessible location.
wined3d: Use WINED3D_LOCATION_CLEARED for the initial location of textures.
wined3d: Allocate texture BOs from heap.
wined3d: Accelerate texture DISCARD maps as well.
winegstreamer: Don't unlink pads before dereferencing them.
winegstreamer: Do not use multiple cleanup labels in wg_transform_create().
wined3d: Allocate a heap memory buffer in wined3d_cs_map_upload_bo() if possible.
Ziqing Hui (1):
wininet: Support more internet time format.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 6.0.3 is now available.
What's new in this release (see below for details):
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.0/wine-6.0.3.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.0/wine-6.0.3.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 6.0.3 (total 46):
30244 Might & Magic Clash of Heroes: fails to start
36887 Trusteer Rapport setup crashes on unimplemented function ntoskrnl.exe.PsGetCurrentProcessSessionId
37592 Filenames in themed file dialog change size
39142 Roblox Client/Server connection is dropped with error "This server has shut down."
41292 Nexton LC-ScriptEngine freezes, possibly bad dsound notifications
47047 Multiple kernel drivers crash due to missing 'ntoskrnl.exe.MmGetPhysicalAddress' semi-stub (64-bit MRAC Anti-Cheat (My.Com Warface) kernel service, DELL BIOS flash utility, BattlEye Anti-Cheat)
47505 Levelhead: Fatal error when attempting to access the game's servers when logged in
47791 Inconsistent %ERRORLEVEL% after setting env var value in cmd.exe
48891 Bash from Cygwin/msys2 terminates after first command
49625 winedbg --command 'info wnd' fails with Exception c0000005
49726 ChrisPC Free VPN Connection 2.x crashes on unimplemented function rasapi32.dll.RasSetCredentialsA when clicking 'Connect to VPN'
50041 Amnesia: Rebirth crashes with builtin vcomp140
50113 Total Commander 9.51: when using a third-party theme with Windows XP, the drive buttons and function buttons at the bottom of the window (F5 Copy) are not displayed
50244 Melodyne 5: activation via internet fails with 12152 error
50272 Melodyne 5: activation via internet produces "Unknown Error"
50404 Sims 4 crashes on startup with builtin msvcrt
50412 Wrong check for needed access rights in QueryServiceConfig2
50603 WiX Toolset v3.11 installer crashes when loading update feed XML
50615 Excel 2007 needs ICreateTypeInfo2::DeleteFuncDesc()
50735 MSBuild fails to launch FileTracker
51221 Dangerous Water crash when starting a Multiplayer game (requires IDirectPlay8Server_EnumServiceProviders implementation)
51244 Frostpunk doesn't launch with builtin msvcr120
51264 GUI exe receives invalid StdOutput HANDLE if launched via ShellExecuteEx
51267 Rise of Legends Demo crashes with null pointer exception inside SAXReader::parseURL
51291 Youkoso! Sukebe Elf no Mori e (demo) doesn't show thumbnail image in monitor settings.
51302 NASCAR '15 Victory Edition gets in infinite loop on launch
51303 Metal Gear Solid V: Ground Zeroes needs d3d11_swapchain_GetLastPresentCount implementation
51348 uxtheme.SetWindowTheme should use SendMessage to send WM_THEMECHANGED
51358 Civilization 4: XML load error when trying to start
51382 NetEase Cloud Music crashes on zh_CN.UTF-8 locale.
51435 iostream float formatting broken since Wine 5.12-170-g1bc6f0c8617
51452 oleaut32:varformat fails in Wine when the currency sign has two characters or more
51465 EVE Online launcher crashes
51503 vbscript parser error in expression with # char
51505 MIDISelector's MIDI mapper configuration doesn't take effect
51506 Disabled controls are not greyed out when theming is active
51535 Native Access 1.13.3 crashes on unimplemented function virtdisk.dll.DetachVirtualDisk
51553 Purple bitmap should be transparent in scrollbar theming
51574 swscanf_s with %zu fails for valid value
51576 Click-N-Type 3.03 virtual keyboard installer sometimes has two task panes
51590 services:service fails when the KDE taskbar is at the top
51591 AFxW: file list panes aren't updated at start-up
51635 wine fails to build with glibc 2.34
51728 copypasta in pwcache.c:ctox()
51894 ucrtbase:misc fails on some Windows 10 1607 and 1709
51932 wine-stable 6.0.2 build fails in Ubuntu 21.10
----------------------------------------------------------------
Changes since 6.0.2:
Akihiro Sagawa (6):
ntdll/tests: Expand path name tests with path + device name.
ntdll: Validate directory path when the path name ends with a dos device name.
ntdll: Fix null pointer dereference in RtlDosPathNameToNtPathName_U_WithStatus.
midimap: Introduce XP form and prefer it.
user32/tests: Test pending redraw state with owner-drawn list box.
user32/listbox: Fix redraw after LB_SETCOUNT message.
Alex Henrie (2):
ntoskrnl: Add MmGetPhysicalAddress semi-stub.
rasapi32: Add RasSetCredentialsA/W stubs.
Alexandre Julliard (2):
ntdll: Avoid crash on shutting down partially initialized thread.
wininet/tests: Mark a failing test as todo.
Alistair Leslie-Hughes (5):
services: Check correct permission for QueryServiceConfig2W.
dpnet: Implement IDirectPlay8Server EnumServiceProviders.
ntoskrnl.exe: Implement PsGetCurrentProcessSessionId.
wininet: Reset context length for http status 304.
wininet: Allow up to 4K for response headers.
Andrew Boyarshin (1):
include: Fix IRequestDictionary IID.
Andrew Eikum (1):
comctl32: Avoid gcc 11 maybe-uninitialized warning.
Andrey Gusev (1):
msvcr120: Add version.rc file.
Austin English (1):
virtdisk: Add DetachVirtualDisk stub.
Bernhard Übelacker (1):
attrib: Avoid crash when called without parameter.
Brendan McGrath (1):
kernelbase: Don't pass StdHandles with CREATE_NEW_CONSOLE.
Damjan Jovanovic (4):
server: The owner of a securable object should have all the standard access rights.
msxml3: Return S_FALSE from IXMLDOMNamedNodeMap::nextNode() when there are no attributes.
msxml3/tests: Add some regex tests.
msxml3: Use XSD regex quantifier format S{0, m} instead of S{, m}.
Dmitry Timoshkov (1):
vcruntime140_1: Fix compilation with clang.
Eric Pouech (1):
winedbg: Fix crash when no process attached in 'info wnd' command.
Fabian Maurer (3):
configure: Improve resolv lib test for glibc 2.34.
mpr: Fix copy paste error when converting hex char to int.
msi: Set dialog as parent in subsequent dialog.
Florian Eder (1):
cmd: Do not change errorlevel when setting environment variables.
François Gouget (16):
ntdll: Fix the spelling of a comment.
oleaut32/tests: Allow testing VarParseNumFromStr() using Unicode strings.
oleaut32/tests: Add more VarParseNumFromStr() tests.
oleaut32: Fix VarParseNumFromStr()'s support for two-character currencies.
oleaut32: VarParseNumFromStr() accepts trailing currency symbols.
oleaut32: Setting sThousand to a non-breaking space also matches regular spaces.
oleaut32: Fix a trace containing a null character.
oleaut32/tests: Fix the Swiss franc and Moroccan dirham tests.
oleaut32: VarParseNumFromStr() does not allow leading thousands separators.
oleaut32: Fix VarParseNumFromStr()'s support for trailing thousands separator spaces.
oleaut32/tests: Test VarParseNumFromStr()'s handling of LOCALE_SMON*.
oleaut32/tests: Add more VarParseNumFromStr() hexadecimal/octal tests.
oleaut32: Remove caching from VARIANT_GetLocalisedNumberChars().
oleaut32: Fix VarParseNumFromStr()'s handling of currency thousands separators.
oleaut32: Add support for longer currency symbols.
gdiplus: GdipGetFamilyName() should not crash when given a NULL name.
Gerald Pfeifer (1):
ntdll: Only use sysinfo function when present.
Gijs Vermeulen (2):
vcomp: Implement omp_get_num_procs().
ntdll: Avoid declaration-after-statement warning.
Giovanni Mascellani (1):
kernelbase: Fix an incorrect allocation size.
Hans Leidekker (10):
wldap32: Rename ldap_connect() to avoid a name conflict.
winhttp: Pass a socket pointer to send_bytes() and receive_bytes().
winhttp: Read any data left in the request buffer for websocket connections.
winhttp: Call read_data() at least once in drain_content().
winhttp: Call drain_content() before clear_response_headers().
winhttp: Fix return value for relative redirects.
winhttp: Don't remove content-type/length headers in handle_redirect().
winhttp/tests: Add redirect tests.
wbemprox: Return an empty array for __DERIVATION.
wbemprox: Add __DERIVATION to the list of system properties.
Henri Verbeet (2):
dxgi/tests: Add a test for swapchain present counts.
dxgi: Implement d3d11_swapchain_GetLastPresentCount().
Hiroki Awata (1):
dsound: Notify DSBPN_OFFSETSTOP earlier.
Jacek Caban (2):
advapi32: Link to msvcrt.dll.
include: Use __builtin_offsetof on Clang.
Jactry Zeng (1):
gdi32: Fix a typo in unix_face_create().
Jan Sikorski (1):
winemac.drv: Omit WM_ENTER/EXITSIZEMOVE on non-interactive window changes.
Jefferson Carpenter (1):
msxml3/saxreader: Handle null url in parseURL().
Kalen Alwardt (1):
ntdll: Export ZwFilterToken().
Nikolay Sivov (2):
oleaut32: Added ICreateTypeInfo2::DeleteFuncDesc().
d3dx9/effect: Reset output handle for next after last technique in FindNextValidTechnique().
Oleg Dubinskiy (1):
include: Add RASCREDENTIALSA/W structures.
Paul Gofman (2):
wined3d: Add GPU information for AMD VANGOGH.
kernelbase: Fix copy size for delete_privs in CreateRestrictedToken().
Piotr Caban (3):
msvcrt: Update round_limb on first limb length change in printf.
msvcrt: Support z length modifier in scanf.
ucrtbase: Fix fopen x mode test failures.
Robert Wilhelm (1):
vbscript: Support date and time literals.
Roman Pišl (1):
ntdll: Don't pretend that the whole address space is reserved on non-i386.
Rémi Bernon (4):
msvcrt: Set next_token when str is empty in wcstok_s.
dssenh/tests: Add CryptAcquireContextA last error check.
dssenh: Return NTE_BAD_KEYSET when key cannot be opened.
dssenh: Only fill hash buffer when it's provided.
Ted Lyngmo (1):
ucrtbase: Add support for x mode in fopen.
Vijay Kiran Kamuju (1):
msdrm: Add stub DRMRegisterContent function.
Zebediah Figura (2):
quartz: Do not print an incorrect state warning in MediaFilter_GetState() if a filter has been run asynchronously.
server: Return STATUS_KEY_DELETED when trying to retrieve the full name of a deleted key.
Zhiyi Zhang (8):
uxtheme/tests: Test SetWindowTheme() with a non-existent subclass.
uxtheme: Fall back to default class if the specified subclass is not found.
uxtheme/tests: Test that SetWindowTheme() should send WM_THEMECHANGED instead of posting it.
uxtheme: Send WM_THEMECHANGED instead of posting it in SetWindowTheme().
uxtheme: Fix incorrect part IDs in button class map.
uxtheme: Use TransparentBlt() for bitmaps with all alpha values being 0xff.
user32: Report a fake monitor when running on an invisible window station.
uxtheme: Get and set system metrics in 96 DPI.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 7.2 is now available.
What's new in this release (see below for details):
- Large scale cleanup to support 'long' type with MSVCRT.
- Mono engine updated to version 7.1.1.
- More theming fixes in common controls.
- Beginnings of a WMA decoder.
- Support for 64-bit time_t.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.x/wine-7.2.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.x/wine-7.2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.2 (total 23):
12732 Nota Bene crashes on install
33086 QQ 2013 Beta2: text in input box can't display normally
34326 uplive.exe from TypeEasy crashes
36566 Half-Life's (CD Version) Menu refuses to work after a while
37609 Macromedia Freehand 9 demo hangs during startup
38809 QQ 7.3 Light crashes randomly
40827 VMWare VSphere 4.x/5.x/6.x clients fail to install
44202 undname.c fails to parse symbols with rvalue-reference semantics '&&'
46284 Call of Juarez crashes with unimplemented function d3dx9_29.dll.D3DXSHProjectCubeMap
47463 QQ 9.1.5 crash on start.
48815 user32:win "unexpected 0x738 message" Windows 10 failures
50352 Maximum sockets per process is set very low
50842 The 64-bit msado15:msado15 test crashes
51130 user32:win test_SetActiveWindow() has 2 failures on Vista to Windows 8.1
51392 user32:monitor breaks user32:win
51513 Multiple applications (PG Offline 4.0.907, lessmsi v1.10.0, MIDIopsy 1.2, Quickroute) crash on start with IndexOutOfRangeException with Wine-Mono
51754 Iris Down CountDown Crash at start - dotnet4.5
51798 MAmidiMEmo doesn't start up ("System.resources" is required)
52433 TASInput (Mupen64-RR-Lua): checkbox is not cleared correctly
52436 In Light Blue theme, checkable toggle buttons (BS_AUTOCHECKBOX) look unchecked when hovered
52490 Clipboard.GetText() doesn't work
52494 shell32 progman_dde tests crash if run immediately after prefix creation
52510 alt:V mod for Grand Theft Auto V fails due to missing concrt140._Byte_reverse_table@details@Concurrency@@3QBEB
----------------------------------------------------------------
Changes since 7.1:
Alex Henrie (12):
msi: Fix memory leak in get_fusion_filename (Coverity).
winhttp: Fix memory leak on error path in WinHttpCrackUrl (Coverity).
adsldp: Fix memory leak on error path in search_ExecuteSearch (Coverity).
conhost: Fix memory leak on error path in create_screen_buffer (cppcheck).
dbghelp: Fix memory leak on error path in dwarf2_read_range (cppcheck).
ws2_32: Fix memory leak on error path in get_local_ips (cppcheck).
ws2_32: Fix memory leaks on error paths in unix_gethostby* (scan-build).
explorer: Only try to destroy the IShellWindows object if it exists.
sane: Fix memory leak in create_item (Coverity).
winspool: Fix memory leaks on error path in DeviceCapabilitiesA (Coverity).
user32/tests: Expect DialogBoxParam to set ERROR_CANNOT_FIND_WND_CLASS.
shell32/tests: Wait for window to close in check_window_exists.
Alexandre Julliard (9):
ntdll: Consistently use time_t in timezone matching.
configure: Enable 64-bit time_t on Linux.
configure: Only define _TIME_BITS together with _FILE_OFFSET_BITS.
msado15: Fix some LONG/LONG_PTR mismatches.
faudio: Import upstream release 22.02.
make_xftmpl: Use the standard output buffer routines.
winebuild: Store length of Unicode strings explicitly.
wrc: Use compare_name_id() for resource translations.
tools: Consistently use xmalloc/xrealloc/xstrdup everywhere.
Alistair Leslie-Hughes (11):
msdasql: Fix printf format warnings with long types.
msdasql: Add ITransaction to session interface.
msdasql/tests: Fix printf format warnings with long types.
dpnet: Fix long types printf warnings.
xactengine: Fix long types printf warnings.
dplayx: Build without -DWINE_NO_LONG_TYPES.
xactengine3_7/tests: Build without -DWINE_NO_LONG_TYPES.
msdasql: ICommandText Execute use ODBC to fetch results.
xolehlp: Build without -DWINE_NO_LONG_TYPES.
wow64: Build without -DWINE_NO_LONG_TYPES.
xaudio2_7/tests: Build without -DWINE_NO_LONG_TYPES.
Andrey Gusev (2):
api-ms-win-security-lsalookup-ansi-l2-1-0: Add dll.
winegstreamer: Handle EnableDiscreteOutput and SpeakerConfig settings in WMSyncReader_SetOutputSetting().
André Zwing (4):
shlwapi: Fix some spec file entries.
advapi32: Fix some spec file entries.
mfplat: Remove duplicated space in spec.
ntdll: Fix some spec file entries.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bastien Orivel (1):
ws2_32: Fix setsockopt(TCP_NODELAY) when optlen is less than 4.
Bernhard Kölbl (5):
include/windows.foundation.collections.idl: Add IVector<T> interface.
include/windows.foundation.idl: Add IAsyncAction interface.
include/windows.foundation.idl: Add more declares.
include/windows.globalization.idl: Add Language class and interfaces.
include: Add windows.media.speechrecognition.idl.
Daniel Lehman (3):
msxml3/tests: Add test saving XML with non-english characters.
msxml3: Make utf-8 the default encoding.
include: Add _sscanf_l.
Derek Lesho (1):
userenv: Set ProgramData in CreateEnvironmentBlock.
Dmitry Timoshkov (4):
user32/tests: Actually test ShowWindow() return value.
user32/tests: Add more missing ShowWindow() return value checks.
user32/tests: Add more tests for WM_NCCALCSIZE.
user32: DefWindowProc(WM_NCCALCSIZE) should return 0.
Eric Pouech (207):
evr: Use correct integral type.
include/msvcrt: Add attribute((format)) to printf and scanf -like APIs.
include: Define HandleToU?Long to return a long (as SDK does).
winedbg: Use correct integral type.
dbgeng: Use correct integral type.
dsound: Use correct integral type.
itss: Use correct integral type.
joy.cpl: Use correct integral type.
ntdll: Use correct integral type.
include/basetsd.h: Define PtrTo(Ul|L)ong to return a long (as SDK does).
dwrite: Use correct integral types.
jscript: Use correct integral type.
mshtml: Use correct integral type.
msxml3: Use correct integral type.
oleaut32: Use correct integral type.
oledb32: Use correct integral type.
comdlg32: Removed useless casts to long.
kernelbase: Removed useless casts to long.
mciseq: Removed useless casts to long.
bcrypt: In unixlib, don't use Windows long type.
kerberos: In unixlib, don't use Windows long type.
netapi32: In unixlib, don't use Windows long type.
win32u: Change NtGdiPolyPolyDraw parameter to ULONG.
msvcrt*: Use correct integral type.
d2d1: Build without -DWINE_NO_LONG_TYPES.
d3d10_1: Build without -DWINE_NO_LONG_TYPES.
windowscodecs: Remove useless casts to long.
ole32: Use correct integral type.
riched20: Use correct integral type.
scrobj: Use correct integral type.
setupapi: Use correct integral type.
shell32: Use correct integral type.
taskschd: Use correct integral type.
user32: Use correct integral type.
mfplay: Use correct integral type.
mfmediaengine: Use correct integral type.
mfreadwrite: Use correct integral types.
uxtheme: Use correct integral type.
mf: Use correct integral types.
mfplat: Use correct integral types.
vbscript: Use correct integral type.
conhost/tests: Enable compilation with long types.
find/tests: Enable compilation with long types.
fsutil/tests: Enable compilation with long types.
regedit/tests: Enable compilation with long types.
reg/tests: Enable compilation with long types.
schtasks/tests: Enable compilation with long types.
services/tests: Enable compilation with long types.
wscript/tests: Enable compilation with long types.
xcopy/tests: Enable compilation with long types.
msvcrt: Use correct integral types in structs.
msvcp: Use correct integral types.
msvcrt: Add cast to avoid 'long' types warning in _beginthreadex.
msvcrt: Add casts to avoid 'long' types warning in locale functions.
d3dx11/tests: Build without -DWINE_NO_LONG_TYPES.
d2d1/tests: Build without -DWINE_NO_LONG_TYPES.
d3d10_1/tests: Build without -DWINE_NO_LONG_TYPES.
wldap32: Fix compilation in 32-bit.
attrib: Enable compilation with long types.
cabarc: Enable compilation with long types.
chcp.com: Enable compilation with long types.
conhost: Enable compilation with long types.
[cw]script: Enable compilation with long types.
dxdiag: Enable compilation with long types.
eject: Enable compilation with long types.
explorer: Enable compilation with long types.
fsutil: Enable compilation with long types.
msiexec: Enable compilation with long types.
net: Enable compilation with long types.
netstat: Enable compilation with long types.
ping: Enable compilation with long types.
plugplay: Enable compilation with long types.
presentationfontcache: Enable compilation with long types.
regedit: Enable compilation with long types.
reg: Enable compilation with long types.
regsvr32: Enable compilation with long types.
rpcss: Enable compilation with long types.
wbemprox: Use correct integral type.
winhttp: Use correct integral type.
wldap32: Use correct integral type.
winmm: Use correct integral type.
xaudio2_7: Use correct integral type.
msvcr*: Use correct integral type in Interlocked* calls.
msvcrt: Use correct integral type in _except1.
gdiplus: Use correct integral type.
vcomp: Use correct integral type.
windowscodecs: Use correct integral type.
sc: Enable compilation with long types.
services: Enable compilation with long types.
spoolsv: Enable compilation with long types.
start: Enable compilation with long types.
svchost: Enable compilation with long types.
termsv: Enable compilation with long types.
uninstaller: Enable compilation with long types.
whoami: Enable compilation with long types.
wineboot: Enable compilation with long types.
winebrowser: Enable compilation with long types.
winecfg: Enable compilation with long types.
wineconsole: Enable compilation with long types.
winedbg: Enable compilation with long types.
winedevice: Enable compilation with long types.
winemenubuilder: Enable compilation with long types.
winemsibuilder: Enable compilation with long types.
winetest: Enable compilation with long types.
winhlp32: Enable compilation with long types.
winmgmt: Enable compilation with long types.
winoldap.mod16: Enable compilation with long types.
wordpad: Enable compilation with long types.
wuauserv: Enable compilation with long types.
wusa: Enable compilation with long types.
xcopy: Enable compilation with long types.
msi: Use correct integral type.
acledit: Enable compilation with long types.
aclui: Enable compilation with long types.
activeds: Enable compilation with long types.
actxprxy: Enable compilation with long types.
adsldp: Enable compilation with long types.
advapi32: Enable compilation with long types.
advpack: Enable compilation with long types.
amsi: Enable compilation with long types.
amstream: Enable compilation with long types.
apphelp: Enable compilation with long types.
appwiz.cpl: Enable compilation with long types.
atl: Enable compilation with long types.
authz: Enable compilation with long types.
avicap32: Enable compilation with long types.
avifil32: Enable compilation with long types.
msvcp: Build without -DWINE_NO_LONG_TYPES.
msvcr: Build without -DWINE_NO_LONG_TYPES.
d3d10/tests: Build without -DWINE_NO_LONG_TYPES.
d3dcompiler/tests: Build without -DWINE_NO_LONG_TYPES.
d3d10: Build without -DWINE_NO_LONG_TYPES.
d3dcompiler: Build without -DWINE_NO_LONG_TYPES.
schtasks: Enable compilation with long types.
browseui: Enable compilation with long types.
cabinet: Enable compilation with long types.
cards: Enable compilation with long types.
clusapi: Enable compilation with long types.
comdlg32: Enable compilation with long types.
commdlg.dll16: Enable compilation with long types.
compobj.dll16: Enable compilation with long types.
comsvcs: Enable compilation with long types.
crypt32: Enable compilation with long types.
cryptdlg: Enable compilation with long types.
cryptnet: Enable compilation with long types.
cryptui: Enable compilation with long types.
credui: Enable compilation with long types.
davclnt: Enable compilation with long types.
dbghelp: Enable compilation with long types.
dhcpcsvc: Enable compilation with long types.
dhtmled.ocx: Enable compilation with long types.
difxapi: Enable compilation with long types.
directmanipulation: Enable compilation with long types.
dispex: Enable compilation with long types.
mf: Build without -DWINE_NO_LONG_TYPES.
xapofx1_1: Enable compilation with long types.
dmcompos: Enable compilation with long types.
dmloader: Enable compilation with long types.
dmscript: Enable compilation with long types.
dmstyle: Enable compilation with long types.
dpvoice: Enable compilation with long types.
dpwsockx: Enable compilation with long types.
dsdmo: Enable compilation with long types.
dsquery: Enable compilation with long types.
dssenh: Enable compilation with long types.
dsuiext: Enable compilation with long types.
dwmapi: Enable compilation with long types.
dxdiagn: Enable compilation with long types.
explorerframe: Enable compilation with long types.
faultrep: Enable compilation with long types.
fltlib: Enable compilation with long types.
fntcache: Enable compilation with long types.
fontsub: Enable compilation with long types.
fusion: Enable compilation with long types.
gameux: Enable compilation with long types.
gdi.exe16: Enable compilation with long types.
gphoto2.ds: Enable compilation with long types.
hal: Enable compilation with long types.
hhctrl.ocx: Enable compilation with long types.
hlink: Enable compilation with long types.
hnetcfg: Enable compilation with long types.
gdi32: Enable compilation with long types.
mfplay: Build without -DWINE_NO_LONG_TYPES.
mfmediaengine: Build without -DWINE_NO_LONG_TYPES.
iccvid: Enable compilation with long types.
ieframe: Enable compilation with long types.
ifsmgr.vxd: Enable compilation with long types.
imaadp32.acm: Enable compilation with long types.
imagehlp: Enable compilation with long types.
imm32: Enable compilation with long types.
inetcomm: Enable compilation with long types.
inetcpl.cpl: Enable compilation with long types.
inetmib1: Enable compilation with long types.
infosoft: Enable compilation with long types.
inseng: Enable compilation with long types.
iphlpapi: Enable compilation with long types.
itss: Enable compilation with long types.
joy.cpl: Enable compilation with long types.
jscript: Enable compilation with long types.
jsproxy: Enable compilation with long types.
kernel32: Enable compilation with long types.
kernelbase: Enable compilation with long types.
krnl386.exe16: Enable compilation with long types.
ktmw32: Enable compilation with long types.
l3codeca.acm: Enable compilation with long types.
localspl: Enable compilation with long types.
localui: Enable compilation with long types.
Esme Povirk (16):
include: Add ISymUnmanagedWriter definition.
diasymreader: Add stub dll.
diasymreader: Register CLSID_CorSymWriter_SXS.
mscoree: Update Wine Mono to 7.1.1.
mscoree: Use wide string syntax in create_monodata.
mscoree: Fix a misleading parameter name.
mscoree: Add support for unmanaged classes in .NET Framework.
diasymreader: Stub ISymUnmanagedWriter.
diasymreader: Stub ISymUnmanagedWriter5.
diasymreader: Return success from SymWriter_Initialize.
diasymreader: Implement SymWriter_GetDebugInfo.
diasymreader: Stub IPdbWriter.
diasymreader: Implement SymWriter_GetSignatureAge.
diasymreader: Return success from methods with no output variables.
diasymreader: Return success from SymWriter_OpenScope.
diasymreader: Stub ISymUnmanagedDocumentWriter.
Fabian Maurer (24):
mfplat/tests: Avoid "misleading indentation" warnings.
msacm32/tests: Avoid "misleading indentation" warnings.
propsys/tests: Avoid "misleading indentation" warnings.
psapi/tests: Avoid "misleading indentation" warnings.
quartz/tests: Avoid "misleading indentation" warnings.
riched20/tests: Avoid "misleading indentation" warnings.
rpcrt4/tests: Avoid "misleading indentation" warnings.
schedsvc/tests: Avoid "misleading indentation" warnings.
scrrun/tests: Avoid "misleading indentation" warnings.
secur32/tests: Avoid "misleading indentation" warnings.
setupapi/tests: Avoid "misleading indentation" warnings.
shell32/tests: Avoid "misleading indentation" warnings.
shlwapi/tests: Avoid "misleading indentation" warnings.
taskschd/tests: Avoid "misleading indentation" warnings.
user32/tests: Avoid "misleading indentation" warnings.
uxtheme/tests: Avoid "misleading indentation" warnings.
wbemdisp/tests: Avoid "misleading indentation" warnings.
wbemprox/tests: Avoid "misleading indentation" warnings.
wiaservc/tests: Avoid "misleading indentation" warnings.
windowscodecs/tests: Avoid "misleading indentation" warnings.
winhttp/tests: Avoid "misleading indentation" warnings.
wininet/tests: Avoid "misleading indentation" warnings.
ws2_32/tests: Avoid "misleading indentation" warnings.
xmllite/tests: Avoid "misleading indentation" warnings.
Floris Renaud (1):
po: Update Dutch translation.
Hans Leidekker (17):
wbemprox: Use CRT allocation functions.
wbemdisp: Use CRT allocation functions.
webservices: Use CRT allocation functions.
msi: Use CRT allocation functions.
msi/tests: Use CRT allocation functions.
kerberos: Build without -DWINE_NO_LONG_TYPES.
bcrypt: Build without -DWINE_NO_LONG_TYPES.
msi: Build without -DWINE_NO_LONG_TYPES.
msi/tests: Build without -DWINE_NO_LONG_TYPES.
msi/tests: Correctly free usersid.
winhttp/tests: Remove unused include.
winhttp/tests: Build without -DWINE_NO_LONG_TYPES.
winhttp: Build without -DWINE_NO_LONG_TYPES.
bcrypt/tests: Build without -DWINE_NO_LONG_TYPES.
dnsapi: Build without -DWINE_NO_LONG_TYPES.
msv1_0: Build without -DWINE_NO_LONG_TYPES.
mscms: Build without -DWINE_NO_LONG_TYPES.
Henri Verbeet (9):
wined3d: Introduce a wined3d_bo_gl_unmap() helper.
wined3d: Use wined3d_bit_scan() in shader_generate_arb_declarations().
wined3d: Use wined3d_bit_scan() in shader_arb_generate_pshader().
d2d1: Return numeric configuration settings as uint32_t.
d2d1/tests: Pass the hash size as DWORD in compare_sha1().
d2d1/tests: Declare "level" as D3D_FEATURE_LEVEL in create_d3d11_device().
wined3d: Use the chunk allocator for GL indirect draw buffers.
d3d10: Return the read value from read_dword().
d3d10: Store the type fields in parse_fx10_type() as uint32_t.
Hugh McMaster (1):
kernelbase: Implement SetCurrentConsoleFontEx.
Huw D. M. Davies (1):
mountmgr: Fix long type warning.
Jacek Caban (10):
server: Allocate extra_bytes separately from window struct.
server: Make window struct a server object.
server: Keep a reference to parent in window objects.
server: Don't immediately destroy child windows belonging to different thread in free_window_handle.
server: Don't allow orphaned windows in set_parent request.
server: Orphan child windows when unlinking them from parent.
server: Don't allow creating children of orphaned windows.
user32: Use a single lock in destroy_thread_windows.
user32: Destroy window server objects from destroy_thread_windows.
server: Store all 64 bits of window id.
Jactry Zeng (2):
dwmapi: Correct parameter types of DwmGetColorizationColor().
d2d1: Implement d2d_bitmap_CopyFromBitmap().
Jan Sikorski (3):
wined3d: Use a separate heap for deferred resource upload buffers.
wined3d: Reinitialize query pool's free list entry when it runs out.
wined3d: Avoid waiting for a command buffer to finish executing to read off its queries.
Jinoh Kang (4):
server: Allow calling async_handoff() with status code STATUS_ALERTED.
server: Attempt to complete I/O request immediately in recv_socket.
ntdll: Don't call try_recv before server call in sock_recv.
server: Replace redundant recv_socket status fields with force_async boolean field.
Kevin Puetz (1):
winegcc: --out-implib needs to propagate -m32/-m64 to winebuild.
Matteo Bruni (9):
winhttp/tests: Fix typo in an ok() message.
d3dcompiler: Use more consistent integer data types.
d3d10: Get rid of a comment.
d3d10: Use more consistent integer data types.
d3dcompiler: Move read_u32() to a new utils.h private header.
d3d10: Use read_u32() implementation from d3dcompiler.
d3dcompiler: Move skip_u32_unknown() declaration to utils.h.
wined3d: Improve comment in wined3d_query_vk_issue().
wined3d: Skip non-color outputs in SM4 shader output mapping.
Michael Stefaniuc (19):
dmsynth/tests: Build without -DWINE_NO_LONG_TYPES.
dmusic/tests: Build without -DWINE_NO_LONG_TYPES.
dmsynth: Build without -DWINE_NO_LONG_TYPES.
dmusic: Build without -DWINE_NO_LONG_TYPES.
dmusic: Don't trace both the This and iface pointers.
dswave/tests: Build without -DWINE_NO_LONG_TYPES.
dswave: Build without -DWINE_NO_LONG_TYPES.
dmime: Fix the size of the DMUS_PORTPARAMS.
dmime: The soft synth doesn't supports sharing the channel groups.
dmsynth: Implement the synth's Open and Close methods.
dmsynth/tests: Add some synth Open/Close tests.
dmime/tests: Build without -DWINE_NO_LONG_TYPES.
dmime: Build without -DWINE_NO_LONG_TYPES.
dmband/tests: Build without -DWINE_NO_LONG_TYPES.
dmband: Build without -DWINE_NO_LONG_TYPES.
dmcompos/tests: Build without -DWINE_NO_LONG_TYPES.
dmloader/tests: Build without -DWINE_NO_LONG_TYPES.
dmscript/tests: Build without -DWINE_NO_LONG_TYPES.
dmstyle/tests: Build without -DWINE_NO_LONG_TYPES.
Nikolay Sivov (41):
scrrun: Fix long types warnings.
rtworkq: Fix long types warnings.
mf/tests: Remove remaining kernel32 heap calls.
wshom: Fix long types warnings.
evr: Fix long types warnings.
evr/presenter: Initial implementation of GetCurrentImage().
xmllite: Fix long types warnings.
d3d11: Always initialize out view pointer in CreateShaderResourceView().
d3d11: Always initialize out view pointer in CreateUnorderedAccessView().
d3d11: Always initialize out view pointer in CreateDepthStencilView().
t2embed: Fix long types warnings.
scrrun/tests: Add some tests for DoOpenPipeStream().
evr/mixer: Remove incorrect trace.
kernel32: Add messages for some of the WSA error codes.
msxml3: Fix long types warnings in traces.
dxva2: Fix long types warnings in traces.
dbgeng: Fix long types warnings in traces.
comctl32: Fix long types warnings in traces.
rtworkq/tests: Build without WINE_NO_LONG_TYPES.
xmllite/tests: Build without WINE_NO_LONG_TYPES.
mshtml: Implement layerX/layerY properties for mouse event.
combase: Build without WINE_NO_LONG_TYPES.
ole32: Build without WINE_NO_LONG_TYPES.
evr/tests: Build without WINE_NO_LONG_TYPES.
dbgeng/tests: Build without -DWINE_NO_LONG_TYPES.
include: Update another HRESULT definition.
opcservices: Build without -DWINE_NO_LONG_TYPES.
opcservices/tests: Build without -DWINE_NO_LONG_TYPES.
mfplat: Remove duplicated includes.
mfplat: Implement MFCreateTempFile().
mfplat: Better handle source resolution when content type is not specified for the stream.
mfplay: Use resolver functionality for content type resolution.
mfmediaengine: Use resolver functionality for content type resolution.
mfreadwrite/reader: Use resolver functionality for content type resolution.
mfplat: Implement MFAverageTimePerFrameToFrameRate().
wshom/tests: Build without -DWINE_NO_LONG_TYPES.
scrrun/tests: Build without -DWINE_NO_LONG_TYPES.
shcore: Build without -DWINE_NO_LONG_TYPES.
combase/tests: Build without -DWINE_NO_LONG_TYPES.
mfplay/tests: Build without -DWINE_NO_LONG_TYPES.
mfreadwrite/reader: Stop media source when shutdown is not allowed.
Paul Gofman (22):
hnetcfg: Use CRT allocation functions.
hnetcfg/tests: Add tests for static port mapping collection.
hnetcfg: Return stub interface from upnpnat_get_StaticPortMappingCollection() if UPNP IGD is found.
hnetcfg: Get gateway description location in init_gateway_connection().
hnetcfg: Open connection to gateway in init_gateway_connection().
hnetcfg: Get control URL for WANIPConnection service in init_gateway_connection().
win32u: Use get_dc_obj() in GetDCHook() and SetDCHook().
hnetcfg: Fix realloc handling in fw_app_put_ProcessImageFileName().
hnetcfg: Get port mapping list in init_gateway_connection().
hnetcfg: Implement static_ports_get_Item().
hnetcfg: Implement static_ports_get_Count().
hnetcfg: Implement static_ports__NewEnum().
hnetcfg: Implement static_ports_Remove().
hnetcfg: Implement static_ports_Add().
winhttp: Use lock when attempting to send frame synchronously().
hnetcfg: Don't use _GetValue() if text element is missing in get_xml_elements().
hnetcfg: Handle NULL strings in update_mapping_list().
hnetcfg/tests: Don't leak IEnumVARIANT reference in test_static_port_mapping_collection().
hnetcfg/tests: Don't test removing the same mapping twice.
server: Always update cached socket name after connect.
ws2_32: Trace status on operation failure.
wined3d: Use StretchBlt() in swapchain_blit_gdi().
Piotr Caban (29):
msvcrt: Fix fmaf not to depend on rounding mode.
msvcrt: Don't set SSE control word in _except1.
msvcrt: Don't use fegetenv in nearbyint.
msvcrt: Don't use fegetenv in nearbyintf.
msvcrt: Use InitOnceExecuteOnce to allocate TLS index.
ucrtbase: Add support for r-value demangling in unDName.
msvcrt: Use %#I64x format in traces.
msvcrt: Print 0x prefix with %#x format in traces.
msvcp: Print 0x prefix with %#x format in traces.
msvcp60: Use %Id format when tracing streamoff and streamsize.
msvcp60: Remove STREAMSIZE_BITS definition.
msvcp60: Remove code specific to newer versions of the dll.
msvcp: Remove typos in mangled names.
msvcp90: Remove STREAMSIZE_BITS definition.
msvcp60: Remove basic_stringstream<wchar> code.
msvcp60: Remove basic_istringstream<wchar> code.
msvcp60: Remove basic_ostringstream<wchar> code.
msvcp60: Remove basic_fstream<wchar> code.
msvcp60: Remove basic_ifstream<wchar> code.
msvcp60: Remove basic_ofstream<wchar> code.
msvcp60: Remove basic_iostream<wchar> code.
msvcp60: Remove basic_istream<wchar> code.
msvcp60: Remove basic_ostream<wchar> code.
msvcp60: Remove basic_streambuf<wchar> code.
msvcp60: Remove basic_filebuf<wchar> code.
msvcp60: Remove basic_streambuf<wchar> code.
msvcp60: Remove basic_ios<wchar> code.
msvcp60: Add missing exports.
msvcp60: Remove unused functions from ios.c file.
Rémi Bernon (35):
windows.gaming.input/tests: Fix printf warnings with long types.
xinput1_3/tests: Fix printf warnings with long types.
winebus.sys: Fix warnings with long integer types.
hid: Fix printf format warnings with long types.
hid: Use msvcrt allocation functions.
user32/tests: Tweak window size to fix Win10 results.
user32/tests: Ignore messages for UserAdapterWindowClass windows.
user32/tests: Add proper tests for SetActiveWindow(0).
user32/tests: Add some possible broken results on Win7.
hidclass.sys: Fix printf format warnings with long types.
winehid.sys: Fix printf format warnings with long types.
winehid.sys: Build with nameless unions.
winegstreamer: Stub implement WMA decoder DMO / MF transform.
winegstreamer: Implement WMA decoder IMFTransform_SetInputType.
winegstreamer: Implement WMA decoder GetOutputAvailableType.
winegstreamer: Implement WMA decoder SetOutputType.
winegstreamer: Implement WMA decoder GetOutputStreamInfo.
winegstreamer: Implement WMA decoder GetInputStreamInfo.
dinput/tests: Merge dinput8.c tests with dinput.c.
dinput/tests: Add some CoCreateInstance and aggregation tests.
dinput: Cleanup DllGetClassObject and IClassFactory implementation.
dinput: Cleanup IDirectInputJoyConfig8 names and traces.
dinput: Cleanup IDirectInput7W names and traces.
dinput: Cleanup IDirectInput8W names and traces.
user32/tests: Move test_mdi early in the test list.
dinput: Rename IDirectInputImpl to struct dinput.
dinput: Use consistent parameter names and types.
dinput: Canonicalize DirectInput(8) instance creation.
dinput: Fix printf warnings with long types.
dinput/tests: Fix printf warnings with long types.
user32/tests: Add a test for child window destruction on thread exit.
mf/tests: Add some WMA encoder ProcessOutput tests.
mf/tests: Add some WMA decoder ProcessInput tests.
mf/tests: Add some WMA decoder ProcessOutput tests.
mfreadwrite/reader: Use separate refcount for events callbacks.
Stefan Dösinger (13):
d3d9/tests: Try to make test_cursor_pos more reliable.
d3d8/tests: Try to make test_cursor_pos more reliable.
d3d9/tests: Skip test_cursor_pos if we can't move the cursor.
d3d8/tests: Skip test_cursor_pos if we can't move the cursor.
d3d9/tests: Ignore random testbot failures in test_cursor.
d3d8/tests: Ignore random testbot failures in test_cursor.
ddraw/tests: Skip a crashy test on WARP.
ddraw/tests: Disable color keying in ddraw1 test_texture_load.
ddraw/tests: Mark random WARP behavior broken in test_ck_default.
include: InterlockedExchangeAdd64 msvc intrinsic does not exist in x86.
include: Remove an incorrect InterlockedCompareExchange128 function.
makedep: Fix some signed vs unsigned msvc warnings.
ddraw/tests: Account for random WARP behavior in test_texturemapblend.
Zebediah Figura (102):
tiff: Explictly link to zlib.
ntdll: Implement wcsnlen().
kernelbase: Use wcsnlen().
kernelbase: Use ntdll ctype functions.
wined3d: Allow DISCARD maps to be accelerated even on 32-bit architectures.
user32: Remove no longer needed assert() workarounds for MinGW.
wininet: Use CHAR_BIT from msvcrt limits.h.
winsta: Remove useless IDL attributes from TS_ALL_PROCESSES_INFO.
user32/tests: Remove unnecessary redefinitions of SPI_GETDESKWALLPAPER.
ws2_32/tests: Add tests for WSAStartup().
ws2_32: Always fill the WSADATA structure in WSAStartup().
ws2_32: Cap the negotiated winsock version to 1.1 or 2.2.
ws2_32: Return 32767 or 0 in the iMaxSockets field.
ws2_32: Return 65467 or 0 in the iMaxUdpDg field.
ws2_32: Return WSAEFAULT instead of WSAEINVAL from WSAStartup() if "data" is NULL.
shell32: Move file menu definitions to shlmenu.c.
shell32: Move PIDL definitions from undocshell.h to pidl.h.
shell32: Do not redefine SHCNRF_* flags.
shell32: Move dialog definitions to dialog.c.
shell32: Move IShellFolderViewCB definitions to shlview.c.
quartz/vmr9: Get rid of a broken check for hardware acceleration support in VMR9DefaultAllocatorPresenterImpl_create().
quartz/vmr9: Pass the already retrieved caps pointer to VMR9_SurfaceAllocator_SetAllocationSettings().
quartz/filtergraph: Implement the IDispatch methods for IMediaControl.
quartz/filtergraph: Implement the IDispatch methods for IMediaPosition.
quartz/filtergraph: Implement the IDispatch methods for IMediaEvent.
devenum: Build without -DWINE_NO_LONG_TYPES.
shell32: Move SHWaitForFileToOpen() flags to shellord.c.
shell32: Move RegisterShellHook() definitions to shellord.c.
shell32: Move SHCreateLinks() flags to shlfolder.c.
shell32: Move explorer window messages definitions to shell32_main.h.
shell32: Move StrRetToStrN*() helpers to shell32_main.h.
quartz/tests: Test more interfaces exposed by the filter graph.
quartz/filtergraph: Remove "#if 1" from CheckCircularConnection().
quartz/filtergraph: Remove redundant checks for pin direction from CheckCircularConnection().
quartz/filtergraph: Clean up CheckCircularConnection().
opencl: Rename cl_{enums,types} to header_{enums,types}.
opencl: Factor out parse_feature().
opencl: Export unsuffixed KHR_gl_sharing functions.
winegstreamer: Build without -DWINE_NO_LONG_TYPES.
winegstreamer: Constify some static variables.
shlwapi: Use the public definition of shared shell memory allocation functions.
shell32: Remove redundant definitions of undocumented shell functions.
shell32/tests: Remove pointless redefinition of FOF_NORECURSION.
quartz: Build without -DWINE_NO_LONG_TYPES.
quartz: Use IMemAllocator::GetBuffer() directly.
winegstreamer: Use IMemAllocator::GetBuffer() directly.
amstream/tests: Use IMemAllocator::GetBuffer() directly.
qcap/vfwcapture: Allow changing state while unconnected.
qcap: Use IMemAllocator::GetBuffer() and IMediaSample::SetTime() directly.
strmbase: Remove the no longer used BaseOutputPinImpl_GetDeliveryBuffer() helper.
ws2_32: Avoid an unnecessary goto.
ws2_32: Build without -DWINE_NO_LONG_TYPES.
d2d1/tests: Don't run the 32-bit tests multithreaded.
d3d10core/tests: Don't run the 32-bit tests multithreaded.
d3d11/tests: Don't run the 32-bit tests multithreaded.
dxgi/tests: Don't run the 32-bit tests multithreaded.
setupapi/tests: Test queuing the same copy operation twice.
setupapi/tests: Add more tests for SetupInstallFilesFromInfSection().
setupapi: Use the source path if the target path is missing in SetupQueueRename().
setupapi: Also handle DelFiles and RenFiles directives in SetupInstallFilesFromInfSection().
setupapi: Use SetupInstallFilesFromInfSectionW() in SetupInstallFromInfSectionW().
d3dx9: Implement D3DXSHProjectCubeMap().
winegstreamer: Release stream_cs on error in stream_thread().
qcap: Use CoCreateInstance() directly instead of BaseOutputPinImpl_InitAllocator().
amstream/tests: Use CoCreateInstance() directly instead of BaseOutputPinImpl_InitAllocator().
strmbase: Get rid of the BaseOutputPinImpl_InitAllocator() helper.
maintainers: Remove wineqtdecoder.
strmbase: Build without -DWINE_NO_LONG_TYPES.
wined3d: Use the chunk allocator for GL atomic counter buffers.
wined3d: Use the chunk allocator for GL pixel unpack buffers.
qasf: Build without -DWINE_NO_LONG_TYPES.
qcap: Build without -DWINE_NO_LONG_TYPES.
qdvd: Build without -DWINE_NO_LONG_TYPES.
shlwapi/tests: Link directly to Url*() functions.
shlwapi/tests: Get rid of the redundant "expectret" field of TEST_URL_CANONICALIZE.
shlwapi/tests: Get rid of the redundant "expectret" field of TEST_URL_COMBINE.
shlwapi/tests: Get rid of the redundant "expectret" and "expectescaped" fields of TEST_ESCAPE.
shlwapi/tests: Get rid of the redundant "expectret" field of TEST_ESCAPEW.
d3dx9: Return D3DERR_INVALIDCALL from ID3DXEffect::BeginPass() if the effect is not started.
d3dx9: Pass the "flags" argument to D3DXFXCreateEffectEx() as compiler flags, not effect flags.
d3dx9: Don't mark annotation variables as dirty.
d3dx9/tests: Test setting annotation values.
qedit: Build without -DWINE_NO_LONG_TYPES.
wined3d: Use the chunk allocator for GL texture buffers.
wined3d: Use the chunk allocator for GL uniform buffers.
ws2_32/tests: Cancel a call that currently incorrectly returns STATUS_PENDING.
wined3d: Initialize map_ptr to NULL in wined3d_context_vk_create_slab_bo().
wined3d: Set resource->client.addr in buffer_resource_sub_resource_map() only if persistently mapping.
wined3d: Call wined3d_context_unmap_bo_address() when updating a buffer BO.
ws2_32/tests: Use winetest_push_context() in test_WSAStringToAddress().
ws2_32/tests: Do not use a loop to test ASCII and Unicode in test_WSAAddressToString().
ws2_32/tests: Use winetest_push_context() in test_WSAAddressToString().
ws2_32/tests: Use winetest_push_context() in test_inet_pton().
include: Define NTSTATUS fields using int in afd.h.
shlwapi/tests: Remove workarounds from url.c for no longer supported Windows versions.
shlwapi/tests: Use wide character string literals in url.c.
shlwapi/tests: Simplify length calculation in test_UrlApplyScheme().
shlwapi/tests: Put the UrlGetPart() tests in a table.
shlwapi/tests: Add more tests for UrlGetPart().
wined3d: Always set map_ptr for mapped OpenGL BOs.
wined3d: Introduce wined3d_lock_init() and wined3d_lock_cleanup() helpers.
wined3d: Always submit UPDATE_SUB_RESOURCE ops when uploading if not mapping persistently.
Zhiyi Zhang (24):
comctl32/treeview: Support HiDPI for unthemed item check boxes.
comctl32/treeview: Use DFCS_MONO style for item check boxes.
uxtheme/tests: Test more WM_CTLCOLOR* messages for dialog theming.
uxtheme: Use tab background as dialog texture for more WM_CTLCOLOR* messages.
comctl32/tests: Add themed background tests.
comctl32/trackbar: Always use brush from WM_CTLCOLORSTATIC to fill background.
comctl32/button: Use the brush from WM_CTLCOLORBTN to fill background for push buttons.
comctl32/button: Use the brush from WM_CTLCOLORSTATIC to fill background for checkboxes and radio buttons.
comctl32/button: Use the brush from WM_CTLCOLORSTATIC to fill text background for group boxes.
comctl32/tests: Fix occasional test failures on TestBot w7u_2qxl.
comctl32/tab: Always draw parent background when themed.
user32/tests: Test scroll bars use COLOR_BTNFACE instead of COLOR_SCROLLBAR to fill background.
user32: Use COLOR_BTNFACE to fill scroll bar background.
uxtheme: Use COLOR_BTNFACE to fill scroll bar background.
comctl32/treeview: Do not draw client edge without WS_EX_CLIENTEDGE.
comctl32/button: Use pressed state when a pushlike checkbox or radio button is checked and hovered.
light.msstyles: Use stretch sizing type for scroll bar arrow button background.
light.msstyles: Adjust scroll bar arrow width and height to 17 pixels.
light.msstyles: Fill checkbox background with white pixels.
light.msstyles: Fill radio button background with white pixels.
light.msstyles: Fill combo box background with white pixels.
light.msstyles: Do not use transparent tab pane edges.
light.msstyles: Do not use transparent edges for trackbar horizontal and vertical thumb.
light.msstyles: Do not use transparent treeview parts.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.1 is now available.
What's new in this release (see below for details):
- Vulkan 1.3 support.
- A number of theming fixes.
- WebSocket improvements.
- Improved cursor clipping on macOS.
- IDL compiler fixes for C++.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.x/wine-7.1.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.x/wine-7.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.1 (total 42):
10924 Netbeans 6.x installer hangs or exits silently
15635 Siemens SIMATIC STEP 7: can't use Next or Cancel when installing
20415 eRightSoft SUPER v2009-b35 window unviewable and non-responsive
21935 AceMegaCodecsPack gives error message on install
25053 Final fantasy 7 videos do not play, though supported by gst-ffmpeg
27679 Arx Fatalis does not play intro movie (video: indeo 5.0)
33756 Word 2003: Formula symbols get outside formula frame
34753 Rising Kingdoms Demo intro videos are not played
35063 Multiple InstallShield technology based installers report "unable to create InstallDriver instance" (Peachtree Pro Accounting 2007, Age of Empires 3)
39795 when working jriver mediacenter suddenly crash.
42660 QTranslate crashes inside jscript.dll
43899 x360ce closes after launch
45016 Far Cry 5 crashes at startup
45597 Flicker in GTAIV
47975 X3 Albion Prelude - Unhandled page fault on read access
48523 dlls/toolhelp16.dll16 LocalFirst and LocalNext only return LMEM_FIXED handles
48606 HexChat: Check for update fails
49213 TeamViewer 15.x crashes on startup
50370 Gothic 1 doesn't start correctly when screen resolution of the game matches display resolution
50433 'MsiBreak' custom action debugging aid should use custom action's name from 'CustomAction' table (currently uses 'Target' field)
50539 SetWindowRgn doesn't work correctly
50544 Application crashes when external database called
50849 Multiple .NET 4.x app installers using WiX v3 'InvokeOutOfProcManagedCustomAction, CAInvokeMethod->Invoke_3 return incorrect result with Wine-Mono (Elgato Stream Deck 4.9.3, Garmin Express 6.13)
50901 Google Chrome 89.0.4389.114 exits at startup
51163 WinOffice Pro 5.3 stops after splashscreen, needs WMI class SoftwareLicensingProduct
51354 WRC 7 needs ID3DUserDefinedAnnotation interface
51491 Project CARS 2 periodically crashes during a race
51706 Msi HANDLE_CustomType1 fails to load dll [patch]
51758 Wine's time zone information has gaps in "Dynamic DST" causing InvalidTimeZoneException
51860 Missing include for uid_t on musl-based systems
51868 Pokémon Banished Platinum - Fails To Load Script(s) in Wine
51900 regression: REAPER scrollbars flash between themed and non-themed
52062 dinput HID joystick doesn't implement effect state reports.
52158 Age of Empires 3 Definitive Edition multiplayer fails to start AES problem
52163 postgresql-9.3 installer expects scrrun:filesys_GetTempName to return filename with TMP suffix
52261 Sekiro: Shadows Die Twice GOTY crashes right before gameplay starts
52285 7-zip: column titles are not rendered initially when using a theme
52298 Opening PPT with Freeoffice Presentations crashes on unimplemented function ole32.dll.OleConvertIStorageToOLESTREAMEx
52339 EzViz: Program does not respond after clicking once
52383 WXWork has high CPU usage on login screen
52426 BCryptSignHash mishandles empty arguments
52446 Normal dlls with native subsystem id are no longer processed when importing system dlls with uppercase names
----------------------------------------------------------------
Changes since 7.0:
Alex Henrie (1):
user32: Send EVENT_OBJECT_FOCUS when the focus changes.
Alexandre Julliard (47):
configure: No longer disable mountmgr.sys in a Windows build.
tools: Use flush_output_buffer() in a few more places.
tools: Add a helper function to read the contents of a file.
makefiles: Get rid of the documentation rules.
user.exe: Make sure that the thunk selector doesn't get freed.
faudio: Import upstream release 22.01.
mpg123: Import upstream release 1.29.3.
jpeg: Import upstream release 9e.
makefiles: Add helper functions to open generated include files.
makefiles: Also look for generated includes in the source file directory.
makefiles: Compare the full path when looking for generated include files.
makefiles: Add dependencies for files generated in maintainer mode.
makefiles: Add a maintainer-clean target.
makefiles: Specify the bison prefix directly in the source files.
wrc: Add a workaround for older bison versions.
wrc: Avoid using Windows types where possible.
widl: Avoid using Windows types where possible.
include: Define a few more intrinsic functions.
include: Fix prototype mismatch for server functions.
server: Define a server-side structure for LUID_AND_ATTRIBUTES.
server: Define a server-side structure for SID_AND_ATTRIBUTES.
server: Define a server-side structure for ACL.
server: Define a server-side structure for ACE.
server: Define a server-side structure for SID.
server: Don't depend on the TOKEN_GROUPS structure on the server side.
include: Remove the wine_ prefix on rbtree functions.
include: Add casts for types that may be defined as long.
d3drm: Fix a prototype mismatch.
d3dx10: Fix a prototype mismatch.
mmsystem: Fix some prototype mismatches.
win32u: Fix some prototype mismatches.
windows.globalization: Fix some prototype mismatches.
winevulkan: Fix some prototype mismatches.
wow64win: Fix some prototype mismatches.
mfmediaengine: Remove unnecessary import library.
include: Use long type by default in GUID definition.
include: Add casts to avoid printf format warnings with 'long' types.
winecrt0: Use the correct integral type.
compstui: Fix printf format warnings on 64-bit.
d3dx11: Fix printf format warnings on 64-bit.
gamingtcui: Fix printf format warnings on 64-bit.
loadperf: Fix printf format warnings on 64-bit.
msvcp60/tests: Fix printf format warnings on 64-bit.
opencl: Fix printf format warnings on 64-bit.
include: Add support for defining Win32 types as 'long' where possible.
makefiles: Force -Wformat for PE modules when using 'long' types.
makefiles: Disable printf format warnings for non-PE msvcrt modules.
Alistair Leslie-Hughes (8):
msado15: Return early if Execute doesn't return a rowset.
msdasql: Connect to DSN in IDBInitialize Initialize.
include: Add trnlcl.idl.
include: Add trnobj.idl.
msdasql/tests: Test for ITransaction* interfaces on a session.
msdasql: Fix logic when dumping diagnostics records.
msdasql: Implement ICommandPrepare Prepare.
msdasql: Add ITransactionJoin to session interface.
Andrew Eikum (1):
winmm: Don't process audio data during waveOutWrite while playing.
Andrey Gusev (1):
d3d11: Implement the ID3DUserDefinedAnnotation interface.
Arkadiusz Hiler (8):
dinput/tests: Don't consider extra IOCTL_HID_GET_STRING an error.
dinput/tests: Add static asserts for arrays that have to match in size.
include: Add HID_USAGE_SIMULATION_CLUTCH.
dinput/tests: Test HID device with steering wheel and various pedal combinations.
dinput: Implement HID wheel type detection.
winebus.sys: Enable extended BT reports for DualShock 4 controllers when requested.
winebus.sys: Process quirky DualSense bluetooth reports.
hidclass.sys: Add input.inf that matches all HID devices.
Ben Shefte (1):
ntdll: Use case insensitive comparison in is_import_dll_system().
Bernhard Kölbl (7):
widl: Allow optional interface parameter on the [activatable] attribute.
widl: Add support for the [overload] attribute.
combase/tests: Add tests for the hstring_private struct.
combase: Introduce a hstring_header struct to hstring_private.
combase: Move length from hstring_private to hstring_header.
combase: Add padding and string reference pointer to hstring_header.
combase: Reorder hstring_private elements.
Connor McAdams (9):
secur32/tests: Add more DTLS tests.
secur32: Set phNewContext to phContext in schan_InitializeSecurityContextW().
secur32: Validate output buffer size in schan_InitializeSecurityContextW().
secur32: Add support for setting DTLS timeouts.
secur32: Clear SECBUFFER_ALERT output buffer count in schan_InitializeSecurityContextW.
secur32: Properly handle NULL pInput argument for DTLS contexts in schan_InitializeSecurityContextW.
secur32: Switch back to non-blocking mode for DTLS sessions.
secur32/tests: Add tests for DTLS handshake retransmission.
secur32: Fix trace in schannel pull_adapter function.
Conor McCarthy (1):
dxgi: Allow sampling of Vulkan swapchain images for D3D12.
Damjan Jovanovic (1):
ntdll: Use the correct amd64 trap codes on *BSD.
Daniel Lehman (9):
msvcp140: Add importlib.
msvcp140_atomic_wait: Add stub dll.
msvcp140_atomic_wait: Implement __std_parallel_algorithms_hw_threads.
msvcp140_atomic_wait/tests: Add test for threadpool_work functions.
msvcp140_atomic_wait: Implement __std_create_threadpool_work.
msvcp140_atomic_wait: Implement __std_submit_threadpool_work.
msvcp140_atomic_wait: Implement __std_wait_for_threadpool_work_callbacks.
msvcp140_atomic_wait: Implement __std_close_threadpool_work.
msvcp140_atomic_wait: Implement __std_bulk_submit_threadpool_work.
Dean M Greer (1):
winemac.drv: Fix compile with pre macOS 10.12 SDKs.
Dmitry Timoshkov (1):
ieframe: Clear a being invalidated history entry.
Eric Pouech (18):
msi: Don't call RegCloseKey with uninitialized value.
dwrite: Adjust implementation to match prototype.
include/winternl.h: Fix prototype definition.
rpcss: Fix implementation declaration to match prototype.
wscript: Use correct integral type.
start: Wrap child inside a job so it gets killed when start.exe terminates.
cmd: Bail out when full path name exceeds MAX_PATH.
cmd/tests: Test paths that exceed MAX_PATH.
find: Use correct integral type.
progman: Use correct integral type.
rpcss: Use correct integral type.
include: Fix signedness in wine_dbgstr_variant().
winedbg: Use correct integral type.
winetest: Use correct integral type.
adsldp: Use correct integral type.
comctl32: Use correct integral type.
comdlg32: Use correct integral type.
crypt32: Use correct integral type.
Fabian Maurer (33):
adsldp/tests: Fix misleading indentation warnings.
advapi32/tests: Avoid "misleading indentation" warnings.
comctl32/tests: Avoid "misleading indentation" warnings.
comdlg32/tests: Avoid "misleading indentation" warnings.
comsvcs/tests: Avoid "misleading indentation" warnings.
crypt32/tests: Avoid "misleading indentation" warnings.
dbgeng/tests: Avoid "misleading indentation" warnings.
d2d1/tests: Avoid "misleading indentation" warnings.
d3d10/tests: Avoid "misleading indentation" warnings.
d3dcompiler/tests: Avoid "misleading indentation" warnings.
d3dx10_43/tests: Avoid "misleading indentation" warnings.
d3dx9_36/tests: Avoid "misleading indentation" warnings.
dwrite/tests: Avoid "misleading indentation" warnings.
dxva2/tests: Avoid "misleading indentation" warnings.
evr/tests: Avoid "misleading indentation" warnings.
hlink/tests: Avoid "misleading indentation" warnings.
kernel32/tests: Avoid "misleading indentation" warnings.
msscript/tests: Avoid "misleading indentation" warnings.
msvfw32/tests: Avoid "misleading indentation" warnings.
ntdll/tests: Avoid "misleading indentation" warnings.
ntoskrnl/tests: Avoid "misleading indentation" warnings.
ole32/tests: Avoid "misleading indentation" warnings.
oleaut32/tests: Avoid "misleading indentation" warnings.
oledb32/tests: Avoid "misleading indentation" warnings.
opcservices/tests: Avoid "misleading indentation" warnings.
gdi32/tests: Avoid "misleading indentation" warnings.
gdiplus/tests: Avoid "misleading indentation" warnings.
mf/tests: Avoid "misleading indentation" warnings.
mfplay/tests: Avoid "misleading indentation" warnings.
nsi/tests: Avoid "misleading indentation" warnings.
mlang/tests: Avoid "misleading indentation" warnings.
msi/tests: Avoid "misleading indentation" warnings.
msvcirt/tests: Avoid "misleading indentation" warnings.
Florian Will (1):
gdiplus: Disable PNG encoding filters.
Gabriel Ivăncescu (4):
ddraw: Use WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES only if window is not in foreground.
ddraw: Use WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES also if DDSCL_NOWINDOWCHANGES is set.
ddraw: Remove topmost style when going from exclusive mode to normal.
mshtml: Fix leak on failure in return_nsstr.
Georg Lehmann (3):
winevulkan: Update to VK spec version 1.2.203.
winevulkan: Update to VK spec version 1.3.204.
winevulkan: Support Vulkan 1.3.
Gerald Pfeifer (1):
iphlpapi: Zero-init prefix_len to avoid a compiler warning.
Giovanni Mascellani (2):
mfmediaengine: Fix a memory leak.
mfmediaengine: Add a IMFMediaEngineEx stub.
Hans Leidekker (1):
msi: Use custom action name for MsiBreak handling.
Henri Verbeet (30):
wined3d: Discard texture resources before unloading them in wined3d_texture_destroy_object().
wined3d: Use wined3d_mask_from_size() in wined3d_ffp_get_vs_settings().
wined3d: Use wined3d_mask_from_size() in wined3d_ffp_get_fs_settings().
wined3d: Properly compare integers in wined3d_pipeline_layout_vk_compare().
wined3d: Properly compare integers in wined3d_so_desc_compare().
wined3d: Properly compare integers in wined3d_bo_slab_vk_compare().
wined3d: Properly compare integers in wined3d_graphics_pipeline_vk_compare().
wined3d: Use wined3d_mask_from_size() in geometry_shader_init_stream_output().
wined3d: Use wined3d_mask_from_size() in find_ps_compile_args().
wined3d: Use wined3d_mask_from_size() in stateblock_savedstates_set_all().
d3d11/tests: Add some tests for ID3DUserDefinedAnnotation.
wined3d: Use wined3d_mask_from_size() in shader_glsl_store_uav().
wined3d: Use wined3d_mask_from_size() in shader_glsl_gather4().
wined3d: Use wined3d_mask_from_size() in shader_glsl_generate_stream_output_setup().
wined3d: Use wined3d_mask_from_size() in set_glsl_shader_program().
wined3d: Use wined3d_uint32_compare() in compare_sig().
wined3d: Use wined3d_uint32_compare() in glsl_program_key_compare().
wined3d: Use wined3d_bit_scan() in vshader_get_input().
wined3d: Use wined3d_bit_scan() in wined3d_device_process_vertices().
wined3d: Use wined3d_bit_scan() in context_update_stream_info().
wined3d: Get rid of a superfluous cast.
wined3d: Use wined3d_bit_scan() in context_preload_textures().
wined3d: Use wined3d_bit_scan() in draw_primitive_immediate_mode().
wined3d: Use wined3d_bit_scan() in wined3d_context_gl_map_fixed_function_samplers().
wined3d: Use wined3d_bit_scan() in set_glsl_shader_program().
wined3d: Use wined3d_bit_scan() in shader_glsl_load_constants_i().
wined3d: Use wined3d_bit_scan() in shader_glsl_load_constantsB().
wined3d: Use wined3d_bit_scan() in shader_generate_glsl_declarations().
wined3d: Use wined3d_bit_scan() in shader_glsl_generate_fragment_shader().
wined3d: Use wined3d_bit_scan() in shader_arb_load_np2fixup_constants().
Huw D. M. Davies (4):
winepulse: Remove unused member "mute".
widl: Remove the uuid_t typedef which causes conflicts on macOS.
winepulse: Remove unnecessary alloc_size.
winecoreaudio: Remove unnecessary buffer sizes.
Jacek Caban (2):
server: Use console_add_queue for console output.
user32: Remove _wassert workaround.
Jan Sikorski (19):
wined3d: Acquire depth/stencil state references for command lists by inspecting CS packets.
wined3d: Acquire rasterizer state references for command lists by inspecting CS packets.
wined3d: Acquire blend state references for command lists by inspecting CS packets.
wined3d: Acquire references to render-target views for command lists by inspecting CS packets.
wined3d: Acquire references to shader resource views for command lists by inspecting CS packets.
wined3d: Acquire references to unordered-access views for command lists by inspecting CS packets.
wined3d: Acquire references to depth/stencil views for command lists by inspecting CS packets.
wined3d: Acquire references to constant buffers for command lists by inspecting CS packets.
wined3d: Acquire references to cleared unordered-access views for command lists by inspecting CS packets.
wined3d: Acquire references to cleared render-target views for command lists by inspecting CS packets.
wined3d: Acquire references to indirect dispatch buffers for command lists by inspecting CS packets.
wined3d: Acquire references to indirect draw buffers for command lists by inspecting CS packets.
wined3d: Acquire references to index buffers for command lists by inspecting CS packets.
wined3d: Acquire references to stream output buffers for command lists by inspecting CS packets.
wined3d: Acquire references to vertex buffers for command lists by inspecting CS packets.
wined3d: Acquire references to updated resources for command lists by inspecting CS packets.
wined3d: Acquire references to blitted resources for command lists by inspecting CS packets.
wined3d: Acquire references to unordered-access view counter buffers for command lists by inspecting CS packets.
wined3d: Acquire references to mip-map generation shader resource views for command lists by inspecting CS packets.
Jinoh Kang (1):
ntdll/unix: Zero-extend IP_TOS byte to INT.
Liam Murphy (1):
winmm/tests: Demonstrate that WOM_DONE is not invoked reentrantly.
Louis Lenders (2):
wbemprox: Add some properties of SoftwareLicensingProduct class.
ole32: Add stub for OleConvertIStorageToOLESTREAMEx.
Matteo Bruni (1):
d3dcompiler/tests: Use the relevant d3dcompiler version in blob tests.
Michael Stefaniuc (17):
dmsynth: Drop "synth" from the synth_sink field.
dmsynth: Activate the sink from the synth Activate() method.
dmsynth: Avoid hungarian notation in the synth object.
dmsynth: Disconnect old sink, addref and init new sink.
dmusic: Call SetSynkSink() first to initialize the Synth.
dmsynth: Pass the master clock on to the sink.
dmusic: Get rid of the SynthPortImpl typedef.
dmusic: Remove SynthPortImpl from the method and vtbl names.
dmusic/tests: Fix an object leak.
dmusic: Send the master clock to the synth and not a latency clock.
dmusic: The synth port needs to get the latency clock from the synth.
dmsynth: Implement SetMasterClock() for the sink.
dmsynth: Implement the sink Init method.
dmusic: Implement the E_NOTIMPL methods of the synth port.
dmsynth: Add error handling to the synth GetPortCaps method.
dmusic: Forward the synth port GetCaps to the synth method.
dmusic/tests: Add some initial synth port tests.
Nikolay Sivov (44):
dwrite/tests: Use CRT memory allocation functions.
mfplat: Implement MFTGetInfo().
mfreadwrite/tests: Use CRT allocation functions.
dwrite: Implement GetMatchingFontsByLOGFONT().
dwrite: Move text format object implementation to a separate file.
mf/samplegrabber: Cancel pending sample timer.
mfmediaengine: Add IMFGetService stub.
mfmediaengine/tests: Do not use stack variables for async notification callbacks.
d3d10/effect: Add a structure to keep shader variables references.
d3d10/effect: Add arrays for all state variables.
d3d10/effect: Store state variables references in their own arrays.
d3d10/effect: Fix iteration in GetBackingStore() for sampler states.
d3d10/effect: Fix iteration in GetBackingStore() for blend states.
include: Fixup DWRITE_COLOR_GLYPH_RUN1 definition.
dwrite: Partially implement newer TranslateColorGlyphRun() variant.
dwrite/tests: Use a better invalid value to make a test pass reliably.
comctl32/listview: Add partial implementation of LVM_GETNEXTITEMINDEX.
wshom: Use CRT allocation functions.
d3d10/effect: Fix iteration in GetBackingStore() for depth stencil states.
d3d10/effect: Fix iteration in GetBackingStore() for rasterizer states.
d3d10/effect: Fix index access in GetSampler().
d3d10/effect: Fix index access in GetRasterizerState().
d3d10/effect: Fix index access in GetDepthStencilState().
d3d10/effect: Fix index access in GetBlendState().
version: Use same Windows 10 build number for version information.
scrrun: Use CRT allocation functions.
scrrun/dictionary: Remove typedef from object data type.
mf: Move standard quality manager stub to a separate file.
mf/tests: Add another format to Video Processor supported formats list.
mfreadwrite/reader: Add m4v format magic.
shell32: Ignore KF_FLAG_NOT_PARENT_RELATIVE in SHGetKnownFolderPath().
d3dcompiler: Implement D3DWriteBlobToFile().
d3d10/tests: Add a test with fx_4_1 binary.
mfmediaengine: Implement SetSourceFromByteStream().
mfmediaengine: Implement audio renderer configuration methods.
comctl32/tests: Add some tests for TBBUTTON.iBitmap for separators.
include: Add some ListView flags.
mfmediaengine: Handle shutdown state in GetCurrentSource().
mfmediaengine: Handle shutdown state in Play().
mfmediaengine: Handle shutdown state in Pause().
mfmediaengine: Handle shutdown state in GetBuffered().
mfmediaengine: Handle shutdown state in a few stubs.
mfmediaengine: Improve AddRange() behavior for intersecting ranges.
dwrite/tests: Remove remaining kernel32 heap calls.
Paul Gofman (39):
concrt140: Add ?_Byte_reverse_table@details@Concurrency@@3QBEB data export.
msvcp110: Add ?_Byte_reverse_table@details@Concurrency@@3QBEB data export.
msvcp120: Add ?_Byte_reverse_table@details@Concurrency@@3QBEB data export.
winhttp/tests: Also test async websockets with secure connection.
winhttp: Use separate SSL read and write buffers.
winhttp: Use a buffer for sending frame in send_frame().
winhttp: Allow receive on shutdown web socket.
winhttp: Consider short read from netconn_recv() in receive_bytes().
winhttp: Drain frames until close frame in socket_close().
winhttp: Factor out socket_send_complete() function.
winhttp: Count queued websocket send operations.
winhttp: Allow synchronous nonblocking send in WinHttpWebSocketSend() when possible.
server: Release correct sockets in poll_socket().
winhttp: Return ERROR_INVALID_OPERATION when websocket is in the wrong state.
winhttp: Set socket state to shutdown right away in WinHttpWebSocketShutdown().
winhttp: Factor out send_socket_shutdown() function.
winhttp: Use send_socket_shutdown() in WinHttpWebSocketClose().
winhttp: Move close callback call to task_socket_close().
winhttp: Factor out receive_close_status() function.
winhttp: Process server close frame in handle_control_frame().
winhttp/tests: Test closing websocket when receive is pending.
winhttp: Set socket close state in WinHttpWebSocketClose().
winhttp: Move receive callback call to task_socket_receive().
winhttp: Count queued websocket receive operations.
winhttp: Send callback for pending receives right away when closing websocket.
winhttp: Return error from WinHttpWebSocketQueryCloseStatus() if close frame was not received.
winhttp: Remove an extra pending_sends increment in WinHttpWebSocketSend().
winhttp: Append mask to output frame even if buffer length is zero.
winhttp: Attemp sync websocket send even if data doesn't fit SSL buffer.
winhttp: Attemp sync websocket send even if data doesn't fit frame buffer.
winhttp: Allow synchronous nonblocking send in send_socket_shutdown().
winhttp: Allow synchronous nonblocking send in socket_send_pong().
winhttp: Pass server initiated websocket close request to application.
winhttp/tests: Test shutting down websocket when receive is pending.
winhttp: Don't mind socket state in WinHttpWebSocketQueryCloseStatus().
winhttp: Factor out socket_close_complete() function.
winhttp: Don't queue socket_close() in WinHttpWebSocketClose() if close frame is already received.
winhttp: Don't allow socket transfers after receiving close frame.
winhttp: Don't allow queueing websocket receive if another is pending.
Piotr Caban (2):
msvcrt: Add support for demangling char{8,16,32}_t types.
msvcrt: Fix Pi constants while computing acosf.
Piotr Kleski (1):
bcrypt: Return BCryptSignHash len when only output is NULL.
Robert Wilhelm (2):
scrrun: Add test for GetTempName.
scrrun: Generate temp name with tmp suffix.
Rémi Bernon (36):
dinput/tests: Load the test driver in the WinePlugPlay group.
include: Define MEDIASUBTYPE_MSAUDIO1 in wmcodecdsp.idl.
mf/tests: Simplify static media type definition.
mf/tests: Add some WMA decoder creation tests.
dinput/tests: Add some tests for DIERR_INPUTLOST conditions.
dinput: Introduce new is_exclusively_acquired helper.
dinput: Use an enumeration instead of BOOL for acquired status.
dinput: Return DIERR_INPUTLOST when device is removed.
mf/tests: Add some WMA encoder creation tests.
mf/tests: Add some WMA encoder ProcessInput tests.
mf/tests: Add some WMA decoder SetInputType tests.
mf/tests: Add some WMA decoder SetOutputType tests.
mf/tests: Add some WMA decoder GetInputAvailableType tests.
mf/tests: Add some WMA decoder GetOutputAvailableType tests.
widl: Do not generate C++ enum typedefs in WinRT mode.
widl: Clarify declaration type names vs (reference) type names.
widl: Fix nested parameterized types C / short name output.
widl: Use "string" for HSTRING in signatures for generated UUID.
widl: Fix sign handling in parameterized types signatures.
mf/tests: Add some WMA decoder GetInputStreamInfo tests.
mf/tests: Add some WMA decoder GetOutputStreamInfo tests.
setupapi/tests: Add possible test_need_media results for Win10.
setupapi/tests: Add some service installation flags tests.
wine.inf: Start PlugPlay service on prefix initialization.
dinput/tests: Add some RegisterDeviceNotificationA and hotplug tests.
wine.inf: Start EventLogService on prefix initialization.
plugplay: Use ncacn_np instead of ncalrpc transport.
include: Add more WMA GUIDs to wmcodecdsp.idl.
wmadmod: Introduce new DLL and tests.
user32: Add a filter member to device_notification_details.
user32: Remove FIXME from RegisterDeviceNotificationA.
sechost: Support device interface notifications filtering.
ntoskrnl.exe: Enforce path case in WM_DEVICECHANGE notifications.
xinput1_3: Fix printf format warnings with long types.
windows.gaming.input: Fix printf format warnings with long types.
winexinput.sys: Fix warnings from long integer types.
Stefan Dösinger (9):
d3d11/tests: Disable cross-device ContextState tests.
d3d11/tests: Ignore random WARP failures in test_pipeline_statistics_query.
d3d9/tests: Accept Nvidia results in test_sample_mask as broken.
d3d8/tests: Accept Nvidia results in test_sample_mask as broken.
d3d8/tests: Accept a broken Windows 10 20H? result.
d3d8/tests: Accept new WARP test failure in test_updatetexture().
ddraw/tests: Accept broken depth readback of new-ish AMD GPUs.
ddraw/tests: Treat refresh rates with 1 hz difference as equal.
ddraw/tests: Don't insist on a different refresh rate if no refresh rate was requested.
Tim Clem (8):
winemac.drv: Allow foregrounding WS_EX_NOACTIVATE windows.
winemac.drv: Use Cocoa nonactivating panels for WS_EX_NOACTIVATE windows.
winemac.drv: Don't activate the app if its first window is WS_EX_NOACTIVATE.
winemac.drv: Factor out cursor clipping code to its own class.
winemac.drv: Create a protocol to represent a cursor clipping handler.
winemac.drv: Factor common cursor clipping methods into functions.
winemac.drv: Add a cursor clipping implementation using -setMouseConfinementRect:.
winemac.drv: Use -setMouseConfinementRect: for cursor clipping by default.
Zebediah Figura (11):
winhttp: Remove unused ole32 import.
d3d11: Implement ID3D11RasterizerState1.
d3d11: Implement ID3D11Device1::CreateRasterizerState1().
server: Allocate enough space for the backslash in dup_nt_name() (Valgrind).
d3d11: Report D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER.
d3d11: Report D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER.
wined3d: Handle structured buffers in wined3d_unordered_access_view_vk_clear().
include: Define InterlockedExchangeAdd64() and InterlockedExchangeAddSizeT().
wined3d: Use wined3d_buffer_load_location() in wined3d_buffer_get_memory().
wined3d: Prefer mapping a BO if the buffer has WINED3D_BUFFER_USE_BO set.
wined3d: Introduce WINED3D_LOCATION_CLEARED and use it for the initial state of buffers.
Zhiyi Zhang (20):
comctl32/listview: Support themed check boxes for LVS_EX_CHECKBOXES style.
comctl32/treeview: Support themed check boxes for TVS_CHECKBOXES style.
comctl32/status: Remove redundant background drawing code.
comctl32/status: Calculate border for part background only when theming is off.
comctl32/status: Do not draw background for status text.
uxtheme/tests: Add EnableThemeDialogTexture() tests.
comctl32/tests: Remove WM_CTLCOLORSTATIC tests for static controls.
comctl32/tests: Remove WM_CTLCOLORSTATIC tests for property sheets.
uxtheme: Do not call SetWindowTheme() in EnableThemeDialogTexture().
uxtheme: Make IsThemeDialogTextureEnabled() return TRUE for all valid flags without ETDT_DISABLE.
uxtheme: Allow EnableThemeDialogTexture() to set flags in multiple steps.
uxtheme: Hook DefDlgProc() for dialog theming.
comctl32/button: Enable parent dialog tab texture.
comctl32/static: Enable parent dialog tab texture.
comctl32/propsheet: Handle page dialog tab texture in DefDlgProc().
user32: Avoid recalculating the non-client hit-test value for NC_HandleNCMouseMove().
user32/tests: Test painting standard scroll bars in hovered state.
user32: Draw standard scroll bars in hovered state only when they were previously painted by DefWinProc().
uxtheme: Search TMT_IMAGEFILE1~7 first when drawing background for parts without glyph images.
uxtheme: Do not resize source image even if destination is smaller than sizing margins.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine team is proud to announce that the stable release Wine 7.0
is now available.
This release represents a year of development effort and over 9,100
individual changes. It contains a large number of improvements that
are listed in the release notes below. The areas of major changes are:
- Most modules converted to PE format.
- Better theming support, with a bundled theme for a more modern look.
- Vastly improved HID stack and joystick support.
- New WoW64 architecture.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.0/wine-7.0.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.0/wine-7.0.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.
----------------------------------------------------------------
What's new in Wine 7.0
======================
*** PE modules
- With a few exceptions, all modules can be built in PE format. The goal is to
convert the remaining modules after 7.0.
- For PE modules with an associated Unix library, the interface between the PE
part and the Unix part goes through a standard NT system call. This enables
hiding the Unix code from Windows debuggers, and switching the thread
register on platforms that require it.
- Builtin dlls are only loaded if there is a corresponding PE file on disk,
either a real binary or a fake PE module. This ensures that the application
always sees a valid PE file mapping. It can be disabled through the
WINEBOOTSTRAPMODE environment variable, used at prefix creation time.
*** WoW64
- The 64-bit Windows-on-Windows (WoW64) architecture is implemented, and
supports running a 32-bit Windows application inside a 64-bit Unix host
process, using thunks to map 32-bit NT system calls to the 64-bit NTDLL.
- WoW64 thunks are implemented for most Unix libraries, enabling a 32-bit PE
module to call a 64-bit Unix library. Once the remaining modules are
converted to PE, this will make it possible to run 32-bit applications
without installing 32-bit Unix libraries.
*** Theming
- A "Light" theme is included in Wine, with the color variants "Blue" and
"Classic Blue". It can be enabled through WineCfg.
- All the Common Controls support theming, and automatically refresh on theme
changes.
- All the builtin applications support theming, as well as High DPI rendering.
*** Graphics
- There's a new Win32u library implementing the kernel side of graphics and
window management support. Large portions of the GDI32 and USER32 libraries
are converted to use this new library. This work will continue after 7.0, and
the graphics drivers (winex11.drv, winemac.drv, etc.) will be migrated to
Win32u as well.
- The Vulkan driver supports up to version 1.2.201 of the Vulkan spec.
- Hit-testing stroked geometries using the Direct2D API is implemented.
- Some initial support for Direct2D effects (using the ID2D1Effect interface)
is implemented.
- The Direct2D API supports the ID2D1MultiThread interface.
- WindowsCodecs supports decoding images in WMP (Windows Media Photo) format,
as well as encoding images to the DDS (DirectDraw Surface) format.
- WindowsCodecs no longer supports encoding images to macOS ICNS format. This
is not supported on Windows, and was no longer used by Wine either.
*** Direct3D
- Various improvements have been made to the Vulkan renderer for the Wine
Direct3D implementation. In most cases, for Direct3D 10 and 11 applications
the Vulkan renderer should be about on-par with the older OpenGL renderer in
Wine 7.0. Like in Wine 6.0, the Vulkan renderer can be enabled by setting the
Direct3D "renderer" registry setting to "vulkan".
- The following Direct3D 10 and 11 features are implemented:
- Deferred device contexts.
- Device context state objects, and switching between them.
- Constant buffer offsetting.
- Resolving typeless multi-sample resources.
- Clearing unordered-access views of texture resources. When using the OpenGL
renderer, this requires the GL_ARB_clear_texture OpenGL extension.
- Resource copies between resources with "block-compatible" formats, like for
example DXGI_FORMAT_BC3_TYPELESS and DXGI_FORMAT_R32G32B32A32_TYPELESS.
- Clearing layered render-target views.
- Support for multiple displays ("multi-head") is implemented. In practice,
this tends to mean the ability to choose which monitor a Direct3D application
will use for full-screen mode. Note that this depends on the underlying
display drivers to accurately report the attached displays. For Wine's X11
driver, that requires proper support for version 1.4 or later of the X RandR
extension.
- Display gamma adjustment using the DXGI API is implemented. This is sometimes
used by Direct3D 10 and 11 applications to adjust screen "brightness".
- Direct3D 12 supports version 1.1 root signatures.
- When the VK_EXT_host_query_reset Vulkan extension is available, query
handling in the Vulkan renderer is slightly more efficient.
- Retrieving swapchain present counts using the DXGI API is implemented.
- A fallback path using GDI is added for swapchain presentation. This is used
in cases where OpenGL or Vulkan can't be used to present the swapchain, for
example when presenting to a window of a different process. This path is much
slower, but is often sufficient for some common use cases, like for example
applications using the Chromium Embedded Framework ("CEF") with cross-process
rendering.
- The "precise" shader instruction modifier is respected when using the GLSL
shader backend.
- The DirectDraw API supports 3D rendering to system memory surfaces when using
software device types like the "RGB", "MMX", and "Ramp" devices.
- The following additional graphics cards are recognized by the Direct3D
graphics card database:
- AMD Radeon RX 5500M
- AMD Radeon RX 6800/6800 XT/6900 XT
- AMD Van Gogh
- Intel UHD Graphics 630
- NVIDIA GT 1030
- The following HKEY_CURRENT_USER\Software\Wine\Direct3D key is removed:
- "UseGLSL"
This setting was deprecated in favor of the "shader_backend" setting in
Wine 5.0, and has been removed in this release.
*** D3DX
- The support for version 10 of the D3DX effects framework is much improved.
- D3DX 10 supports the Windows Media Photo (JPEG XR) image file format.
- Various D3DX10 texture creation functions (D3DX10CreateTextureFromMemory()
and variants) are implemented.
- A partial implementation of the ID3DX10Sprite interface is added.
- A partial implementation of the ID3DX10Font interface is added.
*** Audio / video
- The DirectShow and Media Foundation GStreamer glue is unified into a single
backend, making it easier to implement new media decoding APIs.
- The Windows Media asynchronous and synchronous reader objects are implemented
based on the WineGStreamer backend. Like other multimedia decoding libraries,
they require a functioning GStreamer installation.
- The Media Foundation support is more complete, with notably:
- Basic functionality of IMFPMediaPlayer, media item properties, support for
audio and video tracks.
- Support for sample allocator in the Source Reader.
- Improved EVR sink integration with presenter and mixer.
- Improved SAR rendering buffer behavior.
- Video sample allocator, with support for d3d9, d3d11, and system memory
buffers.
- Further improvements to EVR's presenter and mixer implementation.
- D3D11 frame output for IMFMediaEngine.
- Improvements to generic media source implementation in WineGStreamer to
support stopped and paused states, refined output type configuration.
- The QuickTime decoder library (wineqtdecoder) is removed. GStreamer is
required for all built-in multimedia codecs also on macOS.
*** Input devices
- The HID (Human Interface Device) stack implementation is more complete. This
includes HID descriptor and report parsers, report processing, as well as HID
mini-driver support.
- The winebus.sys driver backends are improved, to better describe the devices
into HID reports when pass-through is not possible, and to add standard
Physical Interface Device reports to expose force-feedback capabilities over
HID.
- There's a new DirectInput joystick backend using the improved HID stack to
communicate with winebus.sys and host devices. This backend supports
force-feedback effects using the standard HID Physical Interface Device
reports, and is also compatible with pass-through HID device which implement
it. The SDL and evdev winebus.sys Linux backends are also supported as they
implement it too. This replaces and deprecates the legacy Linux js and evdev,
and macOS IOHID backends.
- The joystick control panel is improved, as well as the interaction with
XInput-compatible devices. For such devices the joystick control panel can be
used to force DInput as the primary interface instead of XInput. This
translates to the "<joystick name>"="override" (REG_SZ) registry value in
HKCU\Software\Wine\AppDefaults\<app.exe>\DirectInput (or
HKCU\Software\Wine\DirectInput for prefix-wide setting).
- The WinMM joystick support is implemented using DInput instead of Linux evdev
or macOS IOHID, and the old joystick driver (winejoystick.drv) is removed.
- Many tests are added to the DInput module, using a virtual HID device to not
require a physical device anymore. The code is extensively and automatically
tested, including force-feedback effects with HID input / output report
validation.
*** Text and fonts
- Arabic shaping is implemented in DirectWrite, currently enabled for Arabic
and Syriac.
- The Font Set object is implemented in DirectWrite.
- The TextHost interface is properly implemented in RichEdit.
*** Mono / .NET
- The Mono engine is updated to version 7.0.0, with the following changes:
- IDispatch interface supported on COM Callable Wrappers.
- Improved support for SafeArray marshaling.
- Many other marshaling and COM interop improvements.
- Code imports from .NET Core: System.Drawing.Printing,
System.Security.Principal, WindowsFormsApplicationBase, parts of
Microsoft.VisualBasic.Interaction
- WMA and WMV support in FNA using mfplat.
- Debug symbols available separately in PDB form.
- Old VBNC compiler for Visual Basic .NET replaced with the VBC compiler from
.NET Core.
- Mono's JIT compiler generates code compatible with 64-bit macOS.
- WPF built with support for media controls.
- A replacement for the Managed DirectX API is included.
- Fixes for various bugs that prevented most WPF applications from working.
*** Internationalization
- Unicode character tables are based on version 14.0.0 of the Unicode Standard.
- The timezone data is updated, based on the information from the Olson and
Unicode CLDR databases.
- Codepages 720 (Arabic, Farsi and Urdu) and 20949 (Korean Wansung) are
supported.
- The sr-Latn-RS locale is supported.
*** Kernel
- Launching applications with the 'wine' executable invokes start.exe for any
unrecognized binary. This means that file associations work also from the
Unix command line, e.g. 'wine foo.msi'.
- The low-level NtAlertThreadByThreadId / NtWaitForAlertByThreadId
synchronization mechanism (roughly equivalent to Linux futexes) is supported,
and used to implement the higher-level synchronization primitives.
- NT debug objects are implemented and used by the kernel debugger functions.
- The dynamic registry keys for performance data are implemented.
*** C runtime
- There's a full math library implementation in the C runtime, mostly imported
from the Musl C library. The Unix math library is no longer used.
- The floating point environment functions are supported properly on all CPU
platforms.
*** Internet and networking
- IE11 compatibility mode is improved and used by default for
standard-compliant HTML documents.
- JScript EcmaScript compliant mode supports 'let' statements, Map object,
object freezing, object sealing and mutable prototype chains.
- Gecko add-on MSI packages are installed into the prefix on demand, instead of
during prefix update, to make updates faster and reduce disk space usage.
- The DTLS communication protocol is supported.
- The NSI device (Network Store Interface) is implemented, and used to provide
higher-level network services in IpHlpAPI.
- The Windows Sockets support is reimplemented to go through NTDLL and the Afd
device, following the Windows architecture.
- The various network database files (/etc/protocols, /etc/networks, etc.) are
provided and installed in the prefix. The equivalent Unix databases are no
longer used for network queries.
*** Alternative platforms
- The new Apple Silicon Macs are supported, including running x86-64 binaries
under Rosetta 2.
- GnuTLS is required on macOS for BCrypt and Secur32 support; the
macOS-specific backend implementations have been removed.
- 32-bit ARM binaries are built in Thumb-2 mode, like on Windows.
- The preloader is also used on 32-bit ARM, for a more compatible address space
layout.
- Stack unwinding is implemented on 32-bit ARM.
- More low-level system information queries like memory and battery status are
supported on FreeBSD.
*** Builtin applications
- The REG registry tool supports operating on either the 32- or 64-bit view of
the registry.
- The REG registry tool supports copying registry keys.
- The WineDump tool supports dumping Windows Metafiles, and shows more detailed
information for CodeView records.
- The Wine Debugger (winedbg) supports debugging a 32-bit target process from
the 64-bit debugger.
*** Development tools
- The IDL compiler (widl) supports loading type libraries embedded inside PE
files.
- The IDL compiler searches for type libraries in the per-platform library
search path instead of the include search path.
- The IDL compiler supports many more WinRT-specific constructs and attributes.
*** Build infrastructure
- All libraries are installed in architecture-specific directories, using names
like 'i386-windows' for PE binaries, and 'x86_64-unix' for the Unix
libraries. This enables supporting multiple architectures with a single Wine
installation, as well as Winelib cross-compilation.
- Static (.a) import libraries are used on all platforms. Wine no longer
generates the old-style .def libraries, though they are still supported for
backwards compatibility.
- The option to prefer a native DLL by default is specified through a flag in
the PE header, which can be set by passing the '--prefer-native option' to
winebuild. The previous method, handling DLL_WINE_PREATTACH in DllMain, is no
longer supported.
- The Dwarf debugging format is supported up to version 4. The Wine libraries
are built with version 4 by default.
- Unique build identifiers can be stored in the binaries by passing the
'--enable-build-id' option to configure.
- The Clang compiler in MSVC mode is supported.
*** Miscellaneous
- The Shell Folder naming is converted to use the Windows Vista+ scheme; for
instance 'My Documents' becomes 'Documents', and most things are saved under
the 'AppData' directory.
- The OpenCL library wrapper supports versions up to OpenCL 1.2.
- Paper forms are supported in various sizes in the WinSpool printer driver.
- There is initial support for MSDASQL, a Microsoft OLE DB provider for ODBC
drivers.
*** External dependencies
- The following libraries are bundled in the source tree and built as PE
libraries, so they are no longer required at the Unix level:
- Faudio
- GSM
- LCMS2
- LibJPEG
- LibJXR
- LibMPG123
- LibPng
- LibTiff
- LibXml2
- LibXslt
- Zlib
- The libraries above can still be imported as external libraries instead of
using the bundled copy, provided that they are available in PE format. This
behavior is requested with the '--with-system-dllpath' configure option,
which specifies the Unix search path for such dependencies.
- Direct3D 12 support now requires version 1.2 or later of the vkd3d library.
Version 1.2 or later of the related vkd3d-shader library was already required
by Wine 6.0 for translation of Direct3D shader to SPIR-V in the Vulkan
renderer for the Direct3D implementation.
- The deprecated HAL library is no longer supported or needed.
- The macOS QuickTime library is no longer used.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.0-rc6 is now available. This is
expected to be the last release candidate before the final 7.0.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.0/wine-7.0-rc6.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.0/wine-7.0-rc6.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.0-rc6 (total 47):
9805 Program "de rouck" does not start.
12030 MozyHome backup service does not work
12915 Star Wars Episode I Racer: Assign key cause freeze
34010 Gabriel Knight 3 demo - Depth / stencil buffer locking is not implemented
34340 Mingw gdb hangs
37439 Saints Row: The Third characters don't render correctly
38907 Homesite+ (v5.5) closing search window does not correctly refocus editor window
39342 Thunder crashes without native riched20 (ME_GetCursorCoordinates: Assertion `~para->member.para.nFlags & 0x01')
42174 TeraCopy 3.0b2 crashes on startup
42395 Saints Row: The Third has graphical glitches
43502 Microsoft Flight Simulator 2000 : only bottom half view rendered and moved to the top
43650 nolf2 game error on install
44008 XNA Game Studio 4 installer crashes when cancelled
44111 Simple WPF/.Net app has rendering issues
44970 Deus Ex Human Revolution: people are invisible when closer than 3 meters
45121 Steam uses high CPU while idle
45168 Visual Novel "The Fruit of Grisaia" has flickering glitches
46118 FlatOut has graphical glitches with csmt enabled
46213 Sniper Elite 4 launcher window doesn't display properly
46304 The virgl driver is identified as Nvidia vendor but should be MESA and it should probably not fall back to any Nvidia card
46423 Kara no Shoujo crashes in fullscreen mode
48103 Lego Stunt Rally crashes when entering championship
49541 Lara Croft and the Temple of Osiris stops silently at launch
49732 Death End Re;Quest 2 crashes on startup
49919 Logos 8 Bible Software crashes when entering text in passage guide search field
49976 FIFA 11 Demo fifaconfig crashes when pressing OK button
49995 Evernote 6.24 stopped displaying notes after upgrade to Wine 5.19
50521 Guild Wars 2 fails to launch
50617 Objects become invisible with tessellation enabled in Sniper Elite 3 with OpenGL renderer
50813 X-Beyond The Frontier & X-Tension crash on start
51195 Lara Croft and the Temple of Osiris doesn't launch
51423 WeChat can't send a big picture
51442 Socket connection is not established properly
51592 Call of Cthulhu Crashes on Launch
52108 user32:monitor breaks user32:win on Win10 1809
52252 IDA Pro 7.2 debugger fails to attach to a process.
52286 Zombie Army Trilogy launcher crashes on start
52327 Wrong WM_CONTEXTMENU message default processing
52335 StarCraft Remastered hangs in Multiplayer screen
52349 Vortex Mod Manager Starts but Infinitely Loads
52353 PuTTY plink 0.76 crashes
52356 Folio Bound Views crashes on start
52378 Python WMI module: AttributeError: wbemErrInvalidQuery
52381 wineg++: Compile error in tom.h
52387 Joystick does not release buttons properly
52389 GPU Caps Viewer does not report any OpenCL devices
52390 World of Warcraft crashes in d3d11 mode inside of wined3d_unordered_access_view_gl_clear()
----------------------------------------------------------------
Changes since 7.0-rc5:
Alex Henrie (3):
d3d10/tests: Increase size of array expected_i_a in test_scalar_array_methods (cppcheck).
gdi32/tests: Mark a GetTextExtentPointW test as broken on Windows 10.
gdi32/tests: Drop font test workarounds for Windows <= 2000.
Alexandre Julliard (2):
maintainers: Remove Ken Thomases.
include: Move the ITextRange2 definition to avoid an undefined reference.
Andrew Eikum (2):
winecoreaudio.drv: Fix memory leak.
winepulse.drv: Fix memory leak.
Andrey Gusev (2):
wined3d: Handle WINED3DSPSM_NONE in shader_sm4_read_param().
dxgi: Handle WINED3D_BIND_UNORDERED_ACCESS in dxgi_usage_from_wined3d_bind_flags().
André Zwing (5):
kernel32: Fix GetCompressedFileSize[AW] spec file entries.
rpcrt4: Fix TowerConstruct spec file entry.
wintrust: Fix WintrustAddDefaultForUsage spec file entry.
shlwapi: Report keyName as string.
d3d10: Fix D3D10CompileEffectFromMemory spec file entry.
Dmitry Timoshkov (1):
ntdll: Use full registry key name in NtQueryLicenseValue.
Hans Leidekker (1):
kerberos: Avoid a crash on NULL expiry parameter.
Huw D. M. Davies (2):
commdlg: Pass the 16-bit structure to the WM_INITDIALOG hook.
user: Copy back the 16-bit MDICREATESTRUCT.
Julian Rüger (1):
po: Update German translation.
Nikolay Sivov (3):
d3d11: Always initialize out view pointer in CreateRenderTargetView().
include: Add WbemErrorEnum error codes.
mfplat: Add MECapture* events to tracing.
Paul Gofman (1):
crypt32: Increase maximum object encode length.
Rémi Bernon (5):
dinput/tests: Check that InputReportByteLength bytes are read.
user32: Increase the default message buffer size.
server: Return error when hardware message is too large.
hidclass.sys: Always read InputReportByteLength bytes when not polling.
dinput: Reset button state for each report read.
Stefan Brüns (7):
d2d1: Silence SetSegmentFlags() FIXME when setting default value.
d2d1/tests: Add a test for single quadratic Bézier segment.
d2d1/tests: Test coincident last/first vertex for both OPEN and CLOSED.
d2d1: Refactor outline generation as preparation for the new TYPE_END vertex type.
d2d1: Use the TYPE_END vertex type when last/first vertices coincide.
d2d1: Remove extraneous checks for last vertex.
d2d1/tests: Avoid out-of-bounds access when comparing segments.
Stefan Dösinger (7):
ddraw/tests: Reduce precision in test_filling_convention.
d3d8/tests: Reduce precision in test_filling_convention.
d3d9/tests: Use a HW generation dependent offset for the filling convetion test.
d3d11/tests: Run test_instanced_draw separately.
d3d10core/tests: Run test_instanced_draw() separately.
d3d10core/tests: Run test_generate_mips separately.
d3d11/tests: Run test_generate_mips separately.
Zebediah Figura (5):
opencl: Use types with consistent alignment for unixlib params structures.
wined3d: Do not iterate over multiple layers when clearing 3D UAVs.
d3d11/tests: Test UAV clears of 3D view with nontrivial depth.
ws2_32: Cast timeval fields to LONGLONG before multiplying.
ws2_32: Cast the WSAPoll() timeout to LONGLONG before multiplying.
Zhiyi Zhang (2):
user32/tests: Avoid fix blurry apps popup in test_DisplayConfigSetDeviceInfo().
uxtheme/tests: Avoid fix blurry apps popup in test_GetThemePartSize().
Ziqing Hui (1):
wininet/tests: Add more tests for InternetTimeToSystemTime().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.0-rc5 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.0/wine-7.0-rc5.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.0/wine-7.0-rc5.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.0-rc5 (total 30):
23782 Spaceforce Rogue Universe: can't enter game (intro videos looping)
41239 FUEL Aborts on Start Due to Shader Validation Failing
46841 JASC Paint Shop Pro 8.x and 9.x crash on startup (msvcrt c++ exception handling)
48084 Crouzet Soft 1.11 crashes on start
49099 MIDI events sent to all devices at once
49174 Duplicate checking iter->parent in mshtml/htmlwindow.c
50100 Unable to log in to the Bentley CONNECTION client (needs 'let' statements support)
50527 Dying Light shows a black screen after starting a new game
51805 Tropico 2: mouse cursor is black
51829 Roblox Player: Long freeze during loading
51853 Logos 9 Bible Software - Printing Option Available - Does Not Print
51872 Logos Bible Software 9 (.Net 4.8 app) System.AccessViolationException regression
52042 Ketarin crash in WINE 6.21 THREAD transition from RUNNING to DONE_BLOCKING
52071 mshtml:script fails in externalDisp_InvokeEx() on Windows
52074 crash in open source flight simulator Rowan's Battle of Britain
52142 Ketarin Listview error unknown msg in Wine 6.22
52143 mscoree:parse_startup error in Ketarin on Wine
52144 Ketarin stops refreshing program window on Wine 6.22
52157 ntdll:wow64 fails on 64-bit Wine
52216 winemac.drv fails to compile without Metal support
52231 Notation Software 4 freeze when moving mouse over buttons
52263 Ground Control II freezes on exit
52267 Fallout 1 & 2 fail to start: can't initialize input device
52272 Escape from Tarkov launcher crashes on start
52292 Cygwin compilation fails in ld: undefined reference to `__main' @ include/wine/test.h
52295 Crash when calling StackWalk() with '-gstabs' symbol format
52311 Starting executables from removable devices no longer works with Wine 7.0-rc3-7-g3e73437ae8f
52323 MSBuild fails to build simple application
52328 Cygwin compilation fails: undefined references to __chkstk_ms, __popcountsi2, __divdi3, __udivmoddi4 (etc.) in dlls/
52332 Incoming data on socket only satisfies the first async I/O request in the queue
----------------------------------------------------------------
Changes since 7.0-rc4:
Alex Henrie (7):
faultrep/tests: Remove registry writability check.
wined3d: Fix memory leak on error path in wined3d_buffer_vk_create_buffer_object (Coverity).
wmphoto: Fix memory leak on error path in wmp_decoder_create (Coverity).
kernel32/tests: Drop path test workarounds for Windows <= 2000.
comctl32/tests: Drop tooltips test workarounds for Windows <= 2000.
kernel32/tests: Drop change test workarounds for Windows <= 2000.
d3dx9_36/tests: Add missing call to ID3DXSprite_End.
Alexandre Julliard (2):
server: Don't return image information for terminating processes.
ntdll: Support debugger attach from a 64-bit process to a 32-bit process.
Eric Pouech (4):
dbghelp: Don't use .debug_frame section if non present when unwinding.
po: Some more French translations.
po: Fixed typos in French translation.
po: Some more French translations.
Gabriel Ivăncescu (1):
mshtml: Fix nsnode leak when cloning.
Henri Verbeet (1):
wined3d: Use GL_MAP_PERSISTENT_BIT even for non-persistent bo maps.
Huw D. M. Davies (4):
winspool: Don't try to match a printer to a server handle.
winemac: Don't try to update when the window is closing.
iphlpapi: Always populate the friendly name.
user32: Set WM_CONTEXTMENU's wparam to the child window's handle.
Jacek Caban (6):
msvcrt: Use __WINE_PE_BUILD in crt_gccmain.c.
mshtml: Remove duplicate check in get_top_window.
winegcc: Use libgcc on Cygwin target.
urlmon/tests: Silence some debug traces.
urlmon/tests: Remove unreliable test.
urlmon: Don't allow direct sink callbacks when reporting data.
Jactry Zeng (2):
po: Update Simplified Chinese translation.
po: Update Japanese translation.
Jinoh Kang (2):
ws2_32/tests: Add a test for simultaneous WSARecv().
server: Reselect only after dequeueing async request.
Keno Fischer (1):
winemac: Unconditionally link to QuartzCore.
Masanori Kakura (1):
winealsa.drv: Fix a typo in TRACE() message.
Michael Stefaniuc (1):
dmsynth/tests: Clarify the sink init / synth latency clock relationship.
Nikolay Sivov (2):
po: Update Russian translation.
comctl32/tests: Add a basic test for ImageList_WriteEx().
Olivier F. R. Dierick (1):
taskschd: Set count to zero in regtasks_get_Count stub.
Paul Gofman (1):
ddraw/tests: Port tests for fullscreen window size reset from d3d9.
Piotr Caban (1):
oleacc/tests: Fix intermittent AccessibleObjectFromPoint tests failures.
Roman Pišl (1):
comctl32: Fix return type of ImageList_WriteEx.
Rémi Bernon (8):
dinput/tests: Move tests from dinput8/tests.
dinput/tests: Split joystick tests into separate sources.
dinput/tests: Remove verbose and redundant tests.
dinput/tests: Test simple joystick with older dinput versions.
dinput: Return DIERR_UNSUPPORTED for properties with old dinput version.
dinput: Allow 0xff as a DIDFT_ANYINSTANCE alias with old dinput version.
dinput: Return HID class guid in DIPROP_GUIDANDPATH property.
dinput: Wait for the internal thread with a timeout.
Stefan Brüns (1):
d2d1/tests: Test StrokeContains when last segment is bezier and closes the path.
Zebediah Figura (6):
ws2_32/tests: Test whether WSAEventSelect() modifies the event state.
server: Set the event in IOCTL_AFD_EVENT_SELECT if the socket becomes signaled.
ws2_32: Trace the address bound to in bind().
server: Avoid reporting POLLOUT on connection failure in poll_single_socket().
amstream: Trace some format fields in IDirectDrawMediaStream::SetFormat().
cryptnet: Open the revocation cache file in binary mode.
Zhiyi Zhang (2):
user32/tests: Test selecting DDBs of different depth into display compatible DCs.
win32u: Allow selecting 32-bit DDBs into display compatible DCs.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.0-rc4 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.0/wine-7.0-rc4.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.0/wine-7.0-rc4.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.0-rc4 (total 38):
12563 Autocad 2008 installer crashes when trying to configure install
25462 Unable to break using 'Break All' button while remote debugging with VS2008 (software breakpoint overwrites syscall instruction in VDSO page)
25486 Lego Stunt Rally: 3d scene is black
26350 Dungeons demo (OGRE) fails to load its plugins (LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH and relative path)
27419 Mouse problem in Heroes of Might and Magic 3
30752 Open/save file dialog "New Folder" button doesn't show new folder
32183 Cannot open console device read only, then read from it to get input
33758 Mouse sensibility quick in-game
36369 Patternz application crashes in winevdm (page fault in 32-bit code)
39345 Ubisoft Uplay crash when Win version is set to Vista and > (libcef problem)
40535 Max Payne 3 : Crash at start when winecfg is set to WinVista and >
42338 Crysis 1 rendering somehow broken
42737 [EA Origin]Latest version launch correctly but no windows appear correctly
44934 [ACOrigins]Process start and close after launch - DRM Fault ? (log included)
45505 PES 2017 settings.exe (.NET 4.0 app) crashes on startup with Wine-Mono
47363 Gas Guzzlers: Extreme fails to launch
49401 Desperados 3 suffering from wrong colors
49649 Multiple games cause X11 to crash on resolution change (Age of Empires 1 & 2, Star Wars: Galactic Battlegrounds)
50157 Videos are not played until the end in X3 Reunion
50544 Application crashes when external database called
51063 Spitfire Audio plugins can't find their sample libraries
51263 Frostpunk crashes on start
51721 Control crashes while starting a new game in DX11 mode (Vulkan backend)
51935 Hitman: Sniper Challenge has bad performance
51984 Logos 9 Bible Software (.NET 4.7 app) selection popups don't show
52024 App Never Receives Winsock FD_* Messages After FD_ACCEPT
52199 Grand Theft Auto Vice City doesn't start
52220 TMIDI Player, Cherry: Playback with multiple MIDI ports is broken
52256 Current working directory reset to "/" executing a winegcc/wineg++ compiled program
52259 osu! sometimes crashes in select()
52273 Shadowgrounds crashes before the menu
52277 Clonk Endeavour quits unexpectedly after the opening animation
52283 After loading roblox studio, some menus are shifted and blinking
52287 Cygwin compilation fails: undefined reference to `__wine_spec_nt_header' in winecrt0/register.c
52288 Firefox 91 64bit hangs on HEAP.critSection
52302 Firefox hangs when loading some URLs (e.g. <https://www.phoronix.com>)
52312 Multiple kernel drivers crash due to missing 'ntoskrnl.IoCreateDeviceSecure' stub (Dokan 'dokan1.sys', LabVIEW 201x CVI 'cvintdrv.sys', F-Secure BlackLight Engine 2.2 'fsbldrv.sys' )
52315 Fractal AX8 Edit: Crash after I/O operations
----------------------------------------------------------------
Changes since 7.0-rc3:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (10):
kernel32/tests: Remove unused variable size from test_process_info (Coverity).
kernel32/tests: Ensure auto_value.data is initialized in test_ExitCode (Coverity).
kernel32/tests: Check return value of NtGetNlsSectionPtr in test_GetCPInfo (Coverity).
comctl32/tests: Mark smaller propsheet buffer as broken.
advapi32/tests: Accept a variable number of x's in some RegEnumValue name overflow tests.
comctl32/tests: Use GetLocaleInfoA when the buffer size is in bytes (Coverity).
po: Update Catalan translation.
mshtml: Fix use after free in use_gecko_script (Coverity).
faultrep/tests: Drop workarounds for Windows <= 2000.
faultrep/tests: Check for registry virtualization.
Alexandre Julliard (4):
winecrt0: Check __WINE_PE_BUILD instead of compiler macros.
ntdll: Preserve the startup Unix directory unless it's on a removable device.
ntdll: Fix current directory initialization on removable devices.
Update copyright info for 2022.
André Zwing (2):
kernel32/tests: Don't test functions directly when reporting GetLastError().
kernelbase/tests: Don't test functions directly when reporting GetLastError().
Byeong-Sik Jeon (1):
po: Update Korean translation.
Conor McCarthy (1):
wined3d: Also check the internal format when determining GL raw blit compatibility.
Eric Pouech (2):
po: Update French translation.
po: Some more French translations.
Esme Povirk (1):
maintainers: Updating my email address.
Gabriel Ivăncescu (1):
winex11.drv: Map the window in UpdateLayeredWindow.
Jacek Caban (2):
ntdll: Fix handling \\.\CON path in RtlDosPathNameToNtPathName.
ntdll/tests: Remove workarounds for old Windows versions.
Jacek Konieczny (1):
winealsa.drv: Use separate port for each output device.
Jactry Zeng (1):
po: Update Simplified Chinese translation.
Martin Storsjö (1):
widl: Fix including tlb files in mingw-w64-tools configuration.
Michael Stefaniuc (1):
d3d10core/tests: Don't test stencil_ref again if it wasn't touched.
Nikolay Sivov (1):
po: Update Russian translation.
Paul Gofman (1):
server: Store PE image info in process structure.
Zebediah Figura (10):
include: Fix the definition of D3D_PRIMITIVE enum members.
ws2_32: Correctly null-terminate the addrinfo chain.
winegstreamer: Use the size of the data read when allocating the read buffer.
winegstreamer: Always set the initial video type for the WMF reader to WG_VIDEO_FORMAT_BGR.
ws2_32/tests: Test that the socket returned from accept() inherits event selection parameters.
server: Reselect the socket returned from accept_socket().
ws2_32/tests: Increase tolerance in a timing test.
ws2_32/tests: Test selecting the same socket twice.
ws2_32: Don't bother checking sockets against the input write or except sets.
ws2_32: Do not assume that an fd_set is bounded by FD_SETSIZE.
Zhiyi Zhang (1):
comctl32/listview: Do not paint over header when handling WM_NCPAINT.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.0-rc3 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.0/wine-7.0-rc3.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.0/wine-7.0-rc3.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.0-rc3 (total 22):
39699 EDT for Windows installer crashes inside wine`s hhctrl.ocx
41098 Descent 3 (GOG version) has problem when running with OpenGL renderer (Nvidia proprietary drivers)
47875 kernel32:file: FindFirstFile("foo\nul\bar") succeeds on AMD graphics!
48032 Origin often fails to install games (regression)
48776 GoToMeeting Opener crashes
49338 Black screen when playing videos in Lylian demo
49397 DX11 Sample "Texturing and Lighting" fails with error "Failed to load texture"
50159 Lylian demo plays: we can hear sounds but no video.
50668 Submarine Titans crashes when the opening video should be played
51159 test_NLSVersion() fails on Windows 10 >= 2004 in kernel32:locale
51598 cmd.exe crashes on "if exist" without arguments
51862 Error compiling function init_cpu_info() in dlls/ntdll/unix/system.c with GCC 4.8.4
52073 The builtin libxml2/libxslt libraries break msxml3:domdoc in wow64 mode
52180 Significant performance regression in The Sims 2
52198 MotoGP 2 launcher 'Configure controller' menu doesn't open
52200 Yamizome Liberator (demo): In-game video isn't played.
52202 Notation Player 4 has no sound while playing MIDI file when using winecoreaudio.drv
52214 Elite Dangerous game can't recognize network when using WLAN adapter, but launcher works
52222 WINEDLLOVERRIDES="DINPUT8.dll=n,b" no longer works since 4f1095a, worked in V6.23.
52224 inetmib1:main test times out in linux
52225 Several games suffer from audio crackling due to underflows in winepulse.drv
52260 Gothic 3: flickering, low-res textures with built-in msvcrt.dll
----------------------------------------------------------------
Changes since 7.0-rc2:
Alex Henrie (11):
nsiproxy: Fix memory leaks on error paths in get_ipv6_addr_scope_table (cppcheck).
win32u: Fix memory leak on error path in PATH_WidenPath (cppcheck).
quartz: Fix memory leaks on error paths in FilterMapper3_RegisterFilter (cppcheck).
mountmgr: Change scope of variable pvd in VOLUME_GetSuperblockLabel (cppcheck).
nsiproxy: Fix use after free in icmp_send_echo (scan-build).
wldap32: Fix memory leak on error path in create_page_control (cppcheck).
mshtml: Avoid null pointer dereference in OmHistory_get_length (cppcheck).
wpcap: Remove unused variable ptr from build_win32_description (cppcheck).
win32u: Handle memory allocation failures in nulldrv_PolyBezierTo (cppcheck).
api-ms-win-core-windowserrorreporting-l1-1-1: Add DLL.
crypt32/tests: Make pfxdata static.
Andrey Gusev (4):
schtasks: Fix a typo in FIXME() message.
oledb32: Add parentheses to the switch statement.
ntdll: Fix a variable name in TRACE() message.
po: Update Ukrainian translation.
Arkadiusz Hiler (2):
user32: Uppercase the RawInput device names sans the GUID.
setupapi: Use lowercase device paths.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (2):
winedbg: Fix disassemble with end addresses exceeding 32-bit.
msxml3: Fix crashes due to access to invalid context pointer.
Chilung Chan (1):
po: Update Traditional Chinese translation.
Eric Pouech (3):
kernelbase: Don't hardcode magic constants.
cmd: Don't crash on 'if exist' without parameter.
kernel32/tests: Test resetting ctrl-c handlers on some console APIs.
Floris Renaud (2):
wineconsole: Remove "option" from the man page.
po: Update Dutch time zones translation.
François Gouget (1):
winetest: Send the tests output to stdout when given "-o -".
Giovanni Mascellani (1):
wine.inf: Regenerate time zones.
Huw D. M. Davies (3):
winecoreaudio: Set the buffer to NULL after freeing.
winecoreaudio: Actually free the stream.
nsiproxy: Allow the name length to be IFNAMSIZ - 1.
Jacek Caban (2):
win32u: Use null driver to handle virtual display devices.
win32u: Implement NtUserBuildHwndList.
Keno Fischer (1):
kernel32: Fix CancelIoEx return value.
Lauri Kenttä (1):
po: Update Finnish translation.
Michael Stefaniuc (1):
dinput8/tests: Don't test value again if it wasn't touched.
Paul Gofman (2):
ntdll: Restore FP status words from MSVCRT_JUMP_BUFFER on x64.
ntdll: Always try searching apiset DLLs in the default directories.
Piotr Caban (3):
msvcrt: Don't set _EM_AMBIGOUS flag in _control87 when sse2 is not supported.
msvcrt: Make _setfp* helpers infallible.
msvcrt: Fix restoring 53-bit precision mode in _control87.
Rémi Bernon (10):
dinput: Keep action names when converting back to ansi.
dinput: Ignore NULL callback in IDirectInput_ConfigureDevices.
dinput: Convert wide action format back to ansi in ConfigureDevices.
dinput: Ignore objects without a collection in init_pid_caps.
winmm: Instanciate DirectInput8 class lazily using delay imported DLL.
xaudio2/tests: Check that GetDeviceDetails returns a PCM format.
mmdevapi/tests: Check that GetMixFormat returns an IEEE_FLOAT format.
dinput: Update internal thread events list on every wake up.
dinput: Return DIERR_INVALIDPARAM instead of DIERR_INPUTLOST from Acquire.
faudio: Return PCM format from IXAudio27_GetDeviceDetails.
Torge Matthies (2):
ws2_32: Don't read more than necessary from the inputs in select().
ws2_32/tests: Test short fd_set with select().
Zebediah Figura (9):
winex11: Fix the build when XInput2 headers are not present.
server: Avoid using the long double type on non-x86 platforms.
quartz/tests: Test querying connection state inside of IPin::ReceiveConnection().
winegstreamer: Allow specifying flipped video via negative height.
qcap/avimux: Implement source_query_accept().
quartz/tests: Test that sink pins are enumerated first.
qcap/tests: Test that sink pins are enumerated first.
qedit/tests: Test that sink pins are enumerated first.
strmbase: Try sink types before source types.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.0-rc2 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.0/wine-7.0-rc2.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.0/wine-7.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 7.0-rc2 (total 34):
29934 Weird Worlds: Launcher no longer launches the game
37255 Proteus 8 Access violation in module 'VGDVC.DLL'
48631 Multiple games display text as squares (Death to Spies: Moment of Truth, Shadow Warrior, Resident Evil 4 HD)
50526 ConEmu wineconsole Ctrl+m has different behavior
50714 YooSee CMS client 10.0.0.53 crashes after login since Wine 5.12 (ntdll built as PE)
50906 Her Story: crashes when seeking in video
51282 Samurai Shodown Reboot 2019: low gpu usage around 5-10% and low fps around 9-20fps
51296 Multiple applications (Cogmind, Photoshop, ...) render mouse cursor as black square
51380 The segment register tests fail in the wow32 ntdll:exception build
51409 Trails to Azure crashes when reaching main menu after video playback
51479 winedevice.exe crashes on prefix shutdown
51500 ntdll:exception test_wow64_context() randomly fails on Windows
51521 Installer of Tencent meeting crashes when using enter key in the license agreement screen.
51539 "server: Get the process entry point from the exe image info" breaks running if exe is loaded at a non-default address
51589 Buttons have no icons when using the Light Blue theme
51745 Xbox Controller no longer recognised
51766 ^C in gdb mode makes debugger quit
51790 MSI is no longer able to detect correct architecture for a custom action DLL
51910 Keyboard Input Partially Broken
51930 Final Fantasy XIV audio broken in wine-6.20
52008 Broken symlink to 'My Documents' causes app to crash
52020 Multiple games crash after intros (Borderlands GOTY Enhanced, Dark Souls: Remastered, Steel Division: Normandy 44)
52038 Sonic Adventure DX (2004) crashes after intro cutscene
52041 DAVAR4 crashes when moving mouse over document window scrollbars
52082 Ace Ventura (CD-ROM) crashes on start
52112 Final Fantasy XIV failing to boot
52140 configure fails to detect libldap 2.5+
52161 ntdll:om fails when run without elevated privileges
52165 mfplat:mfplat has failures in test_sample_allocator_d3d12() on Windows 10 1709
52166 mfplat:mfplat has a failure in test_d3d12_surface_buffer() on Windows 10 1709
52187 wine-mono's WPF tests hang (broken handling of IDWriteTextAnalysisSource callbacks in analyzer)
52195 comctl32:propsheet fails in the Hebrew locale
52206 Logos 9 Bible Software (.NET 4.7 app) external links don't open web browser
52207 HICON leak in CopyImage causes TheBat! to crash after a while
----------------------------------------------------------------
Changes since 7.0-rc1:
Alex Henrie (3):
comctl32/tests: Permit larger propsheet buffers.
kernel32/tests: Split up checks in flush_proc function.
advapi32/tests: Accept more broken values in another RegEnumValue name overflow test.
Alexandre Julliard (16):
ntdll/tests: Mark a failing test as todo.
krnl386.exe: Page-align the GlobalAlloc() size when the selector limit is in pages.
winebrowser: Try xdg-open before /usr/bin/open.
ntdll: Fix the RtlCreateTimer() argument order.
ntdll/tests: Fix some exception test failures on Windows.
ntdll/tests: Fix some directory test failures on Windows.
ntdll/tests: Fix some wow64 test failures on Windows.
ntdll/tests: Mark a failing test as todo.
kernel32/tests: Fix some test failures on Windows.
kernel32/tests: Remove an unreliable test.
kernelbase/tests: Fix some test failures on Windows.
schedsvc/tests: Fix a test failure on recent Windows versions.
advapi32/tests: Skip event log tests on Windows when access is not allowed.
crypt32/tests: Mark a failing test as todo.
wininet/tests: Mark a failing test as todo.
d3d11/tests: Mark a couple of failing tests as todo.
Alistair Leslie-Hughes (1):
dbghelp: Fix use after free.
Andrey Gusev (3):
hlink/tests: Fix a typo in a comment.
wmc: Fix a typo in a comment.
wined3d: Add WINED3DFMT_R11G11B10_FLOAT vertex format.
Bernhard Übelacker (1):
inetmib1: Fix endianess issue with dwLocalAddr and dwLocalPort.
Chilung Chan (2):
po: Update Traditional Chinese translation.
xcopy: Add /k in Syntax message of STRING_HELP string.
Connor McAdams (1):
ws2_32: Return WSAEINVAL from GetAddrInfoExOverlappedResult if overlapped is NULL.
Conor McCarthy (1):
wined3d: Do not bind buffers in state_cb() if the shader is not set.
Dmitry Timoshkov (1):
shell32: Add support for IDragSourceHelper2 interface.
Eric Pouech (7):
start: Ignore Ctrl-C and let the child decides what to do with it.
winedbg: In gdb proxy mode, ignore ctrl-c.
dbghelp: Silence some FIXMEs.
msvcrt: Fix double-free and memory leak in type_info destructor.
ntdll: Use proper names for magic constants.
winedump: Support dumping quad word values in enumerations.
server/console: Ensure conhost has created the TTY input stream before waiting.
Esme Povirk (3):
dwrite: Avoid calling memcpy with NULL source.
dwrite: Fix possible use of uninitialized memory.
dwrite: Account for position != 0 in fetch loops.
Hans Leidekker (1):
configure: Check for libldap instead of libldap_r.
Henri Verbeet (1):
wined3d: Release the allocator lock on error in wined3d_allocator_chunk_vk_map().
Hugh McMaster (1):
conhost: Process Ctrl-M key input.
Huw D. M. Davies (2):
riched20: Return the nearest char pos if the coords are outside the format rect.
riched20: Defer releasing the host if inside a notify callback.
Jacek Caban (3):
conhost: Remove unused extra_size argument from set_output_info.
winebuild: Allow using clang for as command.
ntdll: Don't use inline assembly in do_cpuid.
Jinoh Kang (1):
ntdll/tests: Fix access denied error in unprivileged mode.
John Sullivan (1):
user32: Call DestroyIcon() to delete icon handles in CopyImage().
Matteo Bruni (3):
ddraw: Pass the sub resource count to ddraw_surface_reserve_memory().
ddraw: Add a trace to ddraw_surface_update_frontbuffer().
ddraw: Fix typo in a comment.
Nikolay Sivov (4):
mfplat/tests: Use CRT allocation functions.
mfplat/tests: Allocate test callbacks.
mfplat/tests: Fix test crash on old Windows 10 systems.
mfplat/tests: Handle ResetDevice() failure when used with D3D12 device.
Paul Gofman (3):
ntdll: Add stub for NtSetDebugFilterState().
mountmgr.sys: Avoid use after free in dhcp4_config_request().
ntdll: Don't set socket IO status after queuing async.
Piotr Caban (3):
concrt140/tests: Fix race in _Timer tests.
msvcrt: Fix _strdate implementation in Hindi locale.
msvcrt: Fix _strtime implementation in Hindi locale.
Roberto Pungartnik (2):
po: Update Brazilian Portuguese translation.
po: Update Spanish translation.
Rémi Bernon (5):
user32: Update rawinput devices on WM_INPUT_DEVICE_CHANGE reception.
user32: Throttle device list updates from GetRawInputDeviceList.
winepulse.drv: Stop writing the same data again on underflow.
winepulse.drv: Keep buffer size separate from allocated size.
winepulse.drv: Write data to pulse in pulse_release_render_buffer.
Zebediah Figura (5):
winegstreamer: Acquire all of the flushing locks in GST_Seeking_SetPositions().
winegstreamer: Return E_UNEXPECTED when calling IWMReader::Stop() if no stream is open.
qasf/tests: Test that the DMO wrapper (de)commits its source pins' allocators when changing state.
user32: Do not use SetDIBits() in create_masked_bitmap().
user32: Free the created icon handle when using LR_COPYFROMRESOURCE.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 7.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 7.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 7.0 as good as possible.
What's new in this release (see below for details):
- Reimplementation of the WinMM joystick driver.
- All Unix libraries converted to the syscall-based interface.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.0/wine-7.0-rc1.tar.xzhttp://mirrors.ibiblio.org/wine/source/7.0/wine-7.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 7.0-rc1 (total 32):
39244 scrrun:filesystem BOM tests fail in the Korean and Chinese locales
47865 comctl32:propsheet: Different button order for some RTL locales in Windows 1809?
51049 Sea of Thieves crash when entering a lobby
51220 version:info - In Wine the GetFileVersionInfoEx() checks fail in non-English locales
51396 cl.exe 64bit fails with internal compiler error, needs support for separated code segments in vcruntime140_1
51413 winegcc options with multiple '=' are not handled correctly
51748 NIK Dfine2 crashes/hangs (worked before)
51821 EVE Online Client Crashes Due to differences in how Wine and Windows handle LdrGetDllPath with dwFlags 0x8 and relative path
51833 GetModuleFileNameW no longer works with large buffers
51844 winedbg command line arguments are not quoted properly
51886 YouTube Movie Maker crashes on unimplemented function gdiplus.dll.GdipSaveAddImage
51913 dinput8:device fails on cw-gtx560 and cw-rx460
51915 character just run to the left and everything
51946 cMUD 3.34 installer crashes
51987 Multiple GUI elements are not rendered when using a theme
52003 Stack overflow inside xml2.xmlXPathInit function.
52060 BCryptExportKey is not implemented for BCRYPT_RSAFULLPRIVATE_BLOB
52076 Wrong icons placement when using a theme
52080 Light Blue theme causes broken UI in multiple apps (OpenMPT, dgVoodoo Control Panel)
52106 dxva2:dxva2 fails in test_progressive_device() on cw-rx460 (AMD)
52109 DTS Encoder Suite crashes on start
52116 World of Warships: garbled textures and GL_INVALID_OPERATION errors due to invalid PBO access
52120 Everquest launcher crash with Wine 6.22
52129 EnumCalendarInfo hangs indefinitely when iterating over optional calendars
52132 DeviceCapabilities(DC_PAPERSIZE) returns wrong size
52141 NetAPI detection in configure is broken
52147 osu! fails to load some skin elements of certain skins
52173 Kodi crashes on unimplemented function wsdapi.dll.WSDCreateDiscoveryProvider
52176 Houkago Cinderella - Promotion Edition doesn't start up due to stack overflow.
52184 Initial breakpoint absent when debugging under WinDbg/CDB (build 22000.1)
52190 Glyph (access portal for Rift) crashes on start
52191 Null pointer dereference in MPEG3_StreamConvert
----------------------------------------------------------------
Changes since 6.23:
Akihiro Sagawa (2):
win32u: Use the replacement name in otmpFamilyName and GetTextFace().
quartz: Fix a race in IMediaFilter::Pause().
Alex Henrie (4):
shell32: Provide 4-bit icons that are actually limited to 16 colors.
msvcp120/tests: Don't check for handle equality in _Thrd_current tests.
nsi: Use a whole byte for each nsi_ip_neighbour_dynamic flag.
advapi32/tests: Accept more broken values in the RegEnumValue name overflow tests.
Alexandre Julliard (36):
secur32: Move the pull/push callbacks to the Unix side.
secur32: Store the GnuTLS session inside the transport.
secur32: Move the get_buffer callback to the Unix side.
secur32: Move the decrypt message receive loop to the Unix side.
secur32: Move the buffers initialization and callbacks to the Unix side.
secur32: Move the memory allocation for get_session_peer_certificate() to the PE side.
secur32: Move the memory allocation for get_unique_channel_binding() to the PE side.
secur32: Pre-allocate the token buffer for handshake() on the PE side.
secur32: Convert the Unix library to the __wine_unix_call interface.
ntdll: Don't return a default Unix handle for modules that don't have a Unix library.
wineandroid: Use full pathnames to invoke builtin apps.
ws2_32: Fix a potential buffer overflow in the Unix interface.
ws2_32: Implement Wow64 entry points in the Unix library.
crypt32: Implement Wow64 entry points in the Unix library.
include: Document remaining fields in the SYSTEM_PROCESS_INFORMATION structure.
wow64: Add mapping for NtQuerySystemInformation(SystemExtendedProcessInformation).
ntdll: Don't restore the %fs register for exceptions happening inside system calls.
ntdll: Remove __wine_init_unix_lib() and the old Unix library interface.
mpg123: Disable the large file wrappers.
configure: Assume that dirent.h is available on Unix.
configure: Assume that termios.h is available on Unix.
configure: Assume that unistd.h is available on Unix.
configure: Assume that sys/mman.h is available on Unix.
configure: Assume that sys/socket.h is available on Unix.
configure: Assume that sys/time.h is available on Unix.
configure: Assume that sys/ioctl.h is available on Unix.
configure: Assume that sys/wait.h is available on Unix.
configure: Remove some no longer used checks.
wmc: Don't catch SIGSEGV.
wrc: Don't catch SIGSEGV.
wrc: Remove the no longer used resource C name.
wrc: Move write_resfile() into genres.c and remove writeres.c.
wrc: Convert resource output to the standard output buffer functions.
tools: Move the output buffer functions to the common header.
sfnt2fon: Use the standard output buffer functions.
winevulkan: Remove unnecessary '&' on function pointers.
Alistair Leslie-Hughes (2):
wininet: Fix misleading indentation.
dbghelp: Fix possible memory leak (Coverity).
Bernhard Übelacker (1):
server: Return ReadDataAvailable value for FilePipeLocalInformation.
Brendan Shanks (1):
include: Add processthreadsapi.h file.
Christian Costa (1):
d3dx9: Also check for a valid alpha channel for TGA images.
Damjan Jovanovic (2):
ntdll: Implement fill_battery_state() on FreeBSD.
server: FreeBSD 14-CURRENT's sched_setaffinity() needs _WITH_CPU_SET_T defined.
David White (2):
d2d1: Implement path_geometry_StrokeContainsPoint() for line segments.
d2d1: Implement path_geometry_StrokeContainsPoint() for Bézier segments.
Derek Lesho (1):
kernelbase: Fix parameter order of FindResourceExW call for non-localized path.
Dmitry Timoshkov (2):
d2d1: Implement ID2D1Factory2::CreateStrokeStyle1().
d3d11: Handle D3D11_FEATURE_D3D9_OPTIONS in d3d11_device_CheckFeatureSupport().
Eric Pouech (21):
examine-relay: DLLs can have underscore in their names (like ws2_32).
winedbg: Don't pretend that all dbg_internal_var instances will hold DWORD_PTR.
winedbg: Make savable variables size a DWORD.
winedbg: Make pid and tid internal variables DWORDs.
winedbg: Introduce dbg_lg(u)int_t and migrate all integral computations on this type.
winedbg: Remove methods for fetching/storing integers in CPU backends.
winedbg: Renamed extract_longlong() into extract_lgint() for clarity.
winedbg: Use dbg_lgint_t as parameter in type_print_hex.
winedbg: Rename print_longlong into print_sdecimal (to mimic print_hex).
winedbg: Revamp dbg_lvalue structure and add helpers for init.
winedbg: Add bitfield capability to dbg_lvalue.
winedbg: Move bitfield extraction to extract_lgint.
dbghelp: In SymGetTypeInfo(), return the correct basetype for enums.
winedbg: Add helper to compare types and use it to detect wrong assigments.
winedbg: Add helper to transfer memory between lvalues.
winedbg: Correctly store integers into a bitfield.
winedbg: Remove fetch_float() method from CPU backends.
winedbg: Implement proper assignements of floating point numbers.
winedbg: Move C++ identifier detection to the lexer.
winedbg: Move module scoping to the lexer.
dbghelp: Implement SymEnumTypesByName(W).
Florian Will (1):
dsound: Skip resampling/mixing inaudible buffers.
François Gouget (6):
win32u: Fix the trailing linefeed in a TRACE().
msdasql/tests: Fix the spelling of the command_text variable.
kernel32: Store the ILANGUAGE values in uppercase.
kernel32/tests: Check that the preferred UI languages are in uppercase.
server: Fix the spelling of a comment.
ntdll/tests: Fix the spelling of a comment.
Gabriel Ivăncescu (1):
mshtml: Ignore named and extra arguments when invoking builtin functions.
Gijs Vermeulen (1):
mfplat/tests: Skip test_d3d11_surface_buffer if D3D11 device can't be created.
Hans Leidekker (1):
msi: GetBinaryType() doesn't accept DLLs.
Henri Verbeet (6):
d2d1: Store original Bézier curves as cubics.
wined3d: Pass a wined3d_device_gl pointer to wined3d_device_create_primary_opengl_context_cs().
wined3d: Use the access flags used to create the bo for persistent maps in wined3d_bo_gl_map().
wined3d: Pass a wined3d_device_gl pointer to wined3d_device_delete_opengl_contexts_cs().
wined3d: Move the command list reference counting functions to the end of cs.c.
d2d1: Create feature level 10.0 device context state objects.
Huw D. M. Davies (2):
wineps: Build with nameless structs and unions.
maintainers: Add the nsi include file.
Ivo Ivanov (3):
winebus.sys: Scale the force feedback gain value to the Linux FF_GAIN range.
winebus.sys: Use SDL_HAPTIC_INFINITY for the infinity durations in the SDL backend.
winebus.sys: Use 0 for the infinity durations in the UDEV lnxev backend.
Jacek Caban (24):
win32u: Add partial wow64 support.
user32: Provide partial null driver.
win32u: Implement NtUserGetProcessDpiAwarenessContext and NtUserSetProcessDpiAwarenessContext.
win32u: Implement NtUserGetSystemDpiForProcess.
win32u: Move NtUserGetDpiForMonitor implementation from user32.
win32u: Move DPI mapping from GetMonitorInfoW.
win32u: Move DPI mapping from EnumDisplayMonitors.
win32u: Directly access system DPI in ntgdi.
win32u: Move system parameters implementation from user32.
win32u: Directly use sysparams in nulldrv_GetDeviceCaps.
win32u: Fix return types on lock_display_devices failures.
user32: Set %ecx to rect param when calling monitor enum proc.
win32u: Fix device instance value size in link_device.
win32u: Use NtUserCallTwoParam for MirrorRgn implementation.
win32u: Move 55aa brush implementation from user32.
win32u: Use user driver for wine_get_vulkan_driver.
winevulkan: Use __wine_unix_call interface for Unix lib initialization.
ntdll: Temporarily allow KeUserModeCallback calls from client stack.
winevulkan: Use KeUserModeCallback for debug callbacks.
winevulkan: Support prefixing function parameters.
winevulkan: Pass Unix call arguments as a struct.
winevulkan: Make Vulkan direct Unix calls more similar to __wine_unix_call interface.
winevulkan: Use __wine_unix_call interface for some Vulkan functions.
mshtml: Fix dispex hooks handling for function objects.
Jactry Zeng (3):
ntdll: Fix compilation for ARM64 Apple platform.
include: Add some COM+ error codes.
msxml3: Add GBK support for builtin character converter.
Jan Sikorski (7):
wined3d: Decrement reference count and take the lock atomically for cached objects.
wined3d: Introduce a helper function to extract a packet from a command stream.
wined3d: Use wined3d_next_cs_packet() in wined3d_cs_exec_execute_command_list().
wined3d: Acquire sampler references for command lists by inspecting CS packets.
Revert "wined3d: Acquire references to samplers in deferred contexts.".
wined3d: Acquire shader references for command lists by inspecting CS packets.
Revert "wined3d: Acquire references to shaders in deferred contexts.".
Jinoh Kang (5):
ntdll/tests: Add tests for DebugPort* info query with security checks.
server: Fix querying debug port with restricted DACL.
ntdll: Fix valid frame address range in ARM/ARM64.
ntdll: Support both HP-UX-like libunwind and LLVM libunwind error codes.
ntdll: Properly test for LLVM libunwind error codes.
Konstantin Romanov (1):
wineps: Return a POINT for DC_PAPERSIZE.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (1):
wsdapi: Add stub for WSDCreateDiscoveryProvider.
Matteo Bruni (1):
d3d10/effect: Validate preshader blob size for index expressions.
Mohamad Al-Jaf (2):
include: Add namespaceapi.h file.
kernelbase: Add CreateBoundaryDescriptorW stub.
Nikolay Sivov (16):
dwrite: Move glyph advances cache to PE side.
dwrite: Add flag for cached advance presence.
dwrite: Use separate argument for cache key for get_bbox/get_bitmap calls.
dwrite: Move glyph box cache to PE side.
dwrite: Move bitmap cache to PE side.
dwrite: Remove unixlib callbacks.
dwrite: Switch to unixlib syscall interface.
dwrite: Implement Wow64 entry points for unixlib.
dwrite/layout: Simplify run direction check condition.
dwrite: Keep corresponding data context for created backend object.
dwrite: Remove some unused fields.
d2d1: Implement d2d_rectangle_geometry_StrokeContainsPoint().
include: Add document target ids.
include: Add some of the XPS OM interfaces.
winegstreamer: Set MF_MT_AUDIO_BLOCK_ALIGNMENT attribute for raw types.
d3dx10/tests: Remove crashing tests.
Paul Gofman (2):
ntdll: Support THREAD_CREATE_FLAGS_HIDE_FROM_DEBUGGER thread creation flag.
ntdll: Remove a special case for entry point not in executable section in map_image_into_view().
Piotr Caban (1):
vcruntime140_1: Add support for exception separated code segments.
Robert Wilhelm (3):
scrrun/tests: Check file contents using ReadFile in CreateTextFile test.
scrrun/tests: Use more context for MultiByteToWideChar in ReadAll test.
scrrun/tests: Use more context for MultiByteToWideChar in Read test.
Rémi Bernon (13):
winmm: Correctly check parameters in joyGetDevCaps(A|W).
dinput8/tests: Add some winmm joystick caps tests.
dinput8/tests: Add some winmm joystick input tests.
winmm: Fill and return szRegKey when index is -1.
winmm: Return the joysticks array size in joyGetNumDevs.
winebus.sys: Use an unsigned 16bit range for saturation and deadband values.
winebus.sys: Revert direction rotation for UDEV lnxev devices.
dinput: Simplify the internal thread and don't require loader lock.
winmm: Reimplement joyGetPos with joyGetPosEx.
winmm: Cleanup traces and parameters names.
winmm: Guard accesses to joystick array with a critical section.
winmm: Reimplement joystick APIs on top of dinput.
winejoystick.drv: Remove unnecessary driver.
Torge Matthies (5):
windowscodecs/tests: Add test for big PNG chunks.
windowscodecs: Disable libpng chunk size limit.
win32u/tests: Add tests for NtUserEnumDisplayDevices return value.
win32u: Return an NTSTATUS from NtUserEnumDisplayDevices.
win32u: Validate the info parameter in NtUserEnumDisplayDevices.
Zebediah Figura (13):
wined3d: Use wined3d_context_copy_bo_address() in wined3d_buffer_gl_upload_ranges().
wined3d: Trace CS packet pointers.
ntdll: Do not fill the IOSB in NtDeviceIoControlFile() if the NT status denotes error.
include: Add some structure size assertions.
ntdll: Factor out in_wow64_call().
ntdll: Handle WoW64 WSABUF pointers in sock_recv().
ntdll: Handle WoW64 translation in IOCTL_AFD_RECV.
ntdll: Handle WoW64 control message translation.
ntdll: Make the afd_recvmsg_params structure WoW64-compatible.
ntdll: Handle WoW64 translation in IOCTL_AFD_WINE_SENDMSG.
ntdll: Make the afd_transmit_params structure WoW64-compatible.
server: Rename the "flags" field of struct poll_req to "mask".
server: Handle the entire IOCTL_AFD_POLL ioctl on the server side.
Zhiyi Zhang (13):
gdi32/tests: Test deleting the bitmap used for pattern brush creation.
uxtheme/tests: Add DrawThemeParentBackground() tests.
comctl32/tests: Add more WM_CTLCOLORSTATIC tests for static controls in a dialog.
include: Add more EnableThemeDialogTexture() option flags.
comctl32/tests: Test WM_CTLCOLORSTATIC for themed property sheets.
comctl32/propsheet: Handle WM_CTLCOLORSTATIC in the property sheet page window procedure.
comctl32/propsheet: Handle WM_ERASEBKGND in the property sheet page window procedure.
uxtheme: Do not hook DefDlgProc() for theming.
comctl32/propsheet: Return a pattern brush when handling WM_CTLCOLORSTATIC for theming.
comctl32/propsheet: Fix a typo in a comment.
comctl32/button: Remove useless calculation when drawing themed group boxes.
comctl32/button: Avoid drawing over content in themed group boxes.
comctl32/button: Support image list margin for buttons with BS_CENTER or BS_VCENTER.
Ziqing Hui (6):
user32/tests: Fix cursor state test failures for win10.
user32/tests: Test creating shared icon by CreateIconFromResourceEx().
user32/tests: Test CreateIconFromResourceEx() with resource bits.
user32: Add an is_shared member to cursoricon_object.
user32/tests: Call Destroy{icon, cursor}() before GetIconInfo().
user32: Pass correct flags in CreateIconFromResource().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.23 is now available.
What's new in this release (see below for details):
- Mount manager and CoreAudio driver converted to PE.
- Support for exception handling in Wow64 mode.
- Optional support for using the distribution's PE libraries.
- A number of UI improvements in WineDbg.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.23.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.23.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 6.23 (total 48):
25193 ICC Dasher 1.5.4 doesn't render main UI correctly and appears to be non responsive
32991 win32-arm applications need ntdll.dll.RtlUnwindEx implementation for exception handling/unwinding
43456 Serif WebPlus X8 fails to install
44427 Internet Chess Club (ICC) Dasher 1.5.8 crashes after online login
46017 Layers of Fear areas are almost entirely black rendered
47287 Accessible Event Watcher Tool 'accevent.exe' from Windows 10 SDK (10.0.17763.x) crashes on unimplemented function oleacc.dll.AccessibleObjectFromEvent
47843 Rockstar Game Launcher is unable to download a game completely
48119 The tests sometimes trigger "critical section is not acquired" errors
48950 NVDA needs oleacc.AccessibleObjectFromPoint implementation for mouse tracking
49181 msvcrt_test.exe: missing entry point _point_get_sbh_threshold on Windows RT 8.x devices
49426 Sookasa calls unimplemented functions and ntoskrnl.exe.RtlGetElementGenericTable ntoskrnl.exe.RtlLookupElementGenericTable
50540 Windows PowerShell Core 6.2 Preview 2 for ARM32 crashes on unimplemented function KERNEL32.dll.RtlVirtualUnwind
50985 ns_name_skip is glibc specific, causes failure to build on musl
51183 Navicat V15.0.25 crashes when attempting to open database: "Unhandled exception: page fault...."
51307 msvcp140:msvcp140 fails on msvcp140 >= 14.25
51415 Windows PC Health Check requires msvcp_win.dll
51490 dinput:device has a random failure in overlapped_format_tests() on Windows 8.1
51557 GetSystemFirmwareTable fails to return SMBIOS on Apple Silicon Macs
51624 TETRIS (16bit) shows wrong background for scoreboard
51647 Gimp deadlocks when opening image or createing image from screenshot
51716 gameux:gamestatistics fails on Windows 10 1809+
51733 CreateProcess does not properly set the current directory of the new process.
51832 Fork: "The selection contains a non-folder object" when selecting a folder
51834 EMF DC emits invalid EMF when calling StretchDiBits with info->bmiHeader.biSizeImage = 0
51873 Joy.cpl crashes on the FFB tab when the FFB device is selected in the drop down list
51895 ucrtbase:misc fma(inf, 0, 0) 'succeeds' unexpectedly on some machines
51959 Missing procedure GetDayLightFlag
51971 postgresql-9.3 installer needs scrrun:folder_CreateTextFile implementation
51986 Extremely small fonts when using a theme
51989 pen-related tests (gdiplus:graphics and gdiplus:graphicspath) fail on latest Windows 10
51993 Ashlar Vellum/DrawingBoard 1.00 redraws incorrectly tooltip bar
51996 aarch64: NtGetContextThread/NtSetContextThread on another thread ignores FPU state due to buggy SIGUSR1 handler
52023 VirtualFree returning error when it should not
52025 Regression: Custom color configuration resets if custom theme is applied
52028 Regression: Themed contents doesn't displays correctly in some themes
52036 Match the pairs card game crashes on start
52058 GTA 1997 autorun.exe does not work
52061 dinput HID joystick sends unnecessary effect update reports.
52067 ntdll MEM_DECOMMIT change breaks d3d10_1:d3d10_1, d3d8:device, d3d8:visual, d3d9:device, d3d9:visual, ddraw:ddraw1, ddraw:dsurface and dxgi:dxgi
52068 hid:device times out randomly in test_get_input_report()
52069 ntdll:virtual fails in test_NtAllocateVirtualMemory() on Windows 10 1709 and older
52072 winmm:mci fails in wow64 Wine
52075 dinput8:device, dinput8:dinput and dinput8:hid cannot run on Windows 7 anymore
52077 Windows PC Health Check crashes on unimplemented function api-ms-win-core-featurestaging-l1-1-0.dll.SubscribeFeatureStateChangeNotification
52093 Installing Insta360 pro stitcher breaks wine completely ( e.g. winecfg gives: malloc(): invalid size (unsorted) Aborted)
52102 outSPOKEN 3.0 demo crashes on unimplemented function krnl386.exe16.GetLPErrMode
52103 Crazy Stone crashes after splash screen
52133 winhttp/wininet should not query mDNS for proxy auto-detection
----------------------------------------------------------------
Changes since 6.22:
Alex Henrie (6):
oleacc/tests: Fix failure messages in test_AccessibleObjectFromEvent.
oleacc/tests: Add AccessibleObjectFromPoint tests.
include: Add featurestagingapi.h.
shcore: Add SubscribeFeatureStateChangeNotification stub.
shcore: Add GetFeatureEnabledState stub.
krnl386: Add GetLPErrMode stub.
Alexandre Julliard (56):
makefiles: Stop creating importlib symlinks.
makefiles: Don't append .fake extension to fake dlls.
makefiles: Add a separate variable to keep track of source test files.
makefiles: Don't use bundled libraries to build native programs.
winmm: Command resources should not depend on pointer size.
ntdll/tests: Fix a test failure on older Windows versions.
makefiles: Don't use bundled libraries to build native Unix libraries.
makedep: Unify the various code paths for module generation.
opencl: Don't call callback functions from the Unix side.
opencl: Convert the Unix library to the __wine_unix_call interface.
wpcap: Convert the Unix library to the __wine_unix_call interface.
ntdll: Fix a buffer overflow in environment variable expansion.
ntdll: Add a helper function to build an import dll name.
ntdll: Add a helper function to append .dll to a module name.
ntdll: Merge the calls to find_builtin_without_file().
wnaspi32: Remove Linux-specific SCSI ioctls.
wnaspi32: Build with msvcrt.
mountmgr: Pass a Unix interface name in the dhcp_request_params ioctl.
mountmgr: Remove the obsolete libhal support.
mountmgr: Pass the SCSI device information when creating a volume.
mountmgr: Add some helpers to abstract the Unix calls from device.c.
mountmgr: Add some helpers to abstract the Unix calls from mountmgr.c.
mountmgr: Move the macOS credentials support to a separate file.
mountmgr: Put the Unix helpers in a separate Unix library.
mountmgr: Return a Unix file name in the IOCTL_MOUNTMGR_QUERY_SYMBOL_FILE request.
mountmgr: Move the DBus support to the Unix library.
mountmgr: Move the DiskArbitration support to the Unix library.
mountmgr: Move the macOS credentials support to the Unix library.
mountmgr: Move the macOS device access check to the Unix library.
mountmgr: Build with msvcrt.
mountmgr: Use wide character string literals.
wineqtdecoder: Remove the QuickTime decoder.
strmbase: Move to the libs directory.
winemac.drv: Fix RegQueryValueExW size handling.
ntdll: Export some Unicode string functions for use in other Unix libraries.
bcrypt: Use the ntdll Unicode string functions instead of wine/unicode.h.
mountmgr: Use the ntdll Unicode string functions instead of wine/unicode.h.
netapi32: Use the ntdll Unicode string functions instead of wine/unicode.h.
winspool: Use the ntdll Unicode string functions instead of wine/unicode.h.
wow64cpu: Implement BTCpuResetToConsistentState().
wow64cpu: Add a stub for BTCpuTurboThunkControl().
wow64: Implement Wow64PrepareForException().
ntdll: Add support for dispatching exception from 32-bit code in Wow64 mode.
ntdll: Don't clear x86-64 registers when receiving a 32-bit context.
wow64: Add handler for exceptions happening in 32-bit mode.
include: Remove some no longer used Unicode functions.
include: Remove wine/port.h.
configure: Fix the netapi check.
wow64: Map the parent process handle in NtCreateUserProcess().
wow64: Add support for user callbacks.
ntdll: Don't try to convert binaries to 64-bit in Wow64 mode.
ntdll: Set the TEB offset for Wow64 mode also in 64-bit.
ntdll: Add fallback implementations for the Unix library functions.
makefiles: Support per-platform values for EXTRADLLFLAGS.
kernel32/tests: Use the correct scanf format for a handle.
rpcrt4/tests: Use the correct scanf format for a handle.
Alistair Leslie-Hughes (1):
dxgi: Silence a noisy fixme.
Andrew Eikum (1):
quartz: Allow time format change while running.
Andrey Gusev (1):
winecoreaudio.drv: Place output message before return statement.
André Zwing (5):
ucrtbase/tests: Don't test functions directly when reporting GetLastError().
sechost: Fix some spec file entries.
wineps: Fix some spec file entries.
iphlpapi: Fix some spec file entries.
gameux/tests: Skip gamestatistic tests on win10 >= 1803.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (2):
gdiplus: Introduce dst palette parameter to convert_pixels().
gdiplus: Add simple test for bitmap clone from rgb values to indexed.
Brendan Shanks (4):
server: Remove workarounds for Mac OS X 10.4.
ntdll: Rename ThreadDescription to ThreadNameInformation.
include: Update the THREADINFOCLASS enumeration.
ntdll: Rename THREAD_DESCRIPTION_INFORMATION to THREAD_NAME_INFORMATION.
Byeong-Sik Jeon (2):
po: Update Korean translation.
po: Update Korean translation.
Chilung Chan (2):
po: Update Traditional Chinese translation.
po: Update Traditional Chinese translation.
Connor McAdams (2):
oleaut32: Implement LPSAFEARRAY user marshal interface marshaling.
oleaut32/tests: Add tests for LPSAFEARRAY user marshal interface marshaling.
Daniel Lehman (2):
kernelbase: Handle UNC path in UrlApplySchemeW.
mscms: Fix uninitialized variable warning.
Dmitry Timoshkov (2):
user32: Add exception handler to GetWindowText.
ole32: Add CreateObjrefMoniker() stub implementation..
Eric Pouech (30):
dbghelp: Fix potential crash when loading a builtin PE module embedded in an ELF image.
dbghelp: Protect against missing compiland when adding global function.
dbghelp/dwarf: Don't unmap the fmap of a DWZ module twice.
dbghelp: Remove incorrect FIXME in SymEnumerateLoadedModules.
dbghelp: In SymEnumerateLoadedModules, don't limit the number of modules.
dbghelp: Fix allocation error in image_load_debugaltlink.
dbghelp: Simplify code for searching alternate debug info files.
configure: Make Dwarf4 the default debug format.
winedbg: Use wide-char string literals.
winedbg: Use I width modifier for DWORD_PTR printf's args.
winedbg: Print 'module+disp' instead of 'func+disp' when the address is after the function.
winedbg: Replace wine_dbgstr_longlong with I64 width modifier.
winedbg: Use macros when manipulating variants.
winedbg: Get size of underlying integral types in enums.
winedbg: Use debuggee pointer size when extracting typed value.
winedbg: Protect against incorrect integer size in be_cpu.fetch_integer() method.
winedbg: Protect fetch_float() in CPU backends against buffer overflow.
winedbg: Be more strict when detecting a string from an array.
winedbg: Support # as comment delimiter in commands.
winedbg: Display line number of syntax errors when reading a command file.
winedbg: Move YY_INPUT implementation to dbg.y.
winedbg: Move lex buffers inside struct parser_context.
winedbg: Don't repeat last command (from empty input) when parsing a file.
winedbg: Properly escape debuggee arguments.
winedbg: Properly handle escaped characters inside strings.
winedbg: Support 'run' command with arguments to restart current debuggee.
winedbg: When enumerating symbols, only search for locals when name doesn't refer to a module.
winedbg: Fixed missing test.
winedbg: Use %ls to print wide character strings.
winedbg: In print_hex, don't print bits not included in size.
Esme Povirk (1):
gdiplus: Mark a Windows behavior as broken.
Florian Will (1):
win32u: Only retrieve the dc size if needed.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (25):
jscript: Treat prototype refs as non-existent when deleting.
jscript: Fixup PROTREF props when looking them up.
jscript: Throw when defining a PROTREF prop on a non-extensible object.
jscript: Support deletion for accessor, builtin and idx props.
jscript: Use to_primitive when getting the default value.
jscript: Use ~0 to mark invalid bucket.
jscript: Access the PROTREF with proper index instead of get_prop.
jscript: Get rid of the value_prop from jsdisp props.
jscript: Replace the value_prop in builtin_info with a call method.
mshtml: Handle VT_DISPATCH in variant_to_nsstr.
nsiproxy: Move set_reply_ip_status to a family op.
nsiproxy: Fill the reply when it's not pending on the unix-side.
nsiproxy: Use a context and fill the reply using a family op.
nsiproxy: Fill the reply with the exact ICMP_ECHO_REPLY in the output buffer.
iphlpapi: Implement async requests for IcmpSendEcho2Ex.
mshtml: Stringify attribute values in setAttribute using string hints in IE10+.
mshtml: Don't populate the props at all on IE9+ modes.
mshtml: Restructure element setAttribute.
mshtml: Restructure element getAttribute.
mshtml: Restructure element removeAttribute.
mshtml: Associate props with attributes for IE8 mode, but keep them stringified.
mshtml: Fix style attribute removal in IE8 mode.
mshtml: Implement value construction for HTMLOptionElementFactory.
mshtml: Implement index access for HTMLStyleSheetsCollection.
mshtml: Implement index access for HTMLStyleSheetRulesCollection.
Georg Lehmann (3):
winevulkan: Update to VK spec version 1.2.200.
winevulkan: Update to VK spec version 1.2.201.
winevulkan: Fix concurrent modification in struct decoupling.
Gerald Pfeifer (1):
configure: Diagnose if NetAPI is not present.
Hans Leidekker (8):
ws2_32: Implement AI_DNS_ONLY using DNS APIs.
winhttp: Use DNS only for proxy auto-detection.
wininet: Use DNS only for proxy auto-detection.
wbemprox: Add a stub MSSMBios_RawSMBiosTables implementation.
bcrypt: Return export size from export_gnutls_datum().
bcrypt: Add support for exporting RSA private keys.
bcrypt/tests: Link directly to functions available since Windows 7.
bcrypt: Use CRT memory allocators.
Henri Verbeet (10):
wined3d: Respect the BO buffer offset in create_buffer_texture().
wined3d: Respect the BO buffer offset in wined3d_unordered_access_view_gl_clear().
wined3d: Respect the BO buffer offset in wined3d_buffer_gl_upload_ranges().
wined3d: Respect the BO buffer offset in wined3d_context_gl_copy_bo_address().
wined3d: Do not add the BO address offset when calling glFlushMappedBufferRange().
wined3d: Don't return the BO address offset if glMapBuffer() fails.
wined3d: Always map the whole OpenGL buffer.
wined3d: Do not pass an offset and size to wined3d_bo_gl_map().
wined3d: Respect the BO memory offset in wined3d_context_gl_map_bo_address().
wined3d: Map OpenGL adapter BOs persistently on 64-bit architectures.
Hugh McMaster (6):
kernel32/tests: Test whether every element of the CPINFO.LeadByte array is NUL.
kernelbase: Write NUL bytes to CPINFO.LeadByte for the CP_UTF7 and CP_UTF8 code pages.
conhost: Only use the maximum character width if a double-byte character set is in use.
chcp: Add internationalization support.
chcp: Print the active code page after successfully setting the new one.
chcp: Add a help string.
Huw D. M. Davies (64):
winecoreaudio: Use NtAllocateVirtualMemory() for local and tmp buffers.
winecoreaudio: Move creation of the audio unit to IAudioClient_Initialize().
winecoreaudio: Pass the stream directly to silence_buffer().
winecoreaudio: Pass the stream separately to ca_setvol().
winecoreaudio: Use the presence of stream to indicate the init state.
winecoreaudio: Move create_stream and release_stream to the unixlib.
winecoreaudio: Move get_mix_format to the unixlib.
winecoreaudio: Move is_format_supported to the unixlib.
winecoreaudio: Add a temporary capture_resample syscall.
winecoreaudio: Move get_buffer_size to the unixlib.
winecoreaudio: Move get_latency to the unixlib.
winecoreaudio: Move get_current_padding to the unixlib.
winecoreaudio: Move start to the unixlib.
winecoreaudio: Move stop to the unixlib.
winecoreaudio: Move reset to the unixlib.
winecoreaudio: Move get_render_buffer to the unixlib.
winecoreaudio: Move release_render_buffer to the unixlib.
winecoreaudio: Move get_capture_buffer to the unixlib.
winecoreaudio: Move release_capture_buffer to the unixlib.
winecoreaudio: Release the critical section in the no interface case.
winecoreaudio: Release the correct stream on init failure.
winecoreaudio: Move get_next_packet_size to the unixlib.
winecoreaudio: Move get_position to the unixlib.
winecoreaudio: Move get_frequency to the unixlib.
winecoreaudio: Move is_started to the unixlib.
winecoreaudio: Move set_volumes to the unixlib.
winecoreaudio: Make the coreaudio_stream structure private to the unixlib.
winecoreaudio: Store the device id as a DWORD.
winecoreaudio: Remove system includes.
winecoreaudio: Avoid 64-bit ptr truncation.
winecoreaudio: Temporarily move MIDIOut_Send() to audiounit.c.
winecoreaudio: Combine MIDIIn_SendMessage into MIDIIn_ReadProc.
winecoreaudio: Move midi_init and midi_release to the unixlib.
winecoreaudio: Move midi_out_open to the unixlib.
winecoreaudio: Move midi_out_close to the unixlib.
winecoreaudio: Move midi_out_data to the unixlib.
winecoreaudio: Move midi_out_long_data to the unixlib.
winecoreaudio: Move midi_out_prepare and midi_out_unprepare to the unixlib.
winecoreaudio: Move midi_out_get_devcaps to the unixlib.
winecoreaudio: Move midi_out_get_num_devs to the unixlib.
winecoreaudio: Move midi_out_[gs]et_volume to the unixlib.
winecoreaudio: Move midi_out_reset to the unixlib.
winecoreaudio: Move midi_in_open to the unixlib.
winecoreaudio: Move midi_in_close to the unixlib.
winecoreaudio: Move midi_in_prepare and midi_in_unprepare to the unixlib.
winecoreaudio: Move midi_in_get_devcaps to the unixlib.
winecoreaudio: Move midi_in_get_num_devs to the unixlib.
winecoreaudio: Move midi_in_start and midi_in_stop to the unixlib.
winecoreaudio: Move the midi in lock to the unixlib.
winecoreaudio: Move midi_in_add_buffer to the unixlib.
winecoreaudio: Pass the time relative to the start time to the callback.
winecoreaudio: Move midi_in_reset to the unixlib.
winemac: Remove unused variable.
ntdll: Move the FILE ptr into the blocks that use it.
winecoreaudio: Introduce a helper to retrieve the time.
winecoreaudio: Introduce a notification thread.
winecoreaudio: Move the midi input event processing to the unixlib.
winecoreaudio: Switch midi_in_lock() away from a syscall prototype.
winecoreaudio: Always start the notification thread.
winecoreaudio: Build with msvcrt.
netapi32: Return the length in characters not bytes.
winemac: Include missing dlfcn.h.
winealsa: Don't acquire the sessions lock after the client lock.
wineoss: Don't acquire the sessions lock after the client lock.
Ivo Ivanov (8):
winebus.sys: Support arbitrary effect parameter updates.
dinput: Send only the reports that have been modified.
dinput: Mark effect parameters as modified when duration is set.
dinput8/tests: Add a device gain report to test_device_managed_effect.
dinput8/tests: Add some more GetForceFeedbackState / GetEffectStatus tests.
dinput: Send Device Gain Reports only on DISFFC_RESET command.
dinput: Fix incorrect use of constant_force instead of ramp_force.
dinput: Check cbTypeSpecificParams before lpvTypeSpecificParams.
Jacek Caban (24):
win32u: Implement NtUserGetDisplayConfigBufferSizes.
win32u: Introduce UpdateDisplayDevice user driver entry point.
win32u: Implement GPU registration.
win32u: Implement display adapter registration.
win32u: Implement monitor registration.
winex11.drv: Use gdi driver types for display device handler.
win32u: Implement NtUserEnumDisplayDevices.
user32: Invalidate cache in update_monitor_cache when modification time matches current time.
winex11.drv: Use UpdateDisplayDevices driver entry point for registering devices.
user.exe: Use WINPROC_CallProc16To32A for DefWindowProc16.
user32: Use NtUserGetDisplayConfigBufferSizes.
win32u: Move NtUserEnumDisplaySettings implementation from user32.
wineandroid.drv: Use UpdateDisplayDevices driver entry point for registering devices.
winemac.drv: Use UpdateDisplayDevices driver entry point for registering devices.
win32u: Move GetMonitorInfo implementation from user32.
win32u: Move NtUserEnumDisplayMonitors implementation from user32.
win32u: Handle invisible winstations in lock_display_devices.
win32u: Introduce get_virtual_screen_rect.
win32u: Move NtUserChangeDisplaySettings implementation from user32.
win32u: Move NtUserShowCursor implementation from user32.
win32u: Move NtUserGetCursor implementation from user32.
win32u: Move NtUserGetKeyboardLayoutName implementation from user32.
win32u: Use NtUserCallOneParam instead of GDIRealizePalette.
win32u: Use NtUserSelectPalette instead of GDISelectPalette.
Jactry Zeng (2):
include: Add ISharedPropertyGroupManager interface.
comsvcs: Stub ISharedPropertyGroupManager interface.
Jan Sikorski (2):
ntdll: Save status from attaching dependencies in process_attach().
wined3d: Always set GL_PIXEL_UNPACK_BUFFER binding before calling wined3d_texture_gl_upload_bo().
Jinoh Kang (17):
winedbg: Refactor gdb_context::out_{buf*,len} into reply_buffer.
winedbg: Use exponential growth in gdbproxy reply_buffer_grow.
winedbg: Buffer output of GDB qXfer commands for proper slicing.
winedbg: Escape XML special characters in qXfer reply.
winedbg: Define table for GDB qXfer command handlers.
winedbg: Cache GDB qXfer command result for chunked fetching.
winedbg: Implement GDB qXfer object exec-file.
ntdll: Save/restore FPU context in arm64 signal handlers.
server: Implement the \??\GLOBALROOT symbolic link.
msi/tests: Add tests for MsiViewFetch wraparound behaviour.
msi: Wrap around to first record at end of view in MSI_ViewFetch.
ntdll/tests: Add tests for NtCompareObjects.
ntdll: Implement NtCompareObjects.
kernelbase/tests: Add tests for CompareObjectHandles.
kernelbase: Implement CompareObjectHandles.
kernel32/tests: Add tests for EnumCalendarInfo(Ex).
kernelbase: Fix infinite loop in Internal_EnumCalendarInfo.
Matteo Bruni (5):
d3dx9/tests: Clean up GetMatrixTransposePointerArray() tests.
d3dx9/tests: Clean up test_update_semantics() a bit.
Revert "ntdll: Implement NtYieldExecution() as usleep().".
ntdll: Call usleep() instead of NtYieldExecution() in NtDelayExecution().
wined3d: Declare gl_Position as invariant.
Michael Stefaniuc (1):
dmloader: Drop ifdef'ed out dead code.
Mohamad Al-Jaf (3):
api-ms-win-appmodel-runtime-l1-1-0: Add new dll.
uiautomationcore: Add UiaRaiseAutomationPropertyChangedEvent stub.
kernelbase: Add SetCachedSigningLevel stub.
Nick Fox (2):
kernel32: Add tests for LdrGetDllPath with LOAD_WITH_ALTERED_SEARCH_PATH.
ntdll: Fix LdrGetDllPath with LOAD_WITH_ALTERED_SEARCH_PATH without a path.
Nikolay Sivov (21):
mf/tests: Attempt to fix test crashes on some test boxes.
include: Add mfd3d12.idl.
mfplat: Add mfd3d12 attributes to tracing.
dxva2: Introduce progressive processor device.
d3d10/effect: Fix freed register table pointer (Coverity).
d3d10/effect: Parse through value expressions.
d3d10/effect: Handle vector arguments in expression instructions.
mfplat: Explicitly check for d3d device interface in ResetDevice().
mfplat/tests: Split video sample allocator tests per device type.
mfplat/tests: Add some tests for video sample allocator using D3D12 device.
dxva2/tests: Fix some test failures on HW devices.
user.exe: Fix WM_ERASEBKGND HDC param conversion in WINPROC_CallProc16To32A.
dwrite: Create backend font objects for faces.
dwrite: Use per-instance font object for GetGlyphCount().
dwrite: Do not use freetype cache for design glyph metrics.
dwrite: Allocate outline buffers on PE side.
dwrite: Use CRT allocation functions.
mfplat/tests: Add a test for buffers created for d3d12 resources.
d3d10/effect: Use first element when index expression evaluates to out of bounds value.
mfplat: Trace types passed to MFTEnum*.
include: Add print document package interfaces.
Paul Gofman (15):
advapi32: Improve perflib provider registration stubs.
advapi32: Improve PerfSetCounterSetInfo() stub.
advapi32: Improve PerfCreateInstance() stub.
advapi32: Improve PerfSetCounterRefValue() stub.
kernelbase: Add stub for PrefetchVirtualMemory().
ntdll: Fix context arch flag cleanup for AMD64 in context_from_server().
windowscodecs: Return stub IEnumString from mqr_GetEnumerator().
windowscodecs: Return stub IEnumString from mqw_GetEnumerator().
windowscodecs/tests: Add basic test for IWICMetadataQueryWriter_GetEnumerator().
include: Define ISpeechSynthesizer interface.
windows.media.speech: Add stub SpeechSynthesizer class.
d3d9/tests: Add more tests for fullscreen window size reset.
kernel32: Use uppercase ntdll name in forwarded exports.
ntdll/tests: Fix iret to invalid selector test on x64.
ntdll: Set rcx on exit from syscall dispatcher on x64.
Piotr Caban (5):
msvcp140: Fix time_get<char>::get_monthname spec file entry.
oleacc: Add partial Window_accHitTest implementation.
oleacc: Add AccessibleObjectFromPoint implementation.
make_specfiles: Merge -arch options if there are multiple exports with the same name.
msvcr100: Add _Timer class implementation.
Robert Wilhelm (2):
scrrun: Extract code to new helper function build_path.
scrrun: Implement folder_CreateTextFile.
Rémi Bernon (22):
winebus.sys: Initialize last_report length and buffer.
dinput8/tests: Use WaitForSingleObject instead of GetOverlappedResultEx.
dinput8/tests: Add some partial effect update tests.
dinput: Send -1 for infinite durations in HID reports.
dinput8/tests: Add some GetForceFeedbackState / GetEffectStatus tests.
dinput: Stub support for DIPROP_FFLOAD device property.
dinput: Stub IDirectInputDevice8_GetForceFeedbackState implementation.
dinput: Stub HID joystick GetEffectStatus implementation.
dinput8/tests: Provide an explicit test context to the driver.
dinput8/tests: Add a check_buffer helper to print buffer data.
dinput8/tests: Add dwStartDelay / dwDuration GetEffectStatus tests.
dinput: Improve GetForceFeedbackState / GetEffectStatus stubs.
dinput8/tests: Add more effect direction tests.
winebus.sys: Rotate directions to match the backend conventions.
hidclass.sys: Only drop input reports when length is too short.
winebus.sys: Add a PID effect state input report.
dinput: Look for the PID effect state input report.
dinput: Fully implement GetForceFeedbackState / GetEffectStatus.
winebus.sys: Send PID effect state reports for SDL devices.
winebus.sys: Send PID effect state reports for UDEV lnxev devices.
dinput: Set internal params lpvTypeSpecificParams in Initialize.
dinput: Factor all type specific parameter handling together.
Thomas Faber (1):
comctl32/tests: Fix DC handle leak.
Vijay Kiran Kamuju (4):
ntdll: Implement RtlInitializeGenericTable.
ntdll: Implement RtlNumberGenericTableElements.
ntdll: Add stub RtlGetElementGenericTable function.
ntdll: Add stub RtlLookupElementGenericTable function.
Zebediah Figura (33):
wined3d: Move the "buffer_offset" field to struct wined3d_bo.
wined3d: Respect the BO address offset when uploading data from the CPU in wined3d_texture_gl_download_data_slow_path().
wined3d: Allow OpenGL pixel unpack buffer objects to be suballocated from a larger buffer.
wined3d: Allow OpenGL indirect dispatch buffer objects to be suballocated from a larger buffer.
wined3d: Allow OpenGL indirect draw buffer objects to be suballocated from a larger buffer.
gdi32/tests: Test whether D3DKMTDestroyDCFromMemory() frees the DC memory.
win32u: Do not free user memory when deleting dibs created with NtGdiDdDDICreateDCFromMemory().
wined3d: Respect the BO address offset when flipping the framebuffer in software.
wined3d: Allow OpenGL pixel pack buffer objects to be suballocated from a larger buffer.
wined3d: Respect the BO buffer offset in wined3d_buffer_gl_download_ranges().
ntdll: Allow loading system DLLs from a path specified at configure time.
ntdll: Prevent loading Wine system dependencies in place of identically named application DLLs.
ddraw/tests: Pass the correct size to VirtualQuery().
strmbase: Remove the no longer used output queue helper.
include: Do not include wine/list.h in wine/strmbase.h.
configure: Fix the makefile path for libxml2 and libxslt.
makedep: Check for external libraries instead of include paths when determining whether to allow external includes.
configure: Don't use a bundled include path if external linker flags are specified.
wined3d: Always set GL_PIXEL_PACK_BUFFER binding before downloading texture data.
wined3d: Always set GL_PIXEL_PACK_BUFFER binding in texture2d_read_from_framebuffer().
include: Add _fpreset().
ntdll: Remove the no longer used "mutex" argument to server_select().
wined3d: Always set GL_PIXEL_UNPACK_BUFFER binding in wined3d_texture_gl_allocate_mutable_storage().
wined3d: Always set GL_PIXEL_UNPACK_BUFFER binding in glsl_blitter_upload_palette().
configure: Try to detect MinGW zlib using pkg-config if --with-system-dllpath is specified.
configure: Try to detect MinGW FAudio using pkg-config if --with-system-dllpath is specified.
configure: Try to detect MinGW libjpeg using pkg-config if --with-system-dllpath is specified.
configure: Try to detect MinGW liblcms2 using pkg-config if --with-system-dllpath is specified.
configure: Try to detect MinGW libmpg123 using pkg-config if --with-system-dllpath is specified.
configure: Try to detect MinGW libpng using pkg-config if --with-system-dllpath is specified.
configure: Try to detect MinGW libtiff using pkg-config if --with-system-dllpath is specified.
configure: Try to detect MinGW libxml2 using pkg-config if --with-system-dllpath is specified.
configure: Try to detect MinGW libxslt using pkg-config if --with-system-dllpath is specified.
Zhiyi Zhang (6):
comctl32/tests: Add an optional message to avoid test failures.
explorerframe/tests: Add ITaskbarList tests.
explorerframe: Implement taskbar_list_DeleteTab() for x11 driver.
explorerframe: Implement taskbar_list_AddTab() for x11 driver.
uxtheme: Use StretchBlt() when resizing a source image for tiling.
uxtheme: Call DefDlgProc() if drawing tab body in a dialog fails.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.22 is now available.
What's new in this release (see below for details):
- Mono engine updated to version 7.0.0.
- Exception unwinding on ARM.
- More improvements to HID joystick support.
- WoW64 thunks in a number of Unix libraries.
- Beginnings of moving USER32 to Win32u.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.22.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.22.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 6.22 (total 29):
21572 KFSensor 4.x/5.x: 'kfsnserv.exe' service fails to reliably stop/start/restart
22260 Total Commander 7.x/8.x: editable dropdown is gray when opened and empty
30498 Shadows broken on many games because of wrong depth formats
38278 Multiple apps and games need wmvcore.dll.WMReader_Open implementation (Nail'd demo)
42030 winedbg: Internal crash at 0x9f58fd40
45130 Builtin xaudio2_7.dll break audio and slow down performance for some games since wine 3.5
45443 Diablo 3: Starting the game causes a black screen softlock on the X-environment
46512 Window text has last letter cut off
47119 winedbg truncates 64-bit address when compiled with mingw
49409 Monkey Island 2 Special Edition crash / freeze with built-in xactengine3_6
49803 WIDL cannot import TLBs stored as resources in PE, such as stdole32.tlb and stdole2.tlb (even though both have tlb extension, they are essentially PE)
50292 Process-local synchronization objects use private interfaces into the Unix library
50757 (Regression) Hyperdimension Neptunia Re;Birth1 Crashes/freezes frequently with FAudio
51027 Fonts blurred for some words in Logos Bible Software
51587 Force feedback strength is really low in multiple games
51864 VeraCrypt Installer for 1.24-Update7 (Win8+) fails with HRESULT 0x800288BD
51916 Empire Earth 2 UP 1.5: ImageButtons don't render right with custom themes
51938 Safe Exam Browser needs "DNSDomain" from Win32_NetworkAdapterConfiguration
51944 Resident Evil 6 stops to a black screen instead of playing videos
51953 Joystick not detected for some older games with wine 6.20
51956 Morrowind: freezes when control keys are changing
51968 Winaero WEI Tool: Crash due to C:\windows\performance\winsat\datastore missing
51970 Memento Mori needs output_props_GetType
51978 Autodesk Fusion 360 crashes on unimplemented function msvcp140.dll.?table@?$ctype@D@std@@QEBAPEBFXZ
51983 foobar2000 v1.5.1+ crashes on startup with Wine v6.6+ with Windows version set to "Windows 10"
52022 Multiple games have unresponsive mouse/keyboard (Borderlands GOTY Enhanced, Tom Clancy's Rainbow Six Siege, Resident Evil Revelations)
52044 Safe exambrowser needs msctfmonitor.dll
52051 Oceanhorn: Monster of Uncharted Seas fails to start (uses WINED3DFMT_R8G8_UINT in vertex declaration)
52052 Wine doesn't show any window while creating/updating 64-bit prefix
----------------------------------------------------------------
Changes since 6.21:
Akihiro Sagawa (2):
gdi32/tests: Test substituted face family name.
win32u: Use a real family name as otmpFamilyName for substituted face.
Alexandre Julliard (52):
avicap32: Implement Wow64 entry points in the Unix library.
ctapi32: Implement Wow64 entry points in the Unix library.
dnsapi: Implement Wow64 entry points in the Unix library.
gphoto2.ds: Implement Wow64 entry points in the Unix library.
netapi32: Implement Wow64 entry points in the Unix library.
sane.ds: Implement Wow64 entry points in the Unix library.
bcrypt: Implement Wow64 entry points in the Unix library.
msv1_0: Define the communication structure only on the Unix side.
msv1_0: Implement Wow64 entry points in the Unix library.
qcap: Implement Wow64 entry points in the Unix library.
winspool.drv: Implement Wow64 entry points in the Unix library.
ntdll: Create a remote thread in DbgUiIssueRemoteBreakin().
makefiles: Substitute all defined variables in the main makefile.
makefiles: Generate the top makefile entirely from configure.
makefiles: Explicitly import all the needed libraries.
wrc: Ignore the target option.
wrc: Windows file formats are always little-endian.
wmc: Windows file formats are always little-endian.
widl: Windows file formats are always little-endian.
wrc: Support only single directories with the -I option.
widl: Support loading typelibs stored inside PE files.
widl: Search for imported typelibs in the library search path.
makefiles: Make importlib dependencies point to their respective dll.
include: Stop building tlb files in the include directory.
configure: Regenerate with autoconf 2.71.
tools: Upgrade the config.guess/config.sub scripts.
gdi32/tests: Use the OS/2 last char for the Ansi charset limit.
makefiles: Don't copy the source makefile into the sub-directory stub makefiles.
makefiles: Always use winebuild to build static libraries.
makefiles: Do not install external libraries.
Revert "oleaut32: Implement TLB dependencies lookup in resources."
oleaut32/tests: Use TYPELIB resource type for all typelibs.
makefiles: Directly generate resources also for non-registered typelibs.
winebuild: Escape invalid characters in the dll name for static import libraries.
makefiles: Use static importlibs on all platforms.
winegcc: Don't link directly to ntdll or ntoskrnl import libraries.
winebuild: Avoid resolving standard C functions with static importlibs.
makefiles: Don't add msvcrt import in dlls built as part of the tests.
capi2032: Build as a pure Unix library.
ctapi32: Build as a pure Unix library.
msvcrt: Don't forward string functions to ntdll.
msvcrt: Don't forward itoa() functions to ntdll.
wow64win: Add missing thunk for NtUserGetKeyboardLayout().
winegcc: Get rid of PowerPC support.
winebuild: Get rid of PowerPC support.
widl: Get rid of PowerPC support.
tools: Move target CPU and platform handling to the common tools.h header.
winegcc: Support an explicit --fake-module option.
makefiles: Split the module generation into several helper functions.
ntdll: Fix handling of zero size with MEM_DECOMMIT.
ntdll: Fix a compiler warning on macOS.
makedep: Use a separate variable for cross-compiled importlib objects.
Alistair Leslie-Hughes (18):
msdasql: Implement IDBProperties SetProperties.
include: Add transact.idl to oledb.idl.
include: Add trnjoi.idl.
msdasql: Trace session interfaces.
msdasql: Correct default dialect logic.
msdasql: Fix use after free (Coverity).
include: Add define SQL_OV_ODBC3_80.
msdasql: Fixup GetCommandText wrt dialect.
msdasql: Fix initial query value.
include: Add SQLGetDiagFieldW prototype.
msdasql: IDBProperties doesn't support DBPROPSET_DATASOURCEINFO property set.
msdasql: Implement IRowsetInfo GetSpecification.
include: Add more DBPROPVAL_ defines.
msdasql: Add ICommandWithParameters to command interface.
msdasql: Support NULL dialect in GetCommandText.
msdasql: Return S_OK in ICommandPrepare Un/Prepare.
msdasql: Move ICommandWithParameters to the correct interface.
msdasql: Implement IGetDataSource GetDataSource.
Andrew Eikum (1):
msvcrt: Better handle multiple width specifiers.
Andrey Gusev (1):
wined3d: Add WINED3DFMT_R16_FLOAT vertex format.
André Zwing (1):
avicap32: Fix typo in comment.
Arkadiusz Hiler (2):
msvcrt: Increase module's reference count before returning from _beginthread[ex]().
ucrtbase/tests: Test for FreeLibrary() vs _beginthread[ex]() race condition.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Aurélien Inacio (1):
win32u: Use 7-bit ascii for unhandled encodings.
Bernhard Kölbl (2):
xml2: Use MSVC constants for NaN and infinity.
gdiplus: Add pixel conversions to 4bpp indexed.
Brendan Shanks (2):
sechost: Fix hang when a device notification callback tries to register/unregister a notify.
winemac.drv: Remove workarounds for Mac OS X 10.6 and earlier.
Chilung Chan (1):
po: Update Traditional Chinese translation.
Connor McAdams (6):
include: Update existing provider definitions in uiautomationcore.idl.
include: Define more provider interfaces in uiautomationcore.idl.
include: Update existing PROPERTYIDs in uiautomationclient.idl.
include: Add UI Automation Pattern ID definitions.
uiautomationcore: Implement UiaHostProviderFromHwnd.
uiautomationcore/tests: Expand UiaHostProviderFromHwnd tests.
Damjan Jovanovic (1):
server: Implement vm counters on FreeBSD.
Dmitry Timoshkov (5):
kernel32/tests: Add a test for loading manifest from resources.
ntdll: Return correct status when manifest could not be loaded from file.
crypt32: Avoid truncating unicode chars.
ntoskrnl: Add IoCreateDeviceSecure semi-stub.
comctl32: Add semi-stub for ImageList_WriteEx.
Doug Lyons (1):
msvcrt: Do not acquire fd lock in msvcrt_create_io_inherit_block.
Eduard Permyakov (1):
dsound: Correctly report hardware audio buffers as unsupported.
Eric Pouech (39):
winedump: Fix computation of signed integers in codeview symbol's annotations.
dbghelp: Check that we don't add same line number twice.
dbghelp: Attach a struct cpu* to every module.
dbghelp: Use module's cpu word size instead of sizeof(void*) or sizeof(DWORD_PTR).
dbghelp: Use cpu from debuggee's modules rather than debugger's.
dbghelp/pdb: Add new basic type to represent char8_t introduced in C++20.
dbghelp/pdb: Handle S_LOCAL codeview entries.
dbghelp/pdb: Implement loc_compute for pdb backend.
dbghelp/pdb: Introduce codeview_init_type_parse() to handle init of type streams.
dbghelp/pdb: Let codeview_snarf() handle all module debug information.
dbghelp/pdb: Added support for S_INLINESITE and S_INLINESITE_END.
dbghelp/pdb: Handle a block in DEBUG_S_LINES subsection spreading across several symbols.
dbghelp/pdb: Add line number to inline sites.
dbghelp/pdb: Fix start adress of block.
dbghelp/msc: Better detect whether IPI stream is present.
winedump: Better detect whether IPI stream is present.
mscvpdb.h: Fix string types.
winedump: Add some more codeview entries.
winedump: Pass start offset when dumping symbols.
winedump: No longer print current function.
winedump: Properly indent multi lines symbol records.
winedump: Better handle display of nested symbol entries.
dbghelp/dwarf: Introduce a helper to read properly multiple range of addresses.
dbghelp/dwarf: Workaround functions with multiple range of addresses.
winedbg: Fix command line arguments parsing.
winedump: Setup a context in symbol_dumper for S_SEPCODE.
winedump: Define and dump POGO codeview record.
dbghelp: Relax some failure conditions in SymSetContext and SymSetScopeFromAddr.
dbghelp/dwarf: Make use of AT_type if present when parsing an enumeration type.
dbghelp/dwarf: Don't register labels without address.
dbghelp/dwarf: Fix computation of some location attributes.
dbghelp/msc: Silence a couple of unneeded codeview entries while parsing PDB.
dbghelp/msc: Support S_SEPCODE codeview record.
dbghelp: Fix module name construction.
dbghelp: Always search current directory when loading PE modules.
dbghelp: Allow 32bit dbghelp to handle 64 addresses.
dbghelp: Move debug info loading out of image backends into SymLoadModuleEx().
dbghelp: Detect collision by looking at module's base address in SymLoadModuleEx().
dbghelp: Improve collision handling in SymLoadModuleEx().
Esme Povirk (2):
mscoree: Update Wine Mono to 7.0.0.
mfplat: Allow deleting open files.
Floris Renaud (2):
po: Update Dutch translation.
winecfg: Add the command line options to the man page.
Gabriel Ivăncescu (5):
mshtml: Implement inline attributes parsing for createElement.
comctl32: Redraw children when the combo box is dropped down.
user32: Redraw children when the combo box is dropped down.
mshtml: Clear the string dprop associated with the builtin attribute when removing it.
mshtml: Actually set the return value when removing an attribute.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.2.199.
Hans Leidekker (1):
ipconfig: Print primary DNS suffix.
Henri Verbeet (6):
ddraw: Use wined3d_bit_scan() in compute_sphere_visibility().
ntdll: Only add a module dependency if import_dll() returned a modref.
wined3d: Allow OpenGL vertex buffer objects to be suballocated from a larger BO.
wined3d: Allow OpenGL index buffer objects to be suballocated from a larger BO.
wined3d: Allow OpenGL uniform buffer objects to be suballocated from a larger buffer.
wined3d: Allow OpenGL atomic counter buffer objects to be suballocated from a larger buffer.
Hugh McMaster (2):
kernel32/tests: Add tests for the current console font size.
kernel32: Return font size, not screen buffer size, from GetCurrentConsoleFontEx.
Huw D. M. Davies (6):
winecoreaudio: Move DriverProc to midi.c.
winecoreaudio: Move get_endpoint_ids to a unixlib.
winecoreaudio: Introduce a stream structure.
winecoreaudio: Use the global lock to lock the session.
winecoreaudio: Use the global lock to protect the audio client.
winecoreaudio: Store the channel count and period_ms directly in the audio client.
Ismael Luceno (1):
server: Fix missing include for uid_t.
Ivo Ivanov (21):
dinput: Stop calling SendForceFeedbackCommand on device destroy.
dinput: Unacquire device when last public reference is released.
dinput: Remove some extremely verbose traces, and fix typos.
dinput: Always return a valid string from effect_guid_to_string.
dinput: Fix HID joystick set_ramp_force end_caps lookup.
dinput: Remove redundant check for DIEP_DIRECTION.
dinput: Set effect block index in the second type specific report.
dinput: Pass buffer byte length to HidD_GetProductString.
winebus.sys: Accept whitespaces in strings parsed from uevent.
dinput: Return DI_DOWNLOADSKIPPED from SetParameters.
dinput: Return DI_OK when HID joystick CreateEffect succeeds.
dinput: Move set_parameter_value helper around.
include: Declare DIPROP_(PHYSICAL|LOGICAL)RANGE properties.
dinput: Add support for DIPROP_(PHYSICAL|LOGICAL)RANGE properties.
winebus.sys: Add PID_USAGE_PARAMETER_BLOCK_OFFSET in the set condition report.
dinput: Introduce a new set_parameter_value_angle helper.
dinput: Fix single-axis effects direction values.
joy.cpl: Allow devices as steering wheels, that only support single-axis effects.
dinput: Look for the device managed effect creation reports.
dinput: Write PID_USAGE_PARAMETER_BLOCK_OFFSET in the set condition report.
dinput: Support creating effects using device managed reports.
Jacek Caban (37):
win32u: Move NtUserGetLayeredWindowAttributes implementation from user32.
win32u: Move NtUserSetProp implementation from user32.
win32u: Move NtUserGetProp implementation from user32.
win32u: Move NtUserRemoveProp implementation from user32.
win32u: Don't use free_region in alloc_region.
explorer: Set lib name for null driver.
winebuild: Use find_clang_tool for ld and nm tools.
user32: Introduce user_driver_funcs struct.
user32: Use user_driver_funcs to expose user driver function from drivers.
win32u: Use user_driver_funcs to pass driver to __wine_set_display_driver.
win32u: Move null user driver implementation from user32.
win32u: Move NtUserCountClipboardFormats implementation from user32.
win32u: Move NtUserGetClipboardFormatName implementation from user32.
win32u: Move NtUserIsClipboardFormatAvailable implementation from user32.
win32u: Move NtUserGetClipboardOwner implementation from user32.
win32u: Move NtUserGetClipboardViewer implementation from user32.
win32u: Move NtUserGetUpdatedClipboardFormats implementation from user32.
win32u: Move NtUserGetClipboardSequenceNumber implementation from user32.
win32u: Move NtUserAddClipboardFormatListener and NtUserRemoveClipboardFormatListener implementations from user32.
win32u: Move NtUserGetPriorityClipboardFormat implementation from user32.
win32u: Move NtUserAttachThreadInput implementation from user32.
win32u: Move NtUserGetKeyState implementation from user32.
win32u: Move NtUserGetKeyboardState implementation from user32.
win32u: Move NtUserSetKeyboardState implementation from user32.
win32u: Move NtUserVkKeyScanEx implementation from user32.
win32u: Move NtUserMapVirtualKeyEx implementation from user32.
win32u: Move NtUserGetKeyboardLayout implementation from user32.
win32u: Move NtUserGetKeyNameText implementation from user32.
win32u: Move NtUserGetOpenClipboardWindow implementation from user32.
win32u: Move NtUserToUnicodeEx implementation from user32.
win32u: Move NtUserActivateKeyboardLayout implementation from user32.
win32u: Move NtUserGetKeyboardLayoutList implementation from user32.
win32u: Move NtUserUnregisterHotKey implementation from user32.
win32u: Move NtUserGetMouseMovePointsEx implementation from user32.
win32u: Move NtUserScrollDC implementation from user32.
user32: Don't load cursor inside user lock in register_builtin.
user32: Move register_builtin_classes call to GetDesktopWindow.
Jan Sikorski (5):
wined3d: Acquire references to blend states in deferred contexts.
wined3d: Acquire references to rasterizer states in deferred contexts.
wined3d: Acquire references to depth stencil states in deferred contexts.
wined3d: Acquire references to shaders in deferred contexts.
wined3d: Acquire references to samplers in deferred contexts.
Jinoh Kang (11):
win32u: Remove EMFDRV_StretchDIBits and EMFDRV_SetDIBitsToDevice.
gdi32/tests: Add tests for recording StretchDIBits in EMFs.
gdi32/tests: Add tests for recording SetDIBitsToDevice in EMFs.
gdi32: Fix bounding box calculation for EMR_STRETCHDIBITS.
gdi32: Allow passing BITMAPINFO with bmiHeader.biSizeImage == 0 for EMF DC.
gdi32: Calculate effective number of scan lines and truncate bitmap bits for EMR_SETDIBITSTODEVICE.
winedbg: Report current thread ID to GDB for all stop replies.
winedbg: Set reuseaddr flag for gdb remote socket.
winedbg: Replace packet_realloc() with realloc().
winedbg: Use unsigned int for offset/length in GDB qXfer handler.
winedbg: Escape special characters in GDB packet reply.
Louis Lenders (4):
wbemprox: Add empty DNSDomain to Win32_NetworkAdapterConfiguration.
combase: Add stub for RoOriginateError.
msctfmonitor: Add stub dll.
msctfmonitor: Add stub for InitLocalMsCtfMonitor.
Mark Jansen (1):
comctl32: Safely handle large wParam in SB_GETPARTS.
Martin Storsjö (20):
ntdll/tests: Remove an accidental, unused macro in arm64 exception tests.
ntdll: Print an error if unable to unwind due to missing libunwind on arm64.
ntdll: Don't blindly increment Sp by 8 in leaf functions on arm64.
kernel32: Update arch availability for Rtl* forwards to ntdll.
ntdll: Implement RtlVirtualUnwind for arm.
ntdll/tests: Add tests for RtlVirtualUnwind for arm.
winedump: Print the whole multibyte unwind opcode for arm.
winedump: Distinguish between 16 and 32 bit nop opcodes in ARM unwind data.
winedump: Fix printing of the prologue version of the "ldr lr, [sp], #offset" opcode.
winedump: Rewrite dumping of packed ARM unwind info.
ntdll: Fix arm call_user_exception_dispatcher with kernel stack for syscalls.
ntdll: Save context->Lr in the arm version of RtlRaiseException.
ntdll: Include d0-d15 in RtlCaptureContext.
ntdll: Remove stack gap in syscalls on arm.
ntdll: Implement stack unwinding on arm.
ntdll: Implement __C_specific_handler and __jump_unwind for arm.
ucrtbase: Hook up __intrinsic_setjmpex for arm.
msvcrt: Don't set frame to 0 in arm and arm64 setjmp.
ntdll: Error out if unwinding isn't progressing on arm.
ntdll: Subtract an offset from pc if dispatch->ControlPcIsUnwound on arm.
Mohamad Al-Jaf (2):
kernelbase: Implement AppPolicyGetMediaFoundationCodecLoading.
kernel32: Forward AppPolicyGetMediaFoundationCodecLoading to kernelbase.
Nikolay Sivov (17):
mf/session: Implement IsRateSupported().
mf/session: Get rid of some interface pointers casts.
mfplay: Fix leaks on error paths (Coverity).
evr/mixer: Fix rectangle scaling helper argument check (Coverity).
evr/mixer: Preserve frame aspect ratio when rendering.
evr/presenter: Remove logic related to picture aspect ratio adjustment.
evr/presenter: Add missing break in get_FramesDrawn() (Coverity).
mf/tests: Add some more tests for session rate control.
mf/session: Expose rate control interfaces.
propsys/tests: Add a VT_UI4 test for PropVariantCompareEx().
evr/mixer: Implement repainting requests.
evr/mixer: Flush on MFT_MESSAGE_NOTIFY_END_STREAMING.
d3d10/effect: Add initial support for indexing expressions.
d3d10core/tests: Add a test for DXGI_FORMAT_R8G8_UINT support in vertex buffers.
d3d11/tests: Add a test for DXGI_FORMAT_R8G8_UINT support in vertex buffers.
wined3d: Add R8G8_UINT to vertex formats list.
d3d10/effect: Fix a trace message.
Paul Gofman (3):
msiexec: Append .msi extension to file name if file is not found.
winex11.drv: Check if the surface is in list in wine_vk_surface_release().
bcrypt: Validate secret size in BCryptGenerateSymmetricKey().
Piotr Caban (6):
msvcp140: Fix _Winerror_message test failures.
msvcp140: Fix _Winerror_map test failures.
msvcrt: Skip small-block heap tests if _set_sbh_threshold is not available.
ucrtbase: Fix fma test failures.
msvcp_win: Add stub dll.
msvcp_win: Forward to msvcp140.
Rémi Bernon (60):
dinput: Always call the device internal poll callback.
dinput: Enumerate HID joystick with dinput <= 7 and device type 0.
dinput8/tests: Check setting DIPROP_AUTOCENTER on force-feedback joystick.
dinput: Pretend that DIPROP_AUTOCENTER is supported.
dinput: Check for DIEFFECT_DX6 size when DIEP_STARTDELAY is set.
dinput: Support both DIEFFECT_DX5 and DIEFFECT_DX6 parameters.
propsys: Fix VT_UI4 comparison, use ulVal instead of uiVal.
include: Add some MPEG4 container attributes to mfidl.idl.
winebus.sys: Use +hid debug channel.
hidparse.sys: Use +hid debug channel.
hid: Use +hid debug channel instead of +hidp.
winexinput.sys: Use +xinput channel.
dinput: Fix HID joystick GetEffectInfo / GetCapabilities flags.
dinput: Improve object dwOfs values for dinput version <= 0x700.
dinput8/tests: Make test_device_input tests more predictable.
dinput8/tests: Add older dinput HID force-feedback tests.
dinput8/tests: Add more force-feedback effect direction tests.
dinput: Allow DIEFF_CARTESIAN directions when cAxes matches.
dinput: Check for DIEFF_POLAR axes count before capacity.
dinput: Only convert DIEFFECT directions to spherical when needed.
dinput: Fix DIEFF_CARTESIAN to DIEFF_SPHERICAL conversion.
dinput: Only call internal poll callback when device is acquired.
dinput: Support up to 6 effect conditions.
dinput: Use a specific buffer for set envelope output report.
server: Wait for process exit more often and using increasing delay.
services: Terminate all service processes on shutdown.
winspool.drv: Fix incorrect read of enumerated printer count.
dinput8/tests: Improve HID joystick tests output.
dinput8/tests: Test effect creation with unacquired device.
dinput8/tests: Introduce new create_dinput_device helper.
dinput8/tests: Test device types with older dinput versions.
dinput8/tests: Make sure SetCooperativeLevel window is foreground.
dinput: Implement HID joystick object names from their usages.
dinput: Stub support for DIPROP_AUTOCENTER property.
dinput8/tests: Add some IDirectInput(8)_EnumDevices tests.
dinput: Implement IDirectInput_EnumDevices with IDirectInput8_EnumDevices.
dinput: Implement IDirectInputJoyConfig8_GetConfig with EnumDevices.
dinput: Implement EnumDevicesBySemantics with EnumDevices.
dinput: Handle device types and flags directly in EnumDevices.
dinput8/tests: Add some HID device gain report tests.
dinput: Stub support for the DIPROP_FFGAIN property.
winebus.sys: Add a PID device gain output report.
dinput: Look for the PID device gain output report.
dinput: Write PID device gain reports when necessary.
winebus.sys: Implement PID device gain for SDL devices.
winebus.sys: Implement PID device gain for UDEV lnxev devices.
dinput8/tests: Add some more (Get|Set)Property tests.
dinput: Move HID joystick extra caps to struct dinput_device.
dinput: Reset axis and pov values on object property change.
dinput: Guard (Get|Set)Property logic within the device CS.
dinput: Factor (Get|Set)Property checks together.
dinput: Move SetProperty implementation to the generic device.
dinput: Move GetProperty implementation for objects to generic device.
dinput: Stub support for the DIPROP_CALIBRATIONMODE property.
winebus.sys: Use last report length in IOCTL_HID_GET_INPUT_REPORT.
winebus.sys: Remove effect gain from the crafted PID reports.
dinput: Only scale parameter value if its physical range is defined.
winebus.sys: Avoid unnecessary scaling of effect parameter values.
win32u: Guard font unused_entry against race condition.
dinput8/tests: Add tests for device managed effect creation.
Serge Gautherie (1):
riched20: Check font_cache in select_style() too.
Stefan Dösinger (5):
include: Add more dummy msvc SAL macros.
include: _InterlockedExchangePointer is an intrinsic on x86 in newer MSVC versions.
d3d8/tests: Port the filling convention test to d3d8.
d3drm/tests: Do not depend on a todo_wine result more than necessary.
ddraw/tests: Port test_filling_convention to ddraw.
Thomas Faber (6):
comctl32/tests: Test SB_GETPARTS with large wParam.
msvcrt/tests: Show that spawn does not require locking of fds.
dbghelp: Accept NULL search path in SymSetSearchPath.
dbghelp/tests: Add tests for SymSetSearchPath.
dbghelp: Use . instead of concrete path for search path.
dbghelp: Use _NT_ALT_SYMBOL_PATH.
Torge Matthies (1):
shell32: Fix getting file attributes from the file system in SHELL32_GetItemAttributes.
Zebediah Figura (40):
winegstreamer: Implement INSSBuffer::GetBuffer().
winegstreamer: Implement INSSBuffer::GetMaxLength().
winegstreamer: Implement INSSBuffer::SetLength().
winegstreamer: Implement IWMReader::Open().
winegstreamer: Implement IWMOutputMediaProps::GetType().
wined3d: Reference vertex buffer objects only after calling context_update_stream_info().
wined3d: Make the "buffer_object" field of struct wined3d_buffer a wined3d_bo pointer.
wined3d: Introduce a wined3d_buffer_update_sub_resource() helper.
wined3d: Parse ISG1, PSG1 and OSG1 signatures.
wined3d: Introduce wined3d_context_gl_reference_buffer().
wined3d: Avoid accessing the "bo" member of struct wined3d_buffer_gl.
wined3d: Allocate all OpenGL buffer BOs from heap.
wined3d: Try to allocate new Vulkan BOs from the client thread for DISCARD maps.
winegstreamer: Implement IWMSyncReader::SetStreamsSelected().
winegstreamer: Implement IWMReaderAdvanced::SetStreamsSelected().
winegstreamer: Implement IWMSyncReader::GetStreamSelected().
winegstreamer: Implement IWMReaderAdvanced::GetStreamSelected().
wmvcore/tests: Add tests for stream selection.
winegstreamer: Implement IWMReaderAdvanced::SetAllocateForOutput().
wmvcore/tests: Add tests for user-allocated samples.
winegstreamer: Implement IWMReaderAdvanced::SetReceiveStreamSamples().
winegstreamer: Implement IWMReaderAdvanced::SetAllocateForStream().
winegstreamer: Implement IWMSyncReader::SetReadStreamSamples().
winegstreamer: Implement IWMReaderAdvanced::GetMaxStreamSampleSize().
winegstreamer: Add IWMMediaProps to the stream config object.
winegstreamer: Implement IWMMediaProps::GetMediaType() for the stream config object.
winegstreamer: Call IWMReaderCallbackAdvanced::OnTime() when using a user clock.
wined3d: Make the "buffer_object" field of struct wined3d_bo_address a wined3d_bo pointer.
wined3d: Make the "buffer_object" field of struct wined3d_const_bo_addr a wined3d_bo pointer.
wined3d: Make the "counter_bo" field of struct wined3d_unordered_access_view a wined3d_bo pointer.
ntdll: Implement NtAlertThreadByThreadId and NtWaitForAlertByThreadId.
ntdll/tests: Add basic tests for thread-id alert functions.
ntdll: Implement thread-ID alerts using futexes if possible.
ntdll: Implement thread-ID alerts using Mach semaphores on Mac.
ntdll: Reimplement Win32 futexes on top of thread-ID alerts.
ntdll: Reimplement the critical section fast path on top of Win32 futexes.
ntdll: Get rid of the direct futex path for condition variables.
ntdll: Reimplement SRW locks on top of Win32 futexes.
wined3d: Add a helper to calculate the vertex attribute address for a stream element.
wined3d: Allow OpenGL transform feedback buffer objects to be suballocated from a larger buffer.
Zhiyi Zhang (12):
comctl32/button: Use correct state for BS_3STATE and BS_AUTO3STATE buttons.
comctl32/button: Use correct state for default buttons.
comctl32/button: Support BS_PUSHLIKE for themed check boxes and radio buttons.
comctl32/button: Correctly align parts in group boxes with BS_PUSHLIKE when theming is off.
comctl32/button: Support BS_PUSHLIKE for themed group boxes.
comctl32/button: Support BS_PUSHLIKE for themed command links.
shell32: Check This->sPathTarget before calling get_display_name().
uxtheme: Support more progress bar parts.
light.msstyles: Fix incorrect progress bar chunk color.
light.msstyles: Add more progress bar parts.
uxtheme: Do not overwrite system metrics when loading the same theme.
comctl32/button: Use client rectangle as content rectangle for themed group boxes.
Ziqing Hui (2):
d3dx10: Implement D3DX10CreateTextureFromFile{A,W}.
d3dx10: Implement D3DX10CreateTextureFromResource{A,W}.
Łukasz Wojniłowicz (1):
po: Update Polish translation.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.21 is now available.
What's new in this release (see below for details):
- WinSpool, GPhoto, and a few other modules converted to PE.
- Better support for inline functions in DbgHelp.
- Beginnings of a MSDASQL implementation.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.21.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.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 6.21 (total 26):
38420 Sticky mouse with xinput2
43546 Multiple programs crash with unimplemented function vcomp{100,110,140}.dll._vcomp_for_static_simple_init_i8 (Astrotoaster, Gaea-1.0.16.8020, easyHDR 3.13.0, SimIon, BlueSkyPlan)
44055 Multiple applications fail to run in Win7+ mode, requiring DWM composition API support to be enabled (Aero Glass, transparent windows)(Affinity Designer 1.x, Electron-based apps using isAeroGlassEnabled API)
46000 SuperTux 0.6.0 nightly build crashes inside ucrtbase _FindAndUnlinkFrame
46472 Linux kernel 4.19 breaks startup of Call of Duty: Black Ops II due to change in PTRACE_POKEUSER hw breakpoint behavior
46801 Hitman: Sniper Challenge crashes on startup when using FAudio
48377 Home Designer Suite 21.3.1.1x64 hangs on mouse button release when drawing wall
48791 Multiple games have sound stuttering when using FAudio (Sniper Elite series, Resident Evil 0 HD Remaster, Homesick, Call of Juarez: Gunslinger)
48981 Riot Vanguard (Riot Games) needs Microsoft Kernel Mode Cryptographic Primitives Library 'cng.sys'
50088 Memento Mori needs WMReaderAdvanced2_OpenStream
51267 Rise of Legends Demo crashes with null pointer exception inside SAXReader::parseURL
51628 Samsung SDK 1.2.2 for Java ME: Black window
51677 Resident Evil 4 HD crashes when gameplay starts
51684 quartz:systemclock gets out of order timestamps on Windows
51719 _pclose() does not cause child stdin to report EOF
51815 DocumentProperties broken by last update (x64 only)
51851 Resident Evil 6 stops to a black screen instead of playing videos (needs WMSyncReader_GetOutputCount)
51856 access violation at emfdc_delete_object+0x17
51911 vbscript does not handle strings in if clauses
51914 Color picker doesn't render with custom themes
51917 Internet Explorer 8 crashes when visiting http://www.baidu.com/ on unimplemented function dxtrans.dll.DllGetClassObject
51919 New sal.h macros break libstdc++ includes in wineg++
51921 Multiple games crash due to assertion failures in bundled FAudio (Unreal Engine 4 games, Skyrim SE)
51926 Wine fails to build with glibc headers < 2.24
51937 Resident Evil 6 stops to a black screen instead of playing videos (needs WMSyncReader_GetOutputProps)
51951 configure says that libsane development files are not found even though they are present
----------------------------------------------------------------
Changes since 6.20:
Alex Henrie (1):
dxtrans: Add DllGetClassObject stub.
Alexandre Julliard (76):
attrib: Use the standard va_list instead of __ms_va_list.
cmd: Use the standard va_list instead of __ms_va_list.
expand: Use the standard va_list instead of __ms_va_list.
fsutil: Use the standard va_list instead of __ms_va_list.
hostname: Use the standard va_list instead of __ms_va_list.
icinfo: Use the standard va_list instead of __ms_va_list.
ipconfig: Use the standard va_list instead of __ms_va_list.
net: Use the standard va_list instead of __ms_va_list.
netstat: Use the standard va_list instead of __ms_va_list.
reg: Use the standard va_list instead of __ms_va_list.
regedit: Use the standard va_list instead of __ms_va_list.
regsvr32: Use the standard va_list instead of __ms_va_list.
services/tests: Use the standard va_list instead of __ms_va_list.
taskkill: Use the standard va_list instead of __ms_va_list.
uninstaller: Use the standard va_list instead of __ms_va_list.
winedbg: Use the standard va_list instead of __ms_va_list.
winemenubuilder: Use the standard va_list instead of __ms_va_list.
winetest: Use the standard va_list instead of __ms_va_list.
wmic: Use the standard va_list instead of __ms_va_list.
xcopy: Use the standard va_list instead of __ms_va_list.
makefiles: Don't try to link a library to itself.
makefiles: Add support for importing PE system libraries using the -l option.
ntdll: Move math functions to a separate file.
ntdll: Copy atan() implementation from msvcrt.
ntdll: Copy ceil() implementation from msvcrt.
ntdll: Copy floor() implementation from msvcrt.
ntdll: Copy fabs() implementation from msvcrt.
ntdll: Copy sin() and cos() implementation from msvcrt.
ntdll: Copy tan() implementation from msvcrt.
ntdll: Copy log() implementation from msvcrt.
ntdll: Copy pow() implementation from msvcrt.
ntdll: Copy sqrt() implementation from msvcrt.
ntdll: Remove math functions from the unixlib interface.
windowscodecs: Remove the no longer used icns encoder.
windowscodecs: Remove the Unix library.
configure: Disable sane.ds if the Unix library is missing.
sane.ds: Don't pass the device handle to the option helpers.
sane.ds: Use Twain types and status codes in option helpers.
sane.ds: Add helper function to set/get the scan area.
sane.ds: Convert the SANE parameters to a private structure.
sane.ds: Convert the SANE option descriptor to a private structure.
sane.ds: Move SANE library calls to a separate Unix library.
sane.ds: Build with msvcrt.
sane.ds: Use CRT memory allocation functions.
configure: Disable gphoto2.ds if the needed Unix libraries are missing.
gphoto2.ds: Move libgphoto2 handling to a separate Unix library.
gphoto2.ds: Use the bundled libjpeg and build with msvcrt.
twain_32: Fix loading of TWAIN source modules.
capi2032: Link directly to libcapi20.
capi2032: Move libcapi20.so interface to a separate Unix library.
ctapi32: Move libctapi.so interface to a separate Unix library.
include: Don't include sys/stat.h in wine/port.h.
include: Don't include fcntl.h in wine/port.h.
configure: Fix the libsane notice check.
crypt32: Split the import_cert_store function to move memory allocations to the PE side.
crypt32: Convert the Unix library to the __wine_unix_call interface.
faudio: Import upstream release 21.11.
dnsapi: Fix the DNS_KEY_DATA and DNS_SIG_DATA structure definitions.
dnsapi: Make type_to_str() into a proper debugstr function.
dnsapi: Implement DnsExtractRecordsFromMessage().
dnsapi: Build the DNS reply records on the PE side.
dnsapi: Convert the Unix library to the __wine_unix_call interface.
dnsapi: Use CRT memory allocation functions.
qcap: Convert the Unix library to the __wine_unix_call interface.
include: Don't define __in and __out.
include: Don't include unistd.h in wine/port.h.
include: Don't include string.h in wine/port.h.
include: Don't include stdlib.h in wine/port.h.
include: Don't include wine/port.h in Unix libraries.
wldap32: Move the SASL callback to the Unix side.
wldap32: Don't use varargs functions in the Unix library interface.
wldap32: Avoid returning pointers from the Unix interface functions.
wldap32: Convert the Unix library to the __wine_unix_call interface.
kerberos: Move the ticket cache memory allocation to the PE side.
kerberos: Move timestamp conversion to the PE side.
kerberos: Convert the Unix library to the __wine_unix_call interface.
Alistair Leslie-Hughes (41):
cng.sys: New dll.
msdasql: New DLL.
msdasql: Register MSDASQL interfaces.
msdasql: Implement MSDASQL provider.
msdasql: Support IDBProperties interface.
msdasql: Add IDBInitialize support.
msdasql/tests: Initial tests.
msdasql/tests: Remove DSN on cleanup.
msdasql: Implement IDBProperties GetPropertyInfo.
msdasql: Add IDBCreateSession support.
msdasql: Implement IDBCreateSession CreateSession.
msdasql: Add IPersist interface support.
include: Add some MFT CLSIDs.
include: Add CMSH264DecoderMFT CLSID.
msdasql: Add IGetDataSource support to session.
msdasql: Add IOpenRowset support to session.
msdasql: Add ISessionProperties to session.
msdasql: Add IDBCreateCommand to session.
msdasql: Implement IDBCreateCommand CreateCommand.
msdasql: Add ICommandProperties interface to ICommandText.
msdasql: Trace unsupported interfaces.
msdasql: Add IColumnsInfo interface for ICommandText.
msdasql: Add IConvertType interface for ICommandText.
include: Define WMADecMediaObject.
include: Add more DB_* defines.
msdasql: Add ICommandPrepare interface for ICommandText.
msdasql: Implement ICommandText Get/Set CommandText.
msdasql: Implement ICommandText GetDBSession.
msdasql: Return valid object from ICommandText Execute.
msdasql: Correct ICommandText Execute test.
msdasql: Support IRowsetInfo in IRowset interface.
msdasql: Support IColumnsInfo in Rowset.
msdasql: Add IAccessor to rowset.
msdasql: Add IColumnsRowset support to rowset.
msdasql: Trace unsupported rowset interfaces.
msdasql: Support CLSID_MSDASQL_ENUMERATOR interface.
msdasql: Implement ISourcesRowset GetSourcesRowset for enumeration.
msdasql: Support IAccessor in IRowset for Enumeration.
msdasql/tests: Add MSDASQL_ENUMERATOR tests.
dmime: Parse Wave track stream.
msdasql: Implement IDBProperties GetProperties.
Andrew Eikum (3):
evr/presenter: Invalidate media type on destination rectangle change.
mf/session: Forward MR_STREAM_VOLUME_SERVICE requests to SAR node.
strmbase: Send EC_COMPLETE in IBaseFilter::Run() for unconnected renderers.
Biswapriyo Nath (2):
include: Add MFVideoAlphaBitmapFlags in evr9.idl.
include: Add BackgroundCopyManager1_5 library in bits1_5.idl.
Brendan Shanks (1):
configure: Simplify flag checks for Mac preloader.
Chilung Chan (3):
po: Update Traditional Chinese translation.
po: Update Traditional Chinese translation.
po: Update Traditional Chinese translation.
Connor McAdams (3):
uiautomationcore: Implement UiaGetReservedNotSupportedValue.
uiautomationcore: Implement UiaGetReservedMixedAttributeValue.
uiautomationcore/tests: Add tests for ReservedValue COM interfaces.
Damjan Jovanovic (14):
winebus.sys: Get inotify working on FreeBSD.
server: Use sysctl instead of /proc/curproc/file on FreeBSD.
loader: Use sysctl instead of /proc/curproc/file on FreeBSD.
ntdll: Use sysctl instead of /proc/curproc/file on FreeBSD.
libs/wine: Use sysctl instead of /proc/curproc/file on FreeBSD.
widl: Use sysctl instead of /proc/curproc/file on FreeBSD.
winegcc: Use sysctl instead of /proc/curproc/file on FreeBSD.
wmc: Use sysctl instead of /proc/curproc/file on FreeBSD.
wrc: Use sysctl instead of /proc/curproc/file on FreeBSD.
ntdll: Implement setting SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION.IdleTime on FreeBSD.
ntdll: Implement setting SYSTEM_PERFORMANCE_INFORMATION.IdleTime on FreeBSD.
ntdll: Implement get_device_mount_point() on FreeBSD.
ntdll: Implement vm counters on FreeBSD.
ntdll: Populate MEMORY_WORKING_SET_EX_INFORMATION on FreeBSD.
Dmitry Timoshkov (2):
mpg123: Fix compilation with clang.
user32: DragDetect() should enter its message loop only if the left mouse button is pressed.
Eric Pouech (36):
dbghelp: Let StackWalkEx() succeed even when inline mode is requested.
dbghelp: Implement SymFromInlineContext() when context isn't in inline mode.
dbghelp: Implement SymGetLineFromInlineContext*() when context isn't in inline mode.
dbghelp: Add local scope information in struct process.
dbghelp: Implement SymSetScopeFromAddr() and SymSetScopeFromIndex().
dbghelp: Rewrite SymSetContext() on top of SymSetScopeFromAddr().
dbghelp: Implement SymSetScopeFromInlineContext() when context isn't inlined.
winedbg: Add a pair of helpers for accessing frames' internal info.
winedbg: Use SymSetScopeFromAddr() instead of SymSetContext().
winedbg: Use inline contexts oriented APIs for stack backtrace.
dbghelp: Correct type of exported function addresses in PE module.
dbghelp: Introduce symt_inlinesite (SymTagInlineSite) to support inline sites.
dbghelp/dwarf: Add current block as a field in dwarf2_subprogram_t.
dbghelp/dwarf: Generate proper inline functions.
dbghelp/dwarf: Store each subrange for an inlined function.
dbghelp: Implement StackWalkEx for inlined frames.
dbghelp: Implement SymFromInlineContext for inlined frames.
dbghelp: Implement SymSetScopeFromInlineContext for inlined frames.
dbghelp: Rename line_info's pc_offset field into address.
dbghelp: Make symt_add_func_line() last parameter an absolute address.
dbghelp: In SymGetLine* family, compute displacement relative to line_info's address.
dbghelp: Implement SymGetLineFromInlineContext(W) for inlined frame.
dbghelp/dwarf: Store line numbers and file info for inlined functions.
dbghelp: Silence a couple of C++ oriented requests in SymGetTypeInfo().
dbghelp: Silence a couple more CV entries.
mscvpdb.h: Update symbol header for linetab2's block size.
winedump: Add some missing next record computation for type leaf.
mscvpdb.h: Add definition for friend function v3.
winedump: Dump index leaves (TPI).
winedump: Also dump library name for a module.
mscvpdb.h: Update some line number oriented definitions.
dbghelp/pdb: Convert to new debug subsection definitions (in linetab2).
include: Added OMAP related definitions.
mscvpdb.h: Move parsing definitions to dbghelp.
configure: Allow expressing dwarf version in CFLAGS and CROSSCFLAGS.
dbghelp/dwarf: Don't skip functions when their inlined flag comes from an abstract origin.
Francisco Casas (2):
gdi32: Avoid integer overflow in the obj map compare fn.
gdi32: Do not sign extend 64-bit gdi handles.
François Gouget (2):
winetest: Don't truncate oversize reports before sending them.
wined3d: Add a trailing linefeed to an ERR().
Gabriel Ivăncescu (6):
jscript: Fix some refcount leaks.
mshtml: Fix reference leak in HTMLStyleSheetsCollection_item.
mshtml: Fix reference leak in HTMLStyleSheetRulesCollection_item.
jscript: Implement Object.prototype.isPrototypeOf method.
jscript: Implement Object.prototype.__proto__ property.
mshtml: Hold a ref to the location on the window side.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.2.197.
Hans Leidekker (8):
secur32: Fix expected buffer size in trace message.
secur32/tests: Check supported DTLS protocols.
secur32: Clear expiry timestamp in schan_InitializeSecurityContextW().
secur32: Validate the context handle in schan_InitializeSecurityContextW().
secur32: Fix error return for DTLS contexts in schan_InitializeSecurityContextW().
secur32/tests: Add DTLS tests.
mshtml: Implement HTMLAnchorElement_get_port().
mshtml: Implement HTMLAnchorElement_get_pathname().
Huw D. M. Davies (12):
wmc: Remove struct and enum typedefs.
winspool: Move loading of libcups to cups.c.
winspool: Remove support for parsing /etc/printcap.
winspool: Call the ppd retrieval function from add_printer_driver().
winspool: Move CUPS printer enumeration to cups.c.
winspool: Move ppd retrieval to cups.c.
winspool: Move the default page size query to cups.c.
winspool: Move the unix job schedulers to cups.c.
winspool: Build with msvcrt.
winspool: Add a helper to open various printer registry keys.
winspool: Use wide character string literals.
configure: Stop checking for poll.h and sys/poll.h - always use poll.h.
Jactry Zeng (4):
include: Add IMapView interface.
include: Add IRandomAccessStreamWithContentType interface.
include: Add IDeviceInformation interface.
include: Add IDeviceWatcher interface.
Jan Sikorski (6):
d3d9: Don't grab wined3d lock for wined3d incref/decref functions.
d3d9: Don't grab wined3d lock in index/vertexbuffer AddRef/Release().
d3d9: Don't grab wined3d lock for wined3d_query_issue().
d3d9: Don't grab wined3d lock for surface AddRef/Release().
wined3d: Reduce locking of device context operations.
d2d1: Explicitly set default blend state.
Loïc Rebmeister (1):
loader: Create performance\winsat\datastore on prefix creation.
Martin Storsjö (1):
winebuild: Fix relay entry points in Thumb mode with binutils/ELF and LLVM/PE.
Matteo Bruni (2):
d3dx10/tests: Only accept D3DX10_IFF_WMP tests failure on Windows.
d3d10/effect: Create variable buffer before parsing buffer members.
Michael Stefaniuc (4):
vbscript: Avoid negating SUCCEEDED().
dmime: Accept a DMUS_IO_SEGMENT_HEADER without rtPlayStart field.
dmime: Fixup the Wave track parser.
winegstreamer: Drop a debugstr from an out parameter.
Nikolay Sivov (50):
mfplay: Better handle video control method calls when there is no media item set.
mfplay: Fix pointer argument usage in GetMetadata().
mfplay: Update destination rectangle on SetVideoSourceRect().
mfplay: Fix output argument handling in CreateMediaItemFromURL().
mfplay: Partially implement GetDuration().
mfplay: Implement GetPosition().
mfplay: Change to stopped state when playback ends.
evr: Trace normalized rectangle arguments.
evr/presenter: Remove scaling by zoom rectangle.
mfplay: Trace normalized rectangle arguments.
d3dx9/tests: Add some tests for constant descriptions in texture shaders.
d3d10/effect: Return when effect creation fails.
d3d10/effect: Fix buffer offsets for members and array elements.
d3d10/effect: Use data_size of the variable as buffer size.
d3d10/effect: Implement GetConstantBuffer().
d3d10/effect: Remove interface vs implementation pointer comparsion in buffer variable's IsValid().
d3d10/tests: Extend default values test.
d3d10/effect: Implement default values handling.
d3d10/effect: Implement GetRawValue().
d3d10/effect: Implement SetRawValue().
evr/mixer: Improve output type candidates attributes configuration.
evr/tests: Skip tests if default presenter can't be created.
evr/presenter: Handle type invalidation calls without attached mixer.
evr/tests: Add some more presenter tests for shutdown state.
evr/presenter: Handle shutdown state in more methods.
evr/mixer: Handle substream zorder for dxva blitting.
combase: Clarify stream data format used by FT marshaler.
dxva2: Remove AYUV from accepted input formats.
evr/mixer: Implement stream rectangle scaling.
evr/presenter: Fix a crash when releasing partially initialized object.
d3d10/effect: Remove a cast in IsValid() for SRV variables.
d3d10/effect: Get rid of interface pointer casts in IsValid().
d3d10/effect: Reduce duplication when releasing shader objects.
d3d11: Correctly handle optional arguments in OMGetBlendState().
evr/mixer: Fix number of substreams in CreateVideoProcessor().
dxva2: Add GetVideoProcessorCaps() for software device.
dxva2: Limit allowed number of substreams in CreateVideoProcessor().
d3d10/effect: Handle D3D10_SVT_UINT type when returning numeric values.
d3d10/effect: Handle NULL depth stencil state assignments.
d3d10/effect: Handle NULL blend state assignments.
d3d10/effect: Add a helper to read numeric values.
d3d10/effect: Add a helper to read raw variable values.
d3d10/effect: Implement numeric pass properties updates.
evr/presenter: Add presented frames counter.
evr/mixer: Pass valid background color parameter to VideoProcessBlt().
evr/mixer: Set per-stream alpha to fully opaque.
scrrun: Use static sized buffer for drive root.
scrrun: Use wide string literals.
evr/mixer: Set destination alpha to fully opaque.
dxva2: Handle specified background color in VideoProcessBlt().
Paul Gofman (13):
ntdll: Fix alignment mask size in RtlInitializeExtendedContext2().
ntdll: Return sufficient info size at once from NtQuerySystemInformation(SystemProcessInformation).
ntdll: Factor out get_system_process_info() function.
ntdll: Implement SystemExtendedProcessInformation system info class.
winhttp: Handle TLS close notify in netconn_is_alive().
wined3d: Validate pitch against the new format in wined3d_texture_update_desc().
kernel32: Correctly restore protection in set_entry_point().
ntdll: Allocate DDAG node for module.
ntdll: Pass DDAG node to process_attach().
ntdll: Store module dependencies in DDAG structure.
ntdll: Factor out is_import_dll_system() function.
ntdll: Don't add dependencies for system dlls.
ntdll: Don't constraint TEB address to 2GB for native x64 process.
Piotr Caban (6):
msvcrt: Fix clearing NOINHERIT flag in _dup2.
msvcrt: Rewrite _popen function.
vcomp: Add _vcomp_for_static_init_i8 implementation.
vcomp: Add _vcomp_for_static_simple_init_i8 implementation.
msvcrt: Don't use GetDaylightFlag function in _ftime64.
msvcp100: Export ctype<char>::table function.
Robert Wilhelm (1):
vbscript: Support VT_BSTR in stack_pop_bool.
Rémi Bernon (33):
xaudio2_7: Restore FAudioCreateReverbWithCustomAllocatorEXT use for old XAPO versions.
faudio: Build with -DNDEBUG.
winex11.drv: Introduce new map_raw_event_coords helper.
winex11.drv: Use XIValuatorClassInfo instead of a custom struct.
winex11.drv: Rename (x|y)_rel_valuator to (x|y)_valuator.
winex11.drv: Accumulate mouse movement to avoid rounding losses.
msvcrt: Write memory forward in memset.
ntdll: Use the unrolled memset from msvcrt.
dinput8/tests: Relax test results for 3 buttons mouse.
dinput: Canonicalize code style of IDirectInputWImpl_EnumDevices.
dinput: Call *_enum_device directly in IDirectInputWImpl_EnumDevices.
dinput: Canonicalize code style of IDirectInput7WImpl_CreateDeviceEx.
dinput: Call *_create_device directly in IDirectInput7WImpl_CreateDeviceEx.
dinput: Call hid_joystick_enum_device directly in EnumDevicesBySemantics.
dinput: Call hid_joystick_enum_device directly in JoyConfig8Impl_GetConfig.
dinput: Trace device entry points calls consistently.
dinput: Rename IDirectInputDeviceImpl to struct dinput_device.
dinput: Rename SysKeyboardImpl to struct keyboard.
dinput: Rename SysMouseImpl to struct mouse.
winebus.sys: Drop the hid_report channel.
winebus.sys: Consistently trace HID reports.
dinput: Reduce data format trace verbosity.
dinput8/tests: Add more HID joystick SetDataFormat tests.
dinput: Move user data format to struct dinput_device.
dinput: Implement SetProperty DIPROP_APPDATA using enum_objects.
dinput: Always use the data format transform.
mfreadwrite/reader: Add recognition of ftypeMSNV mp4 header.
dinput: Use user object data format array to keep user offsets.
dinput: Rewrite and simplify user data format object matching.
dinput: Move device data format to struct dinput_device.
server: Clear dr7 before setting other registers.
server: Remove dr7 PTRACE_POKEUSER workaround.
mshtml: Only treat resource://gre(-resources)/ as special.
Serge Gautherie (1):
comctl32: Fix 'pszHeaderTitle' copypasta.
Stefan Dösinger (3):
wined3d: Test if an offset is needed to get the correct filling convention.
d3d9/tests: Test triangle filling convention.
wined3d: Emulate fractional viewports if GL doesn't support them.
Zebediah Figura (54):
wmvcore/tests: Add some basic tests for streaming with the synchronous reader.
wmvcore/tests: Add tests for synchronous reader media types.
winegstreamer: Add a basic implementation of IWMSyncReader::OpenStream().
winegstreamer: Create a winegstreamer parser object in wm_reader_open_stream().
winegstreamer: Implement IWMProfile::GetStreamCount().
ntdll: Merge critsection.c into sync.c.
winegstreamer: Implement IWMSyncReader::GetOutputCount().
winegstreamer: Implement IWMProfile::GetStream().
winegstreamer: Implement IWMStreamConfig::GetStreamNumber().
winegstreamer: Implement IWMSyncReader::GetOutputNumberForStream().
winegstreamer: Implement IWMSyncReader::GetStreamNumberForOutput().
ntdll/tests: Move some tests to a new sync.c file.
ntdll/tests: Add some tests for Rtl* resources.
winegstreamer: Implement IWMStreamConfig::GetStreamType().
winegstreamer: Implement IWMSyncReader::GetOutputProps().
winegstreamer: Implement IWMOutputMediaProps::GetMediaType().
winegstreamer: Implement IWMSyncReader::GetOutputFormat().
winegstreamer: Implement IWMSyncReader::GetOutputFormatCount().
winegstreamer: Implement IWMSyncReader::SetOutputProps().
winegstreamer: Implement IWMSyncReader::GetNextSample().
winegstreamer: Implement INSSBuffer::GetBufferAndLength().
winegstreamer: Implement reading from all streams in IWMSyncReader::GetNextSample().
winegstreamer: Implement IWMSyncReader::SetRange().
winegstreamer: Seek to the beginning of the range in wm_reader_set_output_props().
wined3d: Make wined3d_buffer_gl_binding_from_bind_flags() static.
wined3d: Move the bo_user field to struct wined3d_buffer.
evr/tests: Test receiving EC_COMPLETE when not connected.
quartz/tests: Test receiving EC_COMPLETE when not connected.
qedit/tests: Test receiving EC_COMPLETE when not connected.
quartz/dsoundrender: Send EC_COMPLETE in IBaseFilter::Run() when not connected.
winegstreamer: Set rcSource and rcTarget for WMF video formats.
winegstreamer: Set bFixedSizeSamples for WMF video formats.
winegstreamer: Don't set bTemporalCompression for WMF video formats.
winegstreamer: Return S_OK from IWMSyncReader::SetOutputSetting(L"VideoSampleDurations").
winegstreamer: Implement IWMHeaderInfo::GetAttributeByName(L"Duration").
winegstreamer: Implement IWMHeaderInfo::GetAttributeByName(L"Seekable").
winegstreamer: Implement IWMSyncReader::Open().
wmvcore/tests: Add tests for asynchronous reader streaming.
wmvcore/tests: Add tests for asynchronous reader media types.
winegstreamer: Implement IWMReaderAdvanced2::OpenStream().
winegstreamer: Implement IWMReader::GetOutputCount().
winegstreamer: Implement IWMReader::GetOutputProps().
wined3d: Protect access to the Vulkan wined3d_allocator with a mutex.
wined3d: Separate a vk_buffer_usage_from_bind_flags() helper.
wined3d: Separate a vk_memory_type_from_access_flags() helper.
wined3d: Protect wined3d_bo_slab_vk map fields with a mutex.
winegstreamer: Implement IWMReader::GetOutputFormat().
winegstreamer: Implement IWMReader::GetOutputFormatCount().
winegstreamer: Implement IWMReader::SetOutputProps().
winegstreamer: Implement IWMReader::Start().
winegstreamer: Implement IWMReaderAdvanced::SetUserProvidedClock().
wined3d: Avoid accessing the "bo" member of struct wined3d_buffer_vk.
wined3d: Protect wined3d_chunk_vk map fields with a mutex.
wined3d: Allocate all Vulkan buffer BOs from heap.
Zhiyi Zhang (19):
uxtheme/tests: Add GetThemeIntList() tests.
uxtheme: Use vssym32.h instead of tmschema.h.
uxtheme: Support TMT_TRANSITIONDURATIONS property.
light.msstyles: Add TMT_TRANSITIONDURATIONS property.
uxtheme/tests: Add GetThemeTransitionDuration() tests.
uxtheme: Implement GetThemeTransitionDuration().
comctl32/button: Remove useless calculation for drawing group boxes.
comctl32/button: Use BS_PUSHLIKE instead of WS_EX_RIGHT in BUTTON_PositionRect().
comctl32/tests: Test WM_CTLCOLORSTATIC for static controls in a themed dialog.
uxtheme: Do not draw parent background when handling WM_CTLCOLORSTATIC for static controls.
uxtheme: Fix loading a different theme when theming is on.
comctl32/button: Simplify focus rectangle calculation for drawing themed push buttons.
comctl32/button: Simplify focus rectangle calculation for drawing themed split buttons.
comctl32/button: Add a get_box_rect() helper to calculation box rectangle.
comctl32/button: Correctly place parts for buttons with WS_EX_RIGHT.
comctl32/button: Correctly place parts for themed push buttons.
comctl32/button: Correctly place parts for themed check boxes.
comctl32/button: Correctly place parts for themed group boxes.
comctl32/button: Correctly place parts for themed split buttons.
Ziqing Hui (4):
d3dx10/tests: Add tests for D3DX10CreateTextureFromFile{A, W}.
d3dx10/tests: Add tests for D3DX10CreateTextureFromResource{A, W}.
user32/tests: Add ALT+letter hotkey tests.
server: Also queue hotkey message for WM_SYSKEYDOWN.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 6.0.2 is now available.
What's new in this release (see below for details):
- Compilation fixes (freetype, gcc 11)
- Default to building with GnuTLS support on macOS, if present
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.0/wine-6.0.2.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.0/wine-6.0.2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.0.2 (total 51):
12076 Multiple applications refuse to install unless '%SystemRoot%\System32\Drivers\Etc\{services,host}' exist (Informix Database apps, Autodesk 3ds Max 9, SAP GUI)
12457 Multiple apps crash with NotImplementedException at IWebBrowser2.get_LocationName() (SharpDevelop 2.2, Clarion Enterprise Edition 9.0.10376)
19756 Date/time picker doesn't notify app about checkbox changes (TaskCoach: Cannot add new task with a due date)
24893 File/folder context menus have missing options (Explorer++, Double Commander)
29903 Multiple games and applications fail to enumerate processes due to 'wtsapi32.WTSEnumerateProcessesW' stub (Visual Studio 2005, .NET 2.0 SDK DbgCLR, Akamai DL Manager, Dekaron)
32749 Implement atl100.dll.AtlAxDialogBoxW to show error dialogs (Visual Studio 2010 (10.0) Express Edition)
35539 Proteus 8 demo fails to install
36010 Changing font resolution on winecfg changes default main font to Tahoma
39841 IShellFolder.CreateViewObject() doesn't support IID_IContextMenu (Double Commander "Error: invalid parameter" when right-clicking on an empty space)
44813 Some applications fail when calling ntdll.NtReadFile on a directory (expect STATUS_INVALID_DEVICE_REQUEST)
46817 Steam Big Picture needs d3d11_device_CreateDeviceContextState
47296 Google drive crashes before login
47310 Canon TS3100 series full driver and software package refuses to install: "To install the software, you must be logged in to an administrator account."
48123 Word 97 crashes after calling stub URLMoniker_ComposeWith
48412 Multiple games have lighting issue and textures blinking (Call of Duty 4: Modern Warfare, Call of Duty: Modern Warfare 2)
48507 osu! icons in the setting and music player are not being rendered
49434 Wine builtin 'iexplore' crashes upon loading Google Account login page
49663 Performance regression in TrackMania Nations Forever
49954 Multiple games and applications need msvcp140_1._Aligned_get_default_resource (EVE Online Launcher, QT Creator 3.x, Kate, Snap Camera 1.11.x, Cppcheck 2.3)
50119 Dark Souls II: Scholar of the First Sin shows a white screen with vulkan renderer
50147 Microsoft WebView2 "evergreen bootstrapper"/installer needs IStream::CopyTo()
50168 Error when running notepad.exe: Failed to start RpcSs service
50318 'HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath' registry entry has non-standard value
50362 Fl Studio 20.8 crashes on startup
50436 Upstream FAudio pkg-config file not found
50492 Amazon Chime 4.x (.NET 4.5 app) reports 'Failed to InjectErrorHandlingScript, Unable to cast COM object of type 'System.__ComObject' to interface type 'mshtml.HTMLHeadElement''
50628 Fairy Tale About Father Frost, Ivan and Nastya crashes on DDERR_SURFACE_LOST
50673 FlatOut 2 crashes on launch
50697 Multiple applications crash due to DHTMLEdit 'IOleObject::GetExtent' stub (Atomic Mail Sender 4.2x)
50725 Nvidia FrameView 1.2 (Win10 app) crashes on unimplemented function tdh.dll.TdhLoadManifestFromBinary
50756 "Path is invalid." when using "SVN update" with SVN for Windows, which is used by TortoiseSVN
50791 NtQueryObject( ..., ObjectBasicInformation, NULL, 0, &retLen) returns incorrect NTSTATUS error code and no buffer size (EditSection, Google sandbox-attacksurface-analysis-tools v1.1.x)
50805 Win32_OperatingSystem class is missing 'ProductType' (affects Chocolatey)
50809 Multiple .NET 4.x application installers fail due to 'MsiNetAssemblySupport' property returning incorrect version (IronPython 2.7.5)
50811 gdi32.res fails to compile when freetype pkg-config cflags contain "-pthread"
50818 Mahou Shoujo Shoumou Sensen - DeadΩAegis (Trial) shows unreadable text in the message box.
50829 Process Hacker 2.38 crashes on unimplemented function dbghelp.dll.SymFromNameW
50830 Process Hacker 2.38 crashes on unimplemented function advapi32.dll.LsaEnumerateAccounts
50845 jscript crashes on internal assert(0) in PE build with clang
50854 Multiple Windows 10 application installers refuse to install, requiring 'advapi32.dll' version >= 6.3.10000.0 (Elgato Stream Deck 4.9.3, Windows Admin Center 2103)
50875 HTMLElement_get_offsetParent crashes wine if a NULL offset parent is expected (VbsEdit)
50885 PdfSharp creates invalid PDF files
50925 Error fetching public key in GetRSAKeyFromCert - File not found
50952 Legends of Runeterra crashes at launch
50960 NETCoreCheck from .NET Deployment Tools crashes on unimplemented function api-ms-win-crt-stdio-l1-1-0.dll.__stdio_common_vfwprintf_p
51035 Alacritty v0.7.2 portable crashes: SetEnvironmentVariable ("some_non-existant_var", NULL) should return TRUE
51041 Scalable fonts with fsCsb[0] == 0 are not enumerated correctly
51076 demangle_datatype in ucrtbase crash in vc2019 x86 mode
51117 Silverlight_x64.exe (part of LEGO MINDSTORMS EV3 Home Edition installer) crashes
51324 Imperium Great Battles of Rome can't play videos
51631 winhttp:winhttp and winhttp:notification fail because echo.websocket.org is out of commission
----------------------------------------------------------------
Changes since 6.0.1:
Akihiro Sagawa (2):
gdi32: Move otmEMSquare initialization to freetype_load_font.
gdi32: Fix text metrics used in EnumFonts families.
Alexandre Julliard (7):
makefiles: Only allow includes and defines in pkg-config flags.
configure: Fix package name for FAudio.
ws2_32: Install network database files.
wine.inf: Fix the Tcpip database path.
explorer: Store the graphics driver basename instead of the full path.
gdi32/tests: Regenerate ttf files with the official fontforge version.
gdiplus/tests: Regenerate ttf files with the official fontforge version.
Alistair Leslie-Hughes (1):
gdi32: Don't override FontSubstitutes on a DPI only change.
Andrew Eikum (1):
windowscodecs: Avoid types deprecated in libtiff 4.3.
Andrey Turkin (1):
ieframe: Implement IWebBrowser2::get_LocationName().
Anton Baskanov (4):
amstream/tests: Add a test for event parameter of IDirectDrawStreamSample::Update.
amstream: Support the event parameter in IDirectDrawStreamSample::Update.
fonts: Fix breve glyph position in 16px MS Sans Serif.
fonts: Fix dotaccent glyph position in Small Fonts.
Arkadiusz Hiler (3):
msvcp90: Add helpers for creating base class RTTI.
msvcp140_1: Implement the DLL.
kernelbase: Fix GetFileVersionInfo*() crashes with malformed resources.
Austin English (2):
tdh: Add TdhLoadManifestFromBinary stub.
readme: Document Libera Chat migration.
Brendan Shanks (2):
wined3d: Add GPU information for Intel UHD Graphics 630.
configure: Work around Xcode 12's ld assuming 16KB page sizes.
Damjan Jovanovic (6):
comctl32: Send DTN_DATETIMECHANGE when the checkbox changes too.
shell32: The menu wIDs in hmenu were rebased by idCmdFirst.
shell32: Use a smaller range of shellview menu IDs in our IContextMenu functions.
shell32: Implement IID_IContextMenu in CreateViewObject() methods for shell folders that support it.
shell32/tests: Fix test failures from ad412b11a7ea17b708994ed6609f8ed0cbfb169b.
shell32: Fix a lock leak.
David Torok (1):
ntdll: Add NtCreateThread stub.
David White (1):
urlmon: Implement IMoniker_ComposeWith() for url monikers.
Dmitry Kislyuk (1):
mshtml: Fix NULL offset parent handling in IHTMLElement::get_offsetParent.
Dmitry Timoshkov (3):
crypt32: Implement CryptImportPublicKeyInfoEx2.
crypt32: Add support for importing RSA public keys with BCrypt.
ntdll: Exclude large integer APIs from relay tracing.
Esme Povirk (1):
gdiplus: Implement reference counting for private font families.
François Gouget (3):
tests: Trace the filename in winetest_wait_child_process().
tests: Add ignore_exceptions().
make_unicode: Add support for the 720 codepage (Arabic, Farsi and Urdu).
Gijs Vermeulen (11):
wtsapi32: Avoid calling GetUserNameW() twice in WTSQuerySessionInformationW(WTSUserName).
wtsapi32/tests: Test returned username for WTSQuerySessionInformation(WTSUserName).
kernelbase: Reject SORT_DIGITSASNUMBERS in CompareStringA().
kernelbase: Support FileRenameInfo in SetFileInformationByHandle.
ntdll: Return STATUS_INFO_LENGTH_MISMATCH when len is too small in NtQueryObject(ObjectBasicInformation).
dbghelp: Implement SymFromNameW().
ntdll/tests: Refactor RtlSetEnvironmentVariable() tests.
ntdll: Don't fail when trying to remove the value of a non-existant variable in RtlSetEnvironmentVariable().
amstream: Handle AMMSF_RENDERALLSTREAMS in IAMMultiMediaStream::OpenFile().
winecfg: Disable virtual desktop when using macdrv.
secur32: Default to building with GnuTLS support on macOS, if present.
Haidong Yu (2):
shell32: Fix a memory leak.
shell32: Fix a memory leak.
Hans Leidekker (3):
ntdll: Fall back to reading /dev/urandom if getrandom() is not supported.
msi: Fix building the fusion filename.
winhttp: Use ws.ifelse.io for websocket tests.
Haoyang Chen (2):
gdiplus: Avoid filtering of special characters.
gdi32: Fix a memory leak.
Jacek Caban (3):
mshtml: Support DispHTMLHeadElement interface.
jscript: Use quiet NaNs in jsval.
msvcrt: Add sincos to importlib.
Jan Sikorski (1):
wined3d: Handle different slice pitches in uncompressed texture updates.
John Zourlios (1):
kernelbase: Accept LINGUISTIC_IGNOREDIACRITIC & SORT_DIGITSASNUMBERS in CompareStringEx().
Lauri Kenttä (1):
msvcrt: Handle negative zero, infinity and nan in _ecvt and others.
Louis Lenders (5):
wtsapi32: Implement WTSQuerySessionInformation(WTSDomainName).
wbemprox: Add ProductType to win32_operatingsystem class.
advapi32: Update version resource.
advapi32: Add stub for LsaEnumerateAccounts.
kernel32: Remove entry for BasepDebugDump.
Matteo Bruni (2):
wined3d: Handle blits to Vulkan swapchains not matching the D3D swapchain.
wined3d: Don't skip FFP vertex pipeline state handlers when STATE_VDECL is dirty.
Michele Dionisio (1):
msvcrt: Add __stdio_common_vfprintf_p and __stdio_common_vfwprintf_p.
Nguyễn Chính Hữu (1):
wined3d: Add GPU information for NVIDIA GT 1030.
Nikolay Sivov (2):
gdi32: Enumerate scalable fonts with zero charset mask as OEM.
shcore/stream: Implement generic CopyTo().
Owen Rudge (1):
winspool: Filter invalid characters when creating the PPD filename.
Paul Gofman (2):
ddraw/tests: Also test RT caps for software device.
vcruntime140_1: Support two continuation addresses for catchblock.
Piotr Caban (7):
msvcp90: Add macro that define type_info vtable.
msvcrt: Cleanup _ecvt tests.
msvcrt/tests: Link to malloc/free functions in cpp tests.
msvcrt/tests: Cleanup datatype demangle tests.
msvcrt: Fix _unDName crash when demangling class function pointer.
msvcrt: Improve memmove performance on i386 and x86_64 architectures.
winemac.drv: Don't filter non active displays out.
Qian Hong (1):
atl: Implement AtlAxDialogBox().
Roman Pišl (2):
kernel32/tests: Add test for FileRenameInfo in SetFileInformationByHandle.
kernelbase: Convert DOS to NT path for FileRenameInfo in SetFileInformationByHandle.
Rémi Bernon (3):
d3d11: Add initial implementation of CreateDeviceContextState.
dinput: Wait for the hook thread to exit when stopping it.
dinput: Prevent a device interface leak when enumerating.
Sebastian Lackner (1):
ntdll: Return STATUS_INVALID_DEVICE_REQUEST when trying to call NtReadFile on directory.
Torge Matthies (1):
winex11.drv: Avoid race condition in X11 error handling.
Vijay Kiran Kamuju (3):
dhtmled.ocx: Implement IOleObject::SetExtent and IOleObject::GetExtent functions.
dhtmled.ocx: Add stub IOleControl interface.
dhtmled.ocx: Fake success in IDHTMLEdit::NewDocument.
Zebediah Figura (5):
msi: Check for a NULL return from deformat_string() when checking for failure.
include: Factor out winetest_printf().
include: Introduce winetest_push_context() and winetest_pop_context().
wtsapi32: Implement WTSEnumerateProcessesW().
wine.inf: Install the protocol database at etc\protocol.
Zhiyi Zhang (1):
ntoskrnl.exe: Exclude large integer APIs from relay tracing.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 6.20 is now available.
What's new in this release (see below for details):
- MSXml, XAudio, DInput and a few other modules converted to PE.
- A few system libraries are bundled with the source to support PE builds.
- HID joystick is now the only supported joystick backend in DirectInput.
- Better support for MSVCRT builds in Winelib.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.20.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.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 6.20 (total 29):
30600 Emergency 3 crashes on start
34297 Allow reconnecting to disconnected joysticks
36796 Mozilla Firefox 13.0 crashes on startup if run in Windows Vista+ mode (D3D10CreateEffectFromMemory needs more complete Direct3D 10 DXBC parser)
38696 Messy screen in DxTex.exe
41080 Need For Speed Most Wanted 2005 not working after upgrade from Ubuntu 14.04 to 16.04
41317 WOLF RPG Editor: Gamepad axis value not recalculated after deadzone change results in ghost input events
41700 "Install Now" and "Customize installation" buttons are invisible in Python 3.5.2 installer
42137 DirectInput needs to join both Xbox shoulder triggers into a single axis (aka half-axis problem)
42434 Gamepad listed twice
42695 Path of Exile fails to start when launching with dx11 enabled with message "Failed to create WIC factory" (CoCreateInstance() called in uninitialized apartment)
47387 Victor Vran has no sound
49296 ZWCAD 2020: the program doesn't start (using mono)
49887 "EA Desktop" installer fails.
50758 Vbscript does not handle recursive calls
51105 Diablo 2: Resurrected (D2R) stays black
51385 DTS Encoder Suite won't start in Wine 6.0.1
51564 Can't run 16bit programs when built without mingw
51574 swscanf_s with %zu fails for valid value
51583 Tetris crashes due to "visual styles"
51707 Rise of the Tomb Raider stops the process before entering the main menu
51749 Wine 6.17 fails to build under Slackware64 Current with multilib
51797 Input lag with controller in Wine 6.18
51802 Theming on 16-bit application breaks their UI
51846 Standard library call fopen(..., "wx") not recognized - causes destruction of data
51863 QuantumClient.exe from Raymarine SDK needs dhcpcsvc6.dll
51871 PSScript fails with 0x80041002 (WBEM_E_NOT_FOUND) ( system property L"__Derivation" not implemented)
51892 Program DSP-408.exe returns Assertion Failed error in afxwin1.ini line 418
51894 ucrtbase:misc fails on some Windows 10 1607 and 1709
51902 Project CARS 2 keyboard keys aren't responsive
----------------------------------------------------------------
Changes since 6.19:
Alex Henrie (6):
winemenubuilder: Return pointer from freedesktop_mime_type_for_extension.
dhcpcsvc6: Add stub DLL.
winemenubuilder: Introduce a reg_enum_keyW helper function.
ws2_32: Clear last error in WSASocketW.
ws2_32: Set WSAEFAULT if the bind address is null.
ws2_32/tests: Correct name of IPV6_V6ONLY socket option in messages.
Alexandre Julliard (92):
configure: Define _GNU_SOURCE in config.h.
configure: Assume that dlfcn.h is available on Unix.
include: Don't define math functions or constants in wine/port.h.
server: Add sys/types.h include in a few more files.
adsiid: Move to the libs directory.
dmoguids: Move to the libs directory.
dxerr8: Move to the libs directory.
dxerr9: Move to the libs directory.
dxguid: Move to the libs directory.
mfuuid: Move to the libs directory.
strmiids: Move to the libs directory.
uuid: Move to the libs directory.
wbemuuid: Move to the libs directory.
wmcodecdspuuid: Move to the libs directory.
explorer: Use the correct buffer size for the full path name.
winemenubuilder: Remove dead code.
kernelbase: Remove dead code.
include: Define DECLSPEC_HIDDEN in guiddef.h if necessary.
include: Add more sal.h macros.
include: Import specstrings.h and related headers from Mingw.
include: Use compatible header guard in basetsd.h.
include: Add prototypes for the byteswap functions.
include: Add a define to enable fastcall wrappers, similar to the thiscall one.
configure: Add a __WINE_PE_BUILD define for files that are built as PE.
configure: Don't define _WIN32 for Cygwin builds.
configure: Always define _WIN32 for msvcrt builds.
include: Always add defines for the Interlocked* functions.
include: Define all the __int* types also for msvcrt.
msvcrt: Move _fdclass/_dclass to avoid forward references.
include: Define fpclassify().
include: Use the standard va_list instead of __ms_va_list when building with msvcrt.
makefiles: Add support for building libraries imported from external sources.
makefiles: Don't pass warning flags to external libraries.
libs: Import upstream code from zlib 1.2.11.
cabinet: Use the bundled zlib.
dbghelp: Use the bundled zlib.
opcservices: Use the bundled zlib.
wininet: Use the bundled zlib.
libs: Import upstream code from libpng 1.6.37.
user32: Use the bundled libpng.
windowscodecs: Use the bundled libpng.
winecfg: Store the logo image in PNG format.
comdlg32: Return INT_PTR instead of LRESULT in dialog procedures.
cryptui: Return INT_PTR instead of LRESULT in dialog procedures.
oledb32: Return INT_PTR instead of LRESULT in dialog procedures.
user32: Return INT_PTR instead of LRESULT in dialog procedures.
libs: Import upstream code from libjpeg 9d.
windowscodecs: Use the bundled libjpeg.
libs: Import upstream code from libtiff 4.3.0.
windowscodecs: Use the bundled libtiff.
libs: Import code from upstream lcms2 2.12.
mscms: Use the bundled lcms2.
ntdll: Avoid including wine/port.h.
loader: Avoid including wine/port.h.
libwine: Avoid including wine/port.h.
msxml3: Always set output length in encoding conversion.
libs: Import code from upstream libxml2 2.9.12.
libs: Import code from upstream libxslt 1.1.34.
mxsml3: Use the bundled libxml2 and libxslt and build with msvcrt.
libs: Import upstream code from gsm 1.0.19.
msgsm32.acm: Use the bundled gsm codec and build with msvcrt.
wow64win: Add missing syscall entry for NtUserGetObjectInformation().
libs: Import upstream code from jxrlib 1.1.
wmphoto: Use the bundled jxrlib.
libs: Import upstream code from mpg123 1.29.1.
mp3dmod: Use the bundled mpg123 and build with msvcrt.
l3codeca.acm: Use the bundled mpg123 and build with msvcrt.
libs: Import code from upstream FAudio 21.10.
xaudio: Use the bundled FAudio and build with msvcrt.
winebuild: Add a more generic way to create directories and sections in fake dlls.
winebuild: Wrap 16-bit fake dlls in a PE module.
setupapi: Try to extract 16-bit image also from .fake files.
aclui: Use the standard va_list instead of __ms_va_list.
advpack/tests: Use the standard va_list instead of __ms_va_list.
avifil32: Use the standard va_list instead of __ms_va_list.
d3dcompiler: Use the standard va_list instead of __ms_va_list.
dbgeng: Use the standard va_list instead of __ms_va_list.
dinput8/tests: Use the standard va_list instead of __ms_va_list.
kernel32/tests: Use the standard va_list instead of __ms_va_list.
kernelbase: Use the standard va_list instead of __ms_va_list.
krnl386: Use the standard va_list instead of __ms_va_list.
msi: Use the standard va_list instead of __ms_va_list.
msvcrt: Use the standard va_list instead of __ms_va_list.
ntdll: Use the standard va_list instead of __ms_va_list.
ntoskrnl/tests: Use the standard va_list instead of __ms_va_list.
riched20: Use the standard va_list instead of __ms_va_list.
rpcrt4: Use the standard va_list instead of __ms_va_list.
shell32: Use the standard va_list instead of __ms_va_list.
shlwapi: Use the standard va_list instead of __ms_va_list.
user32: Use the standard va_list instead of __ms_va_list.
vcomp: Use the standard va_list instead of __ms_va_list.
wldap32: Use the standard va_list instead of __ms_va_list.
Alistair Leslie-Hughes (5):
wininet: Support option INTERNET_OPTION_SERVER_CERT_CHAIN_CONTEXT for http requests.
dbghelp: Support UWOP_EPILOG in unwind.
include: Use known variables names in SYSTEM_INTERRUPT_INFORMATION.
wbemprox: Add WMI namespace.
powrprof: Add PowerRegisterSuspendResumeNotification stub.
Bernhard Kölbl (2):
oleaut32: Allow the registration of 64bit typelibs from a 32bit context.
oleaut32: Register a typelib's name if a documentation is not available.
Daniel Lehman (5):
msxml3/tests: Add some processing instruction tests.
msxml3: Parse XML declaration when creating processing instruction.
msxml3: Handle single quotes in xml declaration.
msxml3: Update error for missing closing quote.
msxml3: Handle NULL XML declaration.
David Kahurani (1):
winedump: Remove a FIXME.
Dmitry Timoshkov (2):
user32: Don't check active window state when handling SC_MINIMIZE/SC_MAXIMIZE/SC_RESTORE.
winex11.drv: Add GPU hardware information values to the registry.
Eduard Permyakov (1):
wbemprox: Add 'Manufacturer' and 'Name' properties to Win32_PnPEntity class.
Eric Pouech (23):
winedbg: Properly print 64bit integers.
winedbg: Fix result type in expression's computation.
winedbg: Use proper modifier when using sscanf for a DWORD_PTR.
winedbg: Simplify some printing of addresses.
winedbg: Use proper width when printing addresses with leading 0.
mscoree/tests: Remove unused parameter in sprintf.
winedump: Fix incorrect alignment.
winedump: Dump MSC's S_UNAMESPACE entries.
dbghelp: Use proper macros for VARIANT.
dbghelp: Report a couple more VARIANT types in symbol info for constants.
dbghelp: Add helper to initialize a module_pair.
dbghelp: Use wide string literals.
dbghelp: Handle some more error conditions in SymGetTypeInfo().
include/dbghelp.h: Update inline-related APIs and structures.
dbghelp: Add stubs for inline-related APIs.
dbghelp: Start implementing StackWalkEx.
dbghelp: Add stub implementation of SymFromInlineContext(W).
dbghelp: Add stub implementations of SymGetLineFromInlineContext(W).
dbghelp: Add stub implementations for the SymSetScope* functions.
dbghelp: Improve error handling in SymSetContext().
dbghelp: Factorize SymUnloadModule and SymUnloadModule64.
dbghelp/dwarf: Properly handle error cases while computing frame_cfa.
msvcrt: Support I width modifier in *scanf* family.
Esme Povirk (2):
localspl: Add ARM print environments.
localspl: Choose print environment based on architecture.
Florian Eder (1):
robocopy: Add stub.
François Gouget (3):
ctype.h: Add _isctype_l() declaration.
wrc: Add a trailing linefeed to a couple of error() messages.
winebus.sys: Add a trailing linefeed to a couple of FIXME()s.
Gabriel Ivăncescu (2):
mshtml: Implement HTMLDocument's toString using dispex_to_string.
mshtml/tests: Add tests for mimeTypes and plugins objects' names.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.2.196.
Gijs Vermeulen (1):
windows.devices.enumeration: Add stub dll.
Hans Leidekker (4):
wpcap: Accept interfaces without associated IPv4 or IPv6 address.
wbemprox: Return an empty array for __DERIVATION.
wbemprox: Add __DERIVATION to the list of system properties.
wbemprox: Implement Win32_OperatingSystem.Status.
Huw D. M. Davies (3):
maintainers: Update GDI files.
wineps: Avoid using typeof().
gdiplus: Switch to STRETCH_HALFTONE mode before playing a blit record.
Ivo Ivanov (1):
dinput: Ignore input caps from the PID usage page.
Jacek Caban (33):
win32u: Use syscall interface for bitmap functions.
win32u: Use syscall interface for region functions.
win32u: Use syscall interface for some DC functions.
win32u: Use syscall interface for some font functions.
win32u: Use syscall interface for some GDI objects functions.
win32u: Use syscall interface for some mapping functions.
win32u: Use syscall interface for some palette functions.
win32u: Use syscall interface for some path functions.
win32u: Use syscall interface for pen constructors.
win32u: Use syscall interface for spooler functions.
ntdll: Move error mapping to a header file.
ntdll: Export RtlNtStatusToDosError from Unix lib.
win32u: Move NtUserCloseWindowStation from user32.
win32u/tests: Add NtUserCloseWindowStation test.
win32u: Move NtUserGetProcessWindowStation implementation from user32.
win32u: Move NtUserSetProcessWindowStation implementation from user32.
win32u: Move NtUserCloseDesktop implementation from user32.
win32u: Move NtUserGetThreadDesktop implementation from user32.
win32u: Move NtUserSetThreadDesktop implementation from user32.
win32u: Move NtUserOpenInputDesktop implementation from user32.
win32u: Move NtUserGetObjectInformation implementation from user32.
win32u: Move NtUserSetObjectInformation implementation from user32.
make_unicode: Update vertical.c path.
win32u: Move NtUserCreateWindowStation implementation from user32.
win32u: Move NtUserOpenWindowStation implementation from user32.
win32u: Move NtUserCreateDesktopEx implementation from user32.
win32u: Move NtUserOpenDesktop implementation from user32.
win32u: Factor out reg_open_hkcu_key.
win32u: Move winstation initialization from user32.
win32u: Use syscall interface for some D3DKMT functions.
win32u: Don't use CDECL for font backend functions.
win32u: Don't use CDECL for OSMesa functions.
win32u: Don't call abort proc in NtGdiStartDoc.
Jan Sikorski (34):
wined3d: Make wined3d_device_context procedures thread safe.
wined3d: Do not call wined3d_device_destroy_default_samplers() in the CS thread.
wined3d: Use atomic instructions for resource view bind counts.
wined3d: Count all bo's towards retired bo size.
wined3d: Make reference count decrementing functions thread safe.
wined3d: Set render targets and UAVs atomically in wined3d.
d3d11: Use wined3d_device_context_set_render_targets_and_unordered_access_views() in OMSetRenderTargets.
d3d11: Don't grab wined3d lock for reference incrementing functions.
d3d11: Don't grab wined3d lock for wined3d_texture_incref().
d3d11: Don't grab wined3d lock for reference decrementing functions.
d3d11: Don't grab wined3d lock for wined3d_texture_decref().
d3d11: Don't grab wined3d lock for query issue functions.
d3d11: Don't grab wined3d lock for resource mapping and unmapping.
d3d11: Don't grab wined3d lock for wined3d state setters.
d3d11: Don't grab wined3d lock for wined3d draw functions.
d3d11: Don't grab wined3d lock for wined3d dispatch functions.
d3d11: Don't grab wined3d lock for wined3d copy (sub)resource functions.
d3d11: Don't grab wined3d lock for wined3d_device_context_update_sub_resource().
d3d11: Don't grab wined3d lock for view clears.
d3d11: Don't grab wined3d lock for wined3d_device_context_resolve_sub_resource().
d3d11: Don't grab wined3d lock for generating mipmaps.
d3d11: Don't grab wined3d lock for wined3d_device_context_reset_state().
d3d11: Don't grab wined3d lock for wined3d_device_context_flush().
d3d11: Don't grab wined3d lock for wined3d_device_context_copy_uav_counter().
d3d11: Don't grab wined3d lock for wined3d_device_context_execute_command_list().
d3d11: Don't grab wined3d lock for wined3d deferred context functions.
ddraw: Don't grab wined3d lock for wined3d_resource_unmap().
dxgi: Don't grab wined3d lock for wined3d_resource_map/unmap().
dxgi: Don't grab wined3d lock for wined3d_decref().
d3d8: Don't grab wined3d lock for wined3d_resource_map/unmap().
d3d8: Don't grab wined3d lock in vertex/indexbuffer AddRef/Release().
d3d8: Don't grab wined3d lock in surface AddRef/Release().
d3d9: Don't grab wined3d lock for wined3d_resource_map/unmap().
d3d8: Don't grab wined3d lock for wined3d_vertex_declaration_decref().
Jefferson Carpenter (1):
msxml3/saxreader: Handle null url in parseURL().
Julian Rüger (1):
po: Update German translation.
Martin Storsjö (1):
xslt: Build with LIBXSLT_STATIC, fix building with clang in MSVC mode.
Matteo Bruni (1):
wined3d: End transform feedback on SO buffer destruction even if the D3D buffer isn't bound.
Michael Stefaniuc (1):
dinput: Avoid negating FAILED().
Nikolay Sivov (23):
d3d10/effect: Use shader variable directly from pass structure on Apply().
d3d10/tests: Add some tests for annotations.
d3d10/effect: Use separate structure for annotations array.
d3d10/effect: Handle static variable assignments for object fields in state objects.
d3d10/effect: Add support for constant index and anonymous shader values in assignment parsing helper.
d3d10/effect: Consolidate state objects and passes property information.
d3d10/effect: Get rid of linear search for property information.
d3dx9: Implement ID3DXTextureShader::GetFunction().
d3d10/effect: Do not use internal value types.
d3d10/effect: Remove unused arguments from shader resources helper.
d3d10/effect: Add a helper to return array element.
d3d10/effect: Pick up resources from elements when shader variable arrays are used.
d3d10/effect: Use destination index when setting array property element.
d3d10/effect: Use SamplerState.Texture when setting shader resources.
d3d10/effect: Remove buffer type argument from object creation helper.
d3d10/effect: Use correct vertex shader element when returning input signature.
d3d10/tests: Use IsValid() instead of null checks.
dwrite: Add properties for new Unicode 13 scripts.
d3d11: Correctly handle optional arguments in OMGetDepthStencilState().
mfplay: Do not clear media item when playback ends.
mfplay: Handle NULL item in SetMediaItem().
mfplat: Consider MF_BYTESTREAM_ORIGIN_NAME when looking for bytestream handler.
mfplat: Use wide strings for registry paths.
Paul Gofman (9):
winhttp: Don't send notifications when connection is closed on read finish.
winhttp: Process end of read data before sending callback in read_data().
server: Use SO_BINDTODEVICE in bind_to_index() if possible.
winex11.drv: Detach vulkan surfaces during thread detach.
ntdll: Fix size comparison in NtQuerySystemInformation(SystemCodeIntegrityInformation).
ntdll: Store module check sum in WINE_MODREF.
include: Update LDR_DATA_TABLE_ENTRY definition.
include: Update struct _LDR_DDAG_NODE definition.
kernel32/tests: Add test for DDAG node dependencies structure.
Piotr Caban (16):
ucrtbase: Add __std_terminate export.
msvcrt: Don't crash on NULL in fclose.
imm32: Add ImmSetActiveContext implementation.
imm32: Exit on invalid window in ImmAssociateContext.
imm32: Use ImmSetActiveContext in ImmAssociateContext.
imm32: Only call ImmSetActiveContext for active window in ImmAssociateContext.
imm32: Initialize COM in ImmSetActiveContext.
imm32: Destroy default IME windows in ImmDisableIME.
winemac.drv: Silence ImeSetActiveContext fixme.
winex11.drv: Silence ImeSetActiveContext fixme.
ucrtbase: Fix fopen x mode test failures.
ucrtbase: Change _isblank_l return value for '\t'.
ucrtbase: Avoid bool optimization in __std_exception_copy.
imm32: Delay import ole32.dll.
user32: Set IMM active context on focus change.
imm32: Only call ImmSetActiveContext for focused window in ImmAssociateContext.
Robert Wilhelm (2):
vbscript: Emit catch after enumnext in for each loops.
oleaut32: Rescale result after overflow in VarDecAdd.
Rémi Bernon (64):
dinput: Move device_instance_is_disabled to device.c.
dinput: Move PIDVID internal guid to device.c.
dinput: Remove legacy joystick backends.
dinput: Build with msvcrt.
dinput: Use wide char string literals.
dinput: Use msvcrt memory allocation functions.
maintainers: Add hidparse.sys under HID support.
maintainers: Replace DirectInput with a Joystick input section.
maintainers: Assume maintainership of the Joystick input section.
dinput: Only dump the HID report data that has been read.
winebus.sys: Do not parse bluetooth "PRODUCT=" uevent field.
dinput8/tests: Add some more polled read tests.
hidclass.sys: Re-read the poll timeout on every iteration.
hidclass.sys: Don't queue reports in polled mode.
dinput: Fix invalid use of post-incremented device_count value.
dinput: Factor all GetDeviceInfo implementations together.
dinput: Factor all GetCapabilities implementations together.
dinput: Factor all BuildActionMap wrappers together.
dinput: Factor all SetActionMap wrappers together.
dinput: Move mouse (Un)Acquire functions around.
dinput: Factor all (Un)Acquire implementations together.
dinput: Introduce new dinput_device_internal_unacquire helper.
dinput: Wait for the internal thread to complete unacquiring.
dinput: Correctly parse instance numbers for joystick semantics.
hidparse.sys: Ignore unknown item types, rather than failing.
dinput8/tests: Remove old packet report id checks in HID driver.
joy.cpl: Consistently use the 32 buttons limit from DIJOYSTATE.
joy.cpl: Better handle effect creation errors.
winebus.sys: Fix inverted SDL joystick hat switch y axis.
dinput: Add support for more HID axes usages.
dinput8/tests: Add mouse and keyboard object enumeration tests.
dinput: Introduce new direct_input_device_init helper.
dinput: Implement EnumObjects through the internal vtable.
dinput: Implement internal enum_objects for the mouse device.
dinput: Implement internal enum_objects for the keyboard device.
dinput: Factor all GetObjectInfo implementations together.
winebus.sys: Define BUS_BLUETOOTH if it is missing.
winebus.sys: Only use SDL_JoystickRumble as a fallback.
winebus.sys: Process quirky DS4 bluetooth reports.
dinput: Use object instance offset to access extra value caps.
dinput: Factor all GetProperty implementations together.
dinput: Implement GetProperty with DIPROP_FFGAIN stub.
dinput: Use the base device state in the mouse device.
dinput: Use the base device state in the keyboard device.
dinput: Factor all SetProperty implementations together.
dinput: Factor object enumeration checks and offset mapping.
dinput: Factor all Poll implementations together.
dinput: Check for mouse warping in the poll callback.
dinput: Factor all GetDeviceState implementations together.
dinput: Add a release callback for internal refcount handling.
dinput: Replace stub EnumEffects with generic implementation.
dinput: Use the internal vtable for GetEffectInfo.
dinput: Move GetForceFeedbackState stub to device.c.
dinput: Move CreateEffect generic implementation to device.c.
dinput: Move SendForceFeedbackCommand generic code to device.c.
dinput: Move EnumCreatedEffectObjects checks to device.c.
winebus.sys: Prefer USAGE_AND_PAGE over BYTE arrays.
winebus.sys: Count all absolute axes.
winebus.sys: Map REL_HWEEL to HID_USAGE_GENERIC_SLIDER.
winebus.sys: Map SDL joystick axes the same way as UDEV evdev.
dinput: Set high DIK bit for extended scancodes.
dinput: Cleanup mouse device enumeration and creation.
dinput: Cleanup keyboard device enumeration and creation.
dinput: Factor all IDirectInputDevice8W vtables together.
Simon McVittie (2):
winebus.sys: Treat udev actions other than "remove" as "add".
winebus.sys: Add code path to bypass udevd and use inotify.
Ted Lyngmo (1):
ucrtbase: Add support for x mode in fopen.
Tim Clem (5):
winemac.drv: Simplify cursor clipping code paths.
winemac.drv: Stop cursor clipping when the app deactivates.
winemac.drv: Stop cursor clipping when a window is resized by dragging.
winemac.drv: Stop cursor clipping when all windows are minimized.
winemac.drv: Remove extraneous CGEventTapIsEnabled check.
Zebediah Figura (30):
server: Zero-initialize rawinput_message structures before passing them to queue_rawinput_message() (Valgrind).
server: Avoid touching the poll_req structure after calling async_request_complete() (Valgrind).
wined3d: Return the map pitch from wined3d_device_context_emit_map().
wined3d: Return the map pitch from the map_upload_bo() callbacks.
wined3d: Move the "users" field to a common wined3d_bo structure.
wined3d: Move the "memory_offset" field from struct wined3d_bo_vk to struct wined3d_bo.
wined3d: Omit GL_MAP_FLUSH_EXPLICIT_BIT for incoherent maps when ARB_MAP_BUFFER_RANGE is used.
wined3d: Move the "coherent" field from struct wined3d_bo_gl to struct wined3d_bo.
wined3d: Move the "map_ptr" field from struct wined3d_bo_vk to struct wined3d_bo.
wined3d: Handle NOOVERWRITE maps on persistently mapped Vulkan buffers from the client thread.
kernel32/tests: Add a couple of tests for error handling when reading past EOF.
include: Fix the type of the "output" parameter of IWMReaderAllocatorEx::AllocateForOutputEx().
include: Add IWMGetSecureChannel.
include: Add IWMIStreamProps.
include: Add IWMReaderCallbackAdvanced.
include: Add IWMCredentialCallback.
include: Add INSSBuffer3.
wined3d: Fully initialize the allocator structure in wined3d_allocator_init().
d3d10core/tests: Test deleting a stream output buffer immediately after drawing into it.
d3d11/tests: Test deleting a stream output buffer immediately after drawing into it.
winegstreamer: Move the IWMProfile3 implementation to a separate object.
winegstreamer: Use the wm_reader object for the synchronous reader as well.
wmvcore/tests: Sort interface tests.
winegstreamer: Move the IWMHeaderInfo3 implementation to the wm_reader object.
winegstreamer: Move the IWMLanguageList implementation to the wm_reader object.
winegstreamer: Move the IWMPacketSize2 implementation to the wm_reader object.
winegstreamer: Move the IWMReaderPlaylistBurn implementation to the wm_reader object.
winegstreamer: Move the IWMReaderTimecode implementation to the wm_reader object.
quartz: Use the performance counter for the system clock.
quartz: Avoid accessing the advise_sink structure after it is queued.
Zhiyi Zhang (19):
Revert "winevdm: Enable visual styles.".
appwiz.cpl: Pass size in bytes to RegQueryValueExW().
msctf: Set size before calling RegQueryValueExW().
msi: Pass size in bytes to RegQueryValueExW().
mshtml: Pass size in bytes to RegQueryValueExW().
shell32: Pass size in bytes to RegLoadMUIStringW() and RegQueryValueExW().
winemac.drv: Add GPU hardware information values to the registry.
winex11.drv: Set hkey to NULL after RegCloseKey() in X11DRV_InitGpu().
winemac.drv: Set hkey to NULL after RegCloseKey() in macdrv_init_gpu().
comctl32/combo: Invalidate child edit control after painting themed background.
uxtheme: Pass size in bytes to RegQueryValueExW().
winemac.drv: Pass size in bytes to RegQueryValueExW().
winex11.drv: Pass size in bytes to RegQueryValueExW().
cmd: Pass size in bytes to RegQueryValueExW().
winecfg: Pass size in bytes to RegQueryValueExW().
winefile: Set size before calling RegQueryValueExW().
user32: Change the position and size of layered windows before flushing their surfaces.
uxtheme: Save temporary system metrics to a struct in memory.
uxtheme: Check LoadedBefore registry key before loading theme.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.19 is now available.
What's new in this release (see below for details):
- IPHlpApi, NsiProxy, WineDbg and a few other modules converted to PE.
- More HID joystick work.
- Kernel parts of GDI moved to Win32u.
- More work towards Dwarf 3/4 debug support.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.19.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.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 6.19 (total 22):
30760 Open Metronome (WAV version) crashes on exit
32252 Corel Painter 12 EULA next button greyed out no matter what
37167 IEC 61850 v2.02 example client expects 'wine_pcap_findalldevs_ex' to return adapter names in '<protocol>://\Device\NPF_<adaptername>' format
37208 FreeOrion hangs when starting a quick game
44336 PureBasic x64 IDE crashes when launching online help ("F1" key)
47334 TP-Link PLC utility 2.2 crashes on startup with native 'packet.dll' (part of WinPcap)('wine_pcap_findalldevs' needs to handle empty adapter description)
47505 Levelhead: Fatal error when attempting to access the game's servers when logged in
49344 Implement kernelbase.GetModuleFileNameW using ntdll.LdrGetDllFullName
49433 MikuMikuMoving v1275 hangs on startup
50857 Darksiders Warmastered Edition crashes before starting an intro
51199 Mass Effect Legendary missing api-ms-win-core-psapi-l1-1-0 and api-ms-win-core-psapi-ansi-l1-1-0 function forwards
51504 Multiple games crash before gameplay starts/entering main menu (Control Ultimate Edition, A Plague Tale: Innocence)
51774 quartz:mpegsplit triggers an assertion in winegstreamer's src_seek_data()
51778 ws2_32:sock crashes due to a double free
51789 Fatal crash in gdi32 during initialization
51818 Reporting packet length is always 0
51822 Simucube 2 TrueDrive: Doesn't recognize the steering wheel device
51824 TrueDrive, SimHub, Fanaleds,etc.: Non smooth movement tracking with severe skipping/jumping of the steering wheel/controller axis
51828 Simucube 2: All applications using raw HID access to communicate with devices, stopped tracking steering axis movement
51831 TrueDrive: On start shows an alert that the steering wheel is turned around too close to the bump stops, while the wheel is actually aligned on top center
51837 Thronebreaker: The Witcher Tales fails to play intro videos
51838 No splash window while creating prefix
----------------------------------------------------------------
Changes since 6.18:
Alex Henrie (5):
ws2_32: Remove outer preprocessor checks from control message functions.
ws2_32/tests: Use %u and %Iu in test_ipv6_cmsg instead of casting.
ws2_32/tests: Add tests for IPv4 control messages.
ws2_32: Hook up IP_RECVTTL.
ws2_32: Hook up IP_RECVTOS.
Alexandre Julliard (56):
ntdll: Return a cleaner Unix path for z: drive in wine_nt_to_unix_file_name().
ntdll: Add a __wine_unix_spawnvp syscall.
winevdm: Build with msvcrt.
winebrowser: Build with msvcrt.
tools: Add a shared header for common helper functions.
tools: Add helper functions to spawn a command from an strarray.
tools: Add a helper function to create temp files.
tools: Add a few helper functions for file names and extensions.
winedump: Use the shared tools functions.
widl: Use a string array for the filenames list.
winemenubuilder: Abort on memory allocation failures.
winemenubuilder: Use PathMatchSpec() instead of fnmatch().
winemenubuilder: Store the paths of .lnk files as DOS paths.
winemenubuilder: Launch .lnk files directly through the Wine loader.
winemenubuilder: Use Unicode strings to process association entries.
winemenubuilder: Use Unicode strings to write desktop entries.
winemenubuilder: Use DOS path names to create desktop and menu files.
winemenubuilder: Use DOS path names to create icon files.
winemenubuilder: Use DOS path names to create associations.
winemenubuilder: Build with msvcrt.
winemenubuilder: Use wide character string literals.
winedbg: Use winsock for the gdb socket.
winedbg: Avoid using 'long' types.
winedbg: Avoid using the 'long double' type.
winedbg: Build with msvcrt.
configure: Remove no longer needed poll() checks.
tools: Implement a replacement for getopt_long().
widl: Avoid using getopt_long().
wmc: Avoid using getopt_long().
wrc: Avoid using getopt_long().
winebuild: Avoid using getopt_long().
sfnt2fon: Avoid using getopt_long().
make_xftmpl: Avoid using getopt().
server: Avoid using getopt_long().
server: Avoid mkstemps().
libport: Remove the getopt_long() implementation.
libport: Remove the mkstemps() implementation.
libport: Remove the _spawnvp() implementation.
configure: Disable building mountmgr.sys on Windows for now.
tools: Move some portability defines out of port.h.
libport: Remove the obsolete O_LARGEFILE define.
libport: Remove the lstat() implementation.
libport: Remove the readlink() implementation.
libport: Remove the symlink() implementation.
makefiles: Remove libwine_port.
makefiles: Use the STATICLIB variable for static import libraries.
bcrypt: Remove some no longer needed Unix backend functions.
bcrypt: Add a helper macros to load GnuTLS optional functions.
bcrypt: Move public key allocation to the PE side.
bcrypt: Convert the Unix library to the __wine_unix_call() interface.
ntdll: Move some exception definitions to winternl.h.
configure: Remove some no longer needed configure checks.
tools: Avoid using wine/port.h.
server: Avoid using wine/port.h.
configure: Use CROSSLDFLAGS as flags for cross-compiler tests.
makefiles: Only build static libraries that are needed for linking.
Alistair Leslie-Hughes (4):
include: Add SPSTREAMFORMAT enum values.
wininet: Reset context length for http status 304.
include: Add more sapi interfaces.
wininet: Allow up to 4K for response headers.
Arkadiusz Hiler (1):
hidclass.sys: Don't send WM_INPUT_DEVICE_CHANGE for WINEXINPUT devices.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (1):
api-ms-win-core-realtime-l1-1-1: Add stub DLL.
Charles Davis (4):
winegcc: Only add -static-libgcc if -nodefaultlibs weren't given. (Clang).
crypt32: Use the SecItemExport() function.
secur32: Use the SecItemExport() function.
configure: Stop checking for SSLCopyPeerCertificates().
Connor McAdams (18):
include: Define EVENT_OBJECT_INVOKED.
user32/tests: Add missing winevents to test_menu_messages() message sequences.
user32/tests: Fix existing winevents in test_defwinproc() message sequences.
user32/tests: Add missing winevents to test_defwinproc() message sequences.
user32/tests: Add message to fix occasional failure in test_dialog_messages().
oleacc: Add get_accRole implementation for edit client accessible object.
oleacc: Add get_accState function for edit client accessible object.
oleacc: Add get_accName function for edit client accessible object.
oleacc: Add get_accKeyboardShortcut function for edit client accessible object.
oleacc: Add get_accValue function for edit client accessible object.
oleacc: Add put_accValue function for edit client accessible object.
oleacc/tests: Add tests for default edit accessible object.
user32/tests: Store thread ID of thread we're watching for winevents.
user32/tests: Add missing winevents to test_layered_window() message sequences.
user32/tests: Add missing winevents to test_TrackPopupMenu() message sequences.
user32/tests: Add missing winevents to test_TrackPopupMenuEmpty() message sequences.
user32/tests: Add missing winevents to test_DoubleSetCapture() message sequences.
user32/tests: Fix dump_sequence winevent_hook_todo handling.
Daniel Lehman (1):
ntoskrnl.exe: Fix use-after-free when freeing IRP.
Dmitry Timoshkov (1):
vcruntime140_1: Fix compilation with clang.
Eric Pouech (33):
dbghelp/dwarf: Fix a couple of parent/child mismatch.
dbghelp/dwarf: Add support for partial compilation units.
dbghelp/dwarf: Add support for DW_TAG_imported_unit.
dbghelp/dwarf: Pass cuhead to loc_compute_frame.
dbghelp/dwarf: Split dwarf2_virtual_unwind into two functions.
dbghelp/dwarf: Added support for OP_call_frame_cfa.
dbghelp/dwarf: Silence a couple of dwarf DIE's tag in load_one_debug_entry.
dbghelp/dwarf: Downgrade FIXME into WARN for empty range.
dbghelp/dwarf: Add support for local variables with constant values.
dbghelp/dwarf: Fix incorrect WARN.
dbghelp/dwarf: Bump max supported version (by default) up to 4.
include/cvconst.h: Add enumeration for newest SymTag values.
d3dx9: Fix use of D3DXVec2Normalize().
d3dx9/tests: Fix use of D3DXVec2Normalize().
dbghelp: Don't expose SymTagExe or SymTagCompiland's address nor length in SymGetTypeInfo().
dbghelp: Expose compiland's children in SymGetTypeInfo().
dbghelp: Manage parent/child relationship between SymTagExe and SymTagCompiland.
dbghelp: Silence FIXME when requesting SymTagExe lexical parent in SymGetTypeInfo().
dbghelp: Expose SymTagBlock's children in SymGetTypeInfo().
dbghelp: Expose SymTagBlock's address and size in SymGetTypeInfo().
dbghelp: Update SymGetTypeInfo() requests and SymTagEnum to latest dbghelp definitions.
dbghelp: SymTagFunctionArgType's lexical parent is module, not SymTagFunctionType.
dbghelp: Expose no children in SymGetTypeInfo() for some SymTags.
dbghelp: Silence FIXMEs in SymGetTypeInfo().
dbghelp: Return error when requesting SymTagLabel's size in SymGetTypeInfo().
dbghelp: Return SymTagExe when requesting lexical parent of types in SymGetTypeInfo().
dbghelp: Return lexical parent of SymTag(FuncDebugStart|FuncDebugEnd|Label) in SymGetTypeInfo().
dbghelp: Return SymTagExe when requesting lexical parent of SymTagPublicSymbol in SymGetTypeInfo().
dbghelp: Report once FIXME of unsupported requests in SymGetTypeInfo().
dbghelp/dwarf: Correctly compute address of label.
dbghelp: MapDebugInformation and UnmapDebugInformation are not available on 64 bit architectures.
dbghelp: Handle address of labels not included in functions.
dbghelp: Added support for custom symbols.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (20):
mshtml: Adjust the IWineHTMLWindowPrivate ids.
mshtml: Implement proper value for WineDOMTokenList.
mshtml: Expose toString() for WineDOMTokenList.
mshtml: Implement HTMLAreaElement's href prop.
mshtml: Implement HTMLStyleSheet's addRule.
gdi32: Create the registry keys recursively, if needed.
mshtml: Add names for each object and use it in the Navigator.
mshtml: Use dispex_to_string when retrieving the value of an object.
mshtml: Use proper compat mode for HTMLDOMAttribute.
mshtml: Cap the compat mode for filters collection to IE8 mode.
mshtml: Implement HTMLElement's toString.
mshtml/tests: Add more tests for builtin objects' toString and names.
mshtml: Implement HTMLWindow's toString properly.
mshtml: Implement HTMLElementCollection's toString.
mshtml: Implement HTMLStyle's toString.
mshtml: Implement HTMLDOMTextNode's toString.
mshtml: Expose window.performance in all modes.
mshtml: Implement HTMLPerformance's toString.
mshtml: Implement HTMLPerformanceNavigation's toString.
mshtml: Implement HTMLPerformanceTiming's toString.
Georg Lehmann (2):
winevulkan: Support aliased constants.
winevulkan: Update to VK spec version 1.2.195.
Gerald Pfeifer (1):
winebus.sys: Fix non-Linux builds.
Gijs Vermeulen (2):
bcrypt: Remove macOS backend.
secur32: Remove macOS backend.
Giovanni Mascellani (3):
winegstreamer/media_source: Emit absolute presentation timestamp.
winegstreamer/media_source: Only seek if it was requested by the caller.
winegstreamer/media_source: Implement paused state.
Hans Leidekker (5):
secur32: Store LSA package and handle in the credential/context handle's dwLower field.
secur32: Don't allocate new handles in the wrapper.
wpcap: Wrap native handles in a structure.
wpcap: Convert pcap_pkthdr structures.
wpcap: Map Unix interfaces to Windows adapters.
Huw D. M. Davies (26):
secur32: Restore the done label.
nsiproxy: Use a pthread_mutex to guard the interface list.
nsiproxy: Use an ascii version of str(n)casecmp() instead of _strnicmp().
nsiproxy: Switch memory allocations to malloc().
nsiproxy: Build with msvcrt.
nsiproxy: Rename private unixlib header to unix_private.h.
nsiproxy: Let the general dispatch function update the irp's status.
nsiproxy: Introduce IOCTL_NSIPROXY_WINE_ICMP_ECHO.
nsiproxy: Actually send the ICMP ECHO request.
nsiproxy: Introduce a unix-side handle returned by icmp_send_echo().
nsiproxy: Pass the listen request off to a separate thread.
nsiproxy: Wait for an icmp reply.
nsiproxy: Parse any received ICMP_ECHO_REPLY.
nsiproxy: Add support for parsing other icmp packets.
nsiproxy: Implement the ability to cancel the listener.
winebus.sys: Convert the product strings to Unicode on the Unix-side.
iphlpapi: Stop using USE_WS_PREFIX.
iphlpapi: Implement IcmpParseReplies().
iphlpapi: Move the Icmp6 stubs to iphlpapi_main.c.
iphlpapi: Implement IcmpSendEcho2Ex() using nsiproxy.
iphlpapi: Build with msvcrt.
iphlpapi: Build with nameless structs and unions.
iphlpapi: Use wide character string literals.
cryptnet/tests: Explicitly set cbSize before each test.
configure: No longer disable iphlpapi in a Windows build.
ntdll: Return a failure if the unix call funcs don't exist.
Ivo Ivanov (4):
hidparse.sys: Preserve the original report_count in parse_new_value_caps.
hidclass.sys: Use the report length when copying report data.
winebus.sys: Fix memory leaks in bus_event_queue functions.
winebus.sys: Fix incorrect length when parsing uevent "HID_NAME=".
Jacek Caban (48):
gdi32: Directly use ntdll in update_font_system_link_info.
gdi32: Directly use ntdll in update_codepage.
gdi32: Directly use ntdll in init_font_options.
gdi32: Directly use ntdll in get_associated_charset_info.
gdi32: Directly use ntdll in load_system_bitmap_fonts and load_file_system_fonts.
gdi32: Directly use ntdll in update_external_font_keys.
gdi32: Directly use ntdll in load_registry_fonts.
gdi32: Read screen DPI config in init_font_options.
gdi32: Move __wine_get_wgl_driver to driver.c.
gdi32: Fix NT prefix handling in update_external_font_keys.
user32: Always initialize graphics_driver in load_desktop_driver.
gdi32: Don't use wide string literals ntgdi functions.
gdi32: Get codepages and OS version directly from PEB.
gdi32: Remove unused argument from CreateDC driver entry point.
gdi32: Use NtGdiOpenDCW for CreateDCW.
gdi32: Don't use WideCharToMultiByte in font.c.
gdi32: Introduce user_callbacks.
gdi32: Avoid using CRT wide char functions in ntgdi functions.
gdi32: Move ntgdi functions to Unix library.
gdi32: Use single get_cptable implementation.
gdi32: Use native memory allocators in Unix library.
gdi32: Use NtAllocateVirtualMemory to alloc DC_ATTR.
gdi32: Use NtAllocateVirtualMemory to allocate GDI_SHARED_MEMORY.
makedep: Use -fno-builtin for CRT DLLs on PE targets.
makedep: Don't use -fno-builtin for importlibs.
gdi32: Use pthread mutex in driver.c.
gdi32: Use pthread mutex instead of gdi_section.
gdi32: Use pthread mutex in font.c.
gdi32: Use pthread mutex in dib driver.
gdi32: Use win32u_wcsicmp instead of RtlCompareUnicodeStrings.
gdi32: Don't use RtlDosPathNameToNtPathName_U in get_unix_file_name.
gdi32: Avoid using RtlOpenCurrentUser.
gdi32: Use local helpers for Unicode conversion in Unix lib.
include: Don't use DECLSPEC_HIDDEN for NTSYSAPI in Unix libs.
ntdll: Introduce ntdll_get_build_dir and ntdll_get_data_dir.
ntdll: Provide some Unicode helpers for Unix libs.
ntdll: Allow Unix libraries to use exception macros.
ntdll: Handle Unix lib exception outside Unix stack.
gdi32: Use __wine_unix_call interface for Unix library.
gdi32: Use __wine_ prefix for Wine ntgdi extensions.
win32u: Move ntgdi implementation from gdi32.
include: Use __builtin_offsetof on Clang.
gdi32: Rename gdidc.c to dc.c.
user32: Link directly to win32u.
gdi32: Don't export Wine extensions.
gdi32: Use DLL forwarding for D3DKMT functions.
win32u: Use syscall interface for brush functions.
vbscript: Use a dedicated opcode for identifier expressions.
Jan Sikorski (8):
wined3d: Record a state reset on the first command list.
wined3d: Initial implementation of queries for deferred contexts.
wined3d: Return error when GetData() is called from a deferred context.
wined3d: Introduce wined3d_view_load_location() helper.
wined3d: Don't pass wined3d_shader to shader_spirv_compile().
wined3d: Use a single allocation for command list data.
wined3d: Set VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT for unordered access images.
wined3d: Implement UAV clears on the Vulkan backend.
Jinoh Kang (1):
user32: Implement WindowFromPhysicalPoint.
Julian Rüger (1):
po: Update German translation.
Lauri Kenttä (1):
po: Update Finnish translation.
Matteo Bruni (5):
d3d10core/tests: Use test contexts in test_stream_output().
wined3d: Get rid of a WARN() in init_format_filter_info().
d3dx9/tests: Clean up GetMatrixPointerArray() tests.
d3dcompiler/tests: Also accept broken HRESULT with d3dcompiler_46.
ntdll: Implement NtYieldExecution() as usleep().
Nikolay Sivov (56):
d3d10/effect: Validate shared object types against the pool.
d3d10/effect: Validate shared constant buffer types against the pool.
d3d10/effect: Implement IsOptimized().
d3d10/effect: Handle D3D10_SVT_UINT when reading float constants.
d3d10/tests: Regenerate state group test effect with newer compiler.
ole32/tests: Systematically check for supported moniker interfaces.
ole32/tests: Add some tests for CommonPrefixWith().
ole32/composite: Implement CommonPrefixWith() without iterators.
ole32/composite: Fix IsEqual() comparison logic.
ole32/composite: Fix argument handling in ComposeWith().
ole32/composite: Reimplement Inverse().
ole32/antimoniker: Fix argument handling in RelativePathTo().
ole32/itemmoniker: Fix argument handling in RelativePathTo().
ole32/pointermoniker: Fix argument handling in RelativePathTo().
ole32/filemoniker: Fix argument handling in Reduce().
ole32/composite: Improve handling of BindToObject() when left side moniker is specified.
ole32/composite: Handle per-component failure in GetDisplayName().
ole32/pointermoniker: Fix argument check in GetDisplayName().
ole32/tests: Add a GetComparisonData() test for composite.
ole32/composite: Cleanup IsRunning() implementation.
ole32/composite: Do not use antimoniker composition in BindToStorage().
ole32/composite: Reimplement Reduce().
ole32/composite: Fix argument handling in component enumerator methods.
ole32/composite: Do not use enumerators and antimoniker composition in RelativePathTo().
ole32/composite: Disable cloning of enumerator instances.
ole32/composite: Cleanup enumerator methods.
ole32: Use public function to get file extension in GetClassFile().
riched20: Remove New() allocation macro.
riched20: Use regular allocation helpers for text services objects.
d3d10/effect: Go through both local and shared buffers when looking for shader resources.
d3d10/effect: Go through both local and shared variables when looking for shader resources.
ole32/tests: Remove unused variable.
d3d10/effect: Fix handling samplers array binding.
d3d10/effect: Set corresponding flag for pooled variables.
d3d10/effect: Remove unused field from pass structure.
d3d10/effect: Reduce duplication in state and shader object release helpers.
d3d10/effect: Use separate enum to describe property container.
d3d10/effect: Make it clear which assignment types are supported in state groups.
d3d10/effect: Remove a bit of a dead code for semantic handling, for anonymous shader variables.
widl: Allow modules without attributes.
widl: Allow [hidden] and [version] on modules.
include: Add some more TOM interfaces.
d3d10/effect: Remove fixme from D3D10CreateEffectFromMemory().
d3d10/effect: Make it clear that buffers are always set one by one.
d3d10/effect: Rename known and used field in type descriptor.
d3d10/effect: Access pool effect structure directly.
d3d10/effect: Extend sampler backing store with a texture field.
d3d10/effect: Handle NULL initializer for SamplerState.Texture field.
ntdll: Double dll name buffer size for relay traces.
d3d10/effect: Use effect variable pointers to store per-pass shader objects.
d3d10/effect: Set shader masks in ComputeStateBlockMask() for passes.
d3d10: Fix up D3D10_DST_* names.
d3d10/effect: Explicitly store rasterizer state variable.
d3d10/effect: Explicitly store depth stencil state variable.
d3d10/effect: Explicitly store blend state variable.
d3d10/effect: Set state block masks for state variables.
Paul Gofman (12):
ntdll: Implement LdrGetDllHandleEx() function.
kernelbase: Sanitize flags in GetModuleHandleExW().
kernelbase: Don't use LdrLockLoaderLock() in GetModuleHandleExW().
kernelbase: Don't use loader lock for loading libraries as data files.
ntdll: Factor out get_vprot_range_size() function.
ntdll: Scan pages only once in get_basic_memory_info().
ntdll: Optimize get_vprot_range_size() for big ranges.
ntdll/tests: Add test for LdrGetDllFullName().
ntdll: Implement LdrGetDllFullName() function.
kernelbase: Use LdrGetDllFullName() in GetModuleFileNameW().
kernelbase: Fix string size variable overflow in GetModuleFileNameW().
wintrust: Cache provider functions in WintrustLoadFunctionPointers().
Piotr Caban (11):
oleacc: Reorganize class specific behaviour handling.
oleacc: Add default client IAccessible::put_accValue implementation.
user32/tests: Print context in window style tests.
user32/tests: Test style returned by GetWindowLong in WM_CREATE.
user32/tests: Don't use the same condition in ok and todo_wine_if.
user32: Simplify CreateWindow condition for setting WS_EX_WINDOWEDGE style.
user32: Add helper for setting WS_EX_WINDOWEDGE flag.
user32: Update exstyle when setting style in SetWindowLong.
user32/tests: Test window style in HCBT_CREATEWND hook.
user32: Fix style passed to HCBT_CREATEWND hook.
user32: Fix window style while CBT_CREATEWND hook is called.
Robert Wilhelm (1):
vbscript: Don't use function return value for call expressions.
Rémi Bernon (124):
dinput: Use a custom HID joystick state instead of DIJOYSTATE2.
dinput: Enumerate all HID joystick objects at once.
dinput: Return proper error status from HID joystick GetObjectInfo.
dinput: Convert DIPH_BYOFFSET filter to use current data format offsets.
dinput: Compute HID joystick object offsets dynamically.
kernelbase: Fix incorrect pseudo console allocation size (GCC 11).
winebus.sys: Move hidraw_device code around.
dinput: Return DIERR_NOTFOUND when DIPROP_RANGE object isn't found.
dinput: Return DIERR_UNSUPPORTED when reading DIPROP_RANGE with DIPH_DEVICE mode.
dinput: Check that DIPROP_RANGE lMin and lMax are ordered.
dinput: Reset the HID joystick state values on DIPROP_RANGE changes.
dinput: Scale HID joystick axis values according to their center point.
dinput: Implement HID joystick DIPROP_(DEADZONE|SATURATION|GRANULARITY).
dinput: Implement HID joystick DIPROP_AUTOCENTER property.
dinput: Remove unusual HID joystick button count FIXMEs.
include: Add HID Physical Interface Device usage page.
include: Add Wine-specific HID PID usages definitions.
include: Add IID_IDirectInputPIDDriver definition.
dinput8/tests: Add a new force-feedback capable HID joystick test.
dinput: Improve filtering of HID device state input report.
dinput: Enumerate HID joystick objects using internal HID caps.
dinput: Enumerate HID joystick DIDFT_OUTPUT objects.
dinput: Enumerate output button objects in their declaration order.
dinput: Simplify object enumeration by removing special cases.
hidclass.sys: Don't leak report queues on device removal.
hidclass.sys: Keep pending IRPs with the report queues.
hidclass.sys: Rename hid_report_queue into hid_queue.
dinput8/tests: Don't try running more tests after a win_skip.
dinput8/tests: Add some HID joystick IDirectInputDevice8_EnumEffects tests.
dinput8/tests: Add the required PID reports to enumerate some effects.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetEffectInfo tests.
dinput8/tests: Add the required PID reports to acquire the device.
dinput8/tests: Add some HID joystick IDirectInputDevice8_Escape tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetForceFeedbackState tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_SendForceFeedbackCommand tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_SendDeviceData tests.
dinput8/tests: Add the required PID reports to create effects.
dinput8/tests: Add some HID joystick IDirectInputDevice8_CreateEffect tests.
dinput: Fix HID joystick DIDFT_POV enumeration.
dinput: Stub hid_joystick force feedback methods.
winebus.sys: Add a PID device control output report.
dinput: Look for the PID device control output report.
dinput: Implement hid_joystick_SendForceFeedbackCommand.
dinput: Start and cancel reading HID reports while holding the CS.
dinput: Send DISFFC_RESET command on HID joystick (Un)Acquire.
dinput: Implement HID joystick IDirectInputDevice8_EnumEffects.
dinput: Implement HID joystick IDirectInputDevice8_CreateEffect stub.
winebus.sys: Implement PID device control for SDL devices.
winebus.sys: Implement PID device control for UDEV lnxev devices.
dinput8/tests: Add some HID joystick IDirectInputDevice8_EnumCreatedEffectObjects tests.
dinput: Keep a private ref to the device on created effects.
dinput: Implement HID joystick IDirectInputDevice8_EnumCreatedEffectObjects.
winebus.sys: Add a PID effect control output report.
dinput: Look for the PID effect control output report.
winebus.sys: Implement PID effect control for SDL devices.
winebus.sys: Implement PID effect control for UDEV lnxev devices.
hidclass.sys: Introduce new find_report_with_type_and_id helper.
hidclass.sys: Drop reports when length doesn't match their declaration.
hidclass.sys: Overwrite queued reports as FIFO instead of LIFO.
winebus.sys: Use type and size of the current event, not the previous one.
winebus.sys: Add a PID effect update output report.
dinput: Look for the PID effect update output report.
winebus.sys: Implement PID effect update for SDL devices.
winebus.sys: Implement PID effect update for UDEV lnxev devices.
dinput: Implement more of HID joystick IDirectInputDevice8_GetEffectInfo.
dinput: Look for PID axes enable collection and set DIEP_AXES if found.
winexinput.sys: Fix casing of "Xbox One for Windows" product string.
winexinput.sys: Add more Xbox One product string overrides.
winebus.sys: Add more Xbox controllers product ids.
hidclass.sys: Pass output buffer directly in handle_minidriver_string.
hidclass.sys: Move product string overrides from winexinput.sys.
hidclass.sys: Add Sony controllers product string overrides.
dinput8/tests: Reduce test output verbosity.
dinput8/tests: Reduce pnp_driver_start todo_wine verbosity.
dinput8/tests: Add some HID joystick IDirectInputEffect_Initialize tests.
dinput8/tests: Add some HID joystick IDirectInputEffect_GetParameters tests.
dinput8/tests: Add Y and Z axes as force-feedback capable axes.
dinput8/tests: Add some HID joystick IDirectInputEffect_SetParameters tests.
dinput8/tests: Add more force-feedback effects PID reports and caps.
dinput: Add DIDFT_FFACTUATOR flag on PID effect axes.
dinput: Add DIDFT_FFEFFECTTRIGGER flag on trigger buttons.
dinput: Fill the HID joystick object instance exponent and dimension.
joy.cpl: Acquire the device before starting effect.
joy.cpl: Pass DIEFF_OBJECTOFFSETS flag to IDirectInputEffect_SetParameters.
winexinput.sys: Remove unnecessary IOCTL_HID_GET_STRING condition.
winebus.sys: Remove "stub!" from lnxev_device_haptics_start trace.
winebus.sys: Don't enter critical section in bus_find_unix_device.
winebus.sys: Parse product string from uevent HID_NAME.
dinput: Remove "stub!" from HID joystick IDirectInputDevice8_EnumCreatedEffectObjects.
dinput: Allocate buffers for the effect control and update reports.
dinput: Implement HID joystick IDirectInputEffect_Initialize.
dinput: Implement HID joystick IDirectInputEffect_GetEffectGuid.
dinput8/tests: Add some HID joystick IDirectInputEffect_(Download|Unload) tests.
dinput8/tests: Add some HID joystick IDirectInputEffect_(Start|Stop) tests.
dinput: Implement HID joystick IDirectInputEffect_(Start|Stop).
dinput: Partially implement HID joystick IDirectInputEffect_GetParameters.
dinput: Partially implement HID joystick IDirectInputEffect_SetParameters.
dinput: Look for PID direction collection and set DIEP_DIRECTION if found.
dinput: Implement HID joystick IDirectInputEffect_(Download|Unload).
winebus.sys: Add a PID set periodic output report.
dinput: Implement support for the PID effect set periodic report.
winebus.sys: Add a PID set envelope output report.
dinput: Implement support for the PID effect set envelope report.
dinput8/tests: Add some DIEFT_CONDITION HID joystick effect tests.
winebus.sys: Add a PID set condition output report.
dinput: Implement support for the PID effect set condition report.
winebus.sys: Add a PID set constant force output report.
dinput: Look for the PID set constant force output report.
winebus.sys: Add a PID set ramp force output report.
dinput: Look for the PID set ramp force output report.
winebus.sys: Only keep a single read pending.
winebus.sys: Query and parse device report descriptor on device start.
winebus.sys: Keep a separate report buffer for each input report id.
winebus.sys: Queue HID reports instead of overwritting the last one.
xinput1_3: Wait for CancelIoEx completion when disabling controllers.
xinput1_3: Destroy controllers when ReadFile fails and I/O is not pending.
xinput1_3: Do not use delay loaded imports.
xinput1_3: Initialize the controller list in the update thread.
xinput1_3: Register for device notifications to update controller list.
dinput: Do not wait for internal hooks inside the HID joystick CS.
dinput: Hold the HID joystick CS when updating the device state.
dinput: Wait for CancelIoEx completion when unacquiring HID joysticks.
dinput: Call device read_callback while holding the internal CS.
dinput: Check for ReadFile errors and return DIERR_INPUTLOST.
Stefan Dösinger (1):
wined3d: Fix the center offset in get_projection_matrix.
Tim Clem (3):
dinput: Factor out HID value retrieval in joystick_osx.
dinput: Lock around polling a HID device in joystick_osx.
dplayx: Map global memory anywhere if the standard address is unavailable.
Zebediah Figura (45):
krnl386: Don't handle %ss in fix_selector().
wined3d: Implement Vulkan NULL cube array image shader resource view descriptors.
d3d9: Pass a valid map box to wined3d_resource_map().
d3d11/tests: Add a stress test for dynamic buffer maps.
d3d10core/tests: Add a stress test for dynamic buffer maps.
d3d9/tests: Add a stress test for dynamic buffer maps.
d3d8/tests: Add a stress test for dynamic buffer maps.
krnl386: Print %bp, %ss, and %sp for register functions in relay_call_from_16().
ntdll: Also print %ss in dispatch_exception().
krnl386: Call DOSVM_IntProcRelay() via the application stack.
krnl386: Return to a generated 16-bit entry point when calling builtin interrupt handlers.
krnl386: Call generated 16-bit entry points from the snoop thunks.
wined3d: Do not call list_remove() on a Vulkan query which has not been started.
wined3d: Call prepare_upload_bo in wined3d_device_context_emit_map() only for DISCARD or NOOVERWRITE maps.
wined3d: Wrap the upload bo address in a new upload_bo structure.
winegstreamer: Move the GstAutoplugSelectResult definition to wg_parser.c.
winegstreamer: Use a single wg_parser_create() entry point.
winegstreamer: Initialize GStreamer in wg_parser_create().
winegstreamer: Set unlimited buffering using a flag for wg_parser_create().
winegstreamer: Remove the no longer used start_dispatch_thread() declaration.
winebuild: Move the CALL32_CBClient[Ex] implementation to krnl386.
krnl386: Return to CALL32_CBClient_RetAddr from CBClientThunkSL().
winebuild: Move the CALL32_CBClient[Ex]_RetAddr implementation to krnl386.
winegstreamer: Move Unix library definitions into a separate header.
winegstreamer: Return void from wg_parser_stream_seek().
winegstreamer: Convert the Unix library to the __wine_unix_call interface.
wined3d: Do not emit an upload for NOOVERWRITE maps on deferred contexts.
wined3d: Separate a resource_offset_map_pointer() helper.
wined3d: Rename {prepare, get}_upload_bo() to {map, unmap}_upload_bo().
wined3d: Call the unmap_upload_bo callback in wined3d_device_context_emit_update_sub_resource().
wined3d: Do not return a struct upload_bo from the map_upload_bo callback.
winegstreamer: Handle zero-length reads in src_getrange_cb().
winegstreamer: Use array_reserve() to reallocate read buffers.
winegstreamer: Avoid passing a NULL buffer to wg_parser_push_data() in the case of a zero-length read.
winegstreamer: Avoid seeking past the end of an IMFByteStream.
winegstreamer: Trace the unfiltered caps in sink_query_cb().
winegstreamer: Translate GST_AUDIO_CHANNEL_POSITION_MONO to SPEAKER_FRONT_CENTER.
wmvcore: Move the sync reader implementation to winegstreamer.
winegstreamer: Get rid of the WMSyncReader typedef.
wmvcore: Move the async reader implementation to winegstreamer.
winegstreamer: Get rid of the WMReader typedef.
server: Do not allocate a connect_req structure for nonblocking sockets (Valgrind).
server: Avoid leaking the poll output buffer if the request is terminated irregularly (Valgrind).
ws2_32: Close the new socket handle on CF_DEFER.
krnl386: Fix a mistyped NULL check in WOWTHUNK_Init().
Zhiyi Zhang (11):
light.msstyles: Add scrollbar width and height.
comctl32/button: Do not restore push button font after themed painting.
comctl32/button: Do not restore checkbox font after themed painting.
comctl32/button: Do not restore groupbox font after themed painting.
comctl32/button: Do not restore split button font after themed painting.
comctl32/button: Do not restore command link font after themed painting.
comctl32/rebar: Do not adjust non-client size when themed.
comctl32/rebar: Do not remove WS_BORDER when theming is on.
comctl32/tests: Delete unused headers.
comctl32/status: Do not use theme metrics to compute height.
comctl32/tests: Fix a treeview test failure when theming is on.
Ziqing Hui (4):
d2d1/tests: Add tests for 2D affine effect.
d2d1/tests: Add tests for crop effect.
d3dx10: Add stubs for D3DX10CreateTextureFromFile{A,W}.
d3dx10: Add stubs for D3DX10CreateTextureFromResource{A, W}.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.18 is now available.
What's new in this release (see below for details):
- Shell32 and WineBus libraries converted to PE.
- Unicode data updated to Unicode version 14.
- Mono engine updated to version 6.4.0, with COM improvements.
- More work towards Dwarf 3/4 debug support.
- HID joystick enabled by default.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.18.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.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 6.18 (total 19):
34584 Thai2English doesn't work with Wine-Mono
38011 ID Photo Maker 3.2 can't import jpegs for editing (needs avicap32.dll.capCreateCaptureWindowW implementation)
43109 (EZ4_Client) Crashes on start (fixed on staging)
48442 MPGUI crashes on start with Wine-Mono
50089 Far Manager 2.0 crashes on start-up
50244 Melodyne 5: activation via internet fails with 12152 error
50272 Melodyne 5: activation via internet produces "Unknown Error"
50498 Intel Assistive Context-Aware Toolkit (ACAT) v1.00.0 (.NET 4.5 app) setup crashes with unimplemented 'System.ServiceModel.Description.MetadataExporter.set_PolicyVersion' using Wine-Mono
50623 Windows ISO Downloader 8.45 - Error messages and freeze with wine-mono
51503 vbscript parser error in expression with # char
51576 Click-N-Type 3.03 virtual keyboard installer sometimes has two task panes
51596 Unhandled exception code c0000005 when running any 64-bit Winelib application
51631 winhttp:winhttp and winhttp:notification fail because echo.websocket.org is out of commission
51696 ntoskrnl.exe:ntoskrnl outputs too much traces (and broke the Wine tests entirely)
51723 Timespinner controller triggers aren't properly recognized
51729 Unable to find an entry point named 'UiaDisconnectProvider' in DLL 'UIAutomationCore.dll'
51741 Nt*PowerRequest syscalls do not exist on real Windows
51757 Network application crashes
51787 Resident Evil 7 crashes on launch
----------------------------------------------------------------
Changes since 6.17:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alexandre Julliard (44):
Revert "kernel32: Forward power request functions to ntdll."
Revert "ntdll: Stub power request APIs."
comdlg32: Fix path validation of UNC paths in the file dialog.
shell32: Create the PIDLs even if IFileSystemBindData::GetFindData returns an error.
shell32: Fix the shell folder file attributes.
shell32: Validate the destination name in IShellFolder::SetNameOf.
shell32: Don't store the short file name in the PIDL.
urlmon/tests: Use robots.txt on winehq.org to avoid a redirection.
shell32: Allow specifying the child folder CLSID in SHELL32_BindToChild().
shell32: Use the standard shell folder implementation for Unix folders.
shell32: Load the XDG user dirs config file using Win32 APIs.
shell32: Add a helper to retrieve trash item data without copying it.
shell32: Reimplement trash support using Win32 APIs.
winebus.sys: Fix a typo in find_device_from_iohid().
winebus.sys: Remove the no longer used CFStringToWSTR function.
wineboot: Add a generic mechanism for pre-installing things before the main wine.inf section.
loader: Start the mount manager before registering dlls.
mountmgr: Make creating a backup optional for shell folders.
mountmgr: Support $HOME paths to define shell folders.
shell32: Use the mount manager for initial shell folders creation.
shell32: Build with msvcrt.
shell32: Check for macOS at runtime.
shell32: Use designated initializers and wide char string literals in known folder table.
shell32: Use wide char string literals.
makefiles: Build the unix library name when parsing the sources.
makefiles: Link with the full library name for Unix library imports.
makefiles: Add a -mcygwin flag to specify the inverse of -mno-cygwin.
makefiles: Make -mno-cygwin the default.
winegcc: Skip the post-link steps for Unix libraries.
makefiles: Normalize the host architecture in makedep instead of configure.
makefiles: Explicitly name the Unix library in the makefile instead of using --subsystem unixlib.
configure: Remove some obsolete shared library checks.
makefiles: Don't use winegcc to build native Unix libraries.
wrc: Remove no longer used cmdline copy.
ntdll: Copy __wine_setjmpex/longjmp implementation to avoid importing winecrt0.
makefiles: Allow including files with relative paths.
makefiles: Use explicit header path for sanity checks.
winebuild: Unify the strarray implementation with the one from makedep.
winebuild: Use strarrays for the argument lists.
winegcc: Unify the strarray implementation with the one from makedep.
wpp: Move the preprocessor code into wrc.
wrc: Use the standard memory allocation wrappers in the preprocessor.
wrc: Use asserts instead of explicit internal error.
wrc: Use the existing global variable for pedantic mode.
Alistair Leslie-Hughes (6):
include: Add icodecapi.idl.
include: Avoid C++ keyword.
include: Fix compiling with C++.
include: Add ISpAudio interface.
sapi: Support create parameter in ISpObjectToken::SetId.
sapi: Support create parameter in ISpObjectTokenCategory::SetId.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (3):
ntdll: Factor out SMBIOS table creation.
ntdll: Factor out get_smbios_from_iokit().
ntdll: Generate SMBIOS tables on Apple Silicon Macs.
Charles Davis (2):
ntoskrnl: Always copy the output buffer for non-buffered ioctls.
ntdll: Use posix_fallocate() instead of fallocate().
Connor McAdams (42):
user32/tests: Mark some winevents optional in the SetParent sequence.
user32/tests: Fix SetParent/SetFocus message sequences to support winevents.
user32/tests: Add optional message to fix ShowWindow test.
user32/tests: Mark some winevents optional in the ShowWindow sequences.
user32/tests: Fix ShowWindow() message sequences to support winevents.
user32/tests: Fix occasional failure in ShowWindow() message sequences.
user32/tests: Fix occasional failure in test_messages() message sequences.
user32/tests: Fix existing winevents in test_messages() message sequences.
user32/tests: Add missing winevents to test_messages() message sequences.
user32/tests: Add missing winevents to test_setwindowpos() message sequences.
oleacc: Check proper GUI thread for window focus.
oleacc: Add STATE_SYSTEM_FOCUSED test for default client object.
oleacc: Add tests for AccessibleObjectFromEvent.
user32/tests: Fix occasional test failure in test_ShowWindow().
user32/tests: Fix existing winevents in test_showwindow() message sequences.
user32/tests: Add missing winevents to test_showwindow() message sequences.
user32/tests: Fix existing winevents in invisible_parent_tests() message sequences.
oleacc: Add Client_get_accFocus implementation.
oleacc: Add Client_get_accFocus tests.
user32/tests: Fix occasional failure in WmShowNoActivate_2 message sequence.
user32/tests: Fix existing winevents in test_mdi_messages() message sequences.
user32/tests: Add missing winevents to test_mdi_messages() message sequences.
user32/tests: Fix missing messages in test_mdi_messages() message sequences.
user32/tests: Fix existing winevents in test_button_messages() message sequences.
user32/tests: Add missing winevents to test_button_messages() message sequences.
user32/tests: Fix missing messages in test_button_messages() message sequences.
user32/tests: Fix existing winevents in test_autoradio message sequences.
user32/tests: Fix test_listbox_messages() message sequences to support WinEvents.
user32/tests: Fix test_paint_messages() message sequences to support WinEvents.
user32/tests: Fix existing winevents in test_accelerators() message sequences.
user32/tests: Add missing winevents to test_accelerators() message sequences.
user32/tests: Fix existing winevents in test_DestroyWindow() message sequences.
user32/tests: Fix existing winevents in test_edit_messages() message sequences.
user32/tests: Add missing winevents to test_edit_messages() message sequences.
user32/tests: Add missing winevents to test_quit_message() message sequence.
user32/tests: Add missing winevents to test_SetActiveWindow() message sequences.
user32/tests: Add missing winevents to test_restore_messages() message sequence.
user32/tests: Fix existing winevents in test_SetWindowRgn() message sequences.
user32/tests: Add missing winevents to test_SetWindowRgn() message sequences.
user32/tests: Fix existing winevents in test_dialog_messages() message sequences.
user32/tests: Add missing winevents to test_dialog_messages() message sequences.
user32/tests: Add missing winevents to test_EndDialog() message sequences.
Daniel Lehman (1):
msxml3/tests: Avoid double-free using BSTR helper.
Derek Lesho (4):
winegstreamer: Duplicate source shutdown path into constructor with leak fixes.
winegstreamer: Allocate source media buffers in the PE components.
winegstreamer: Replace source pad interface with GstAppSrc.
winegstreamer: Fix return code in init_gst failure case.
Dmitry Timoshkov (1):
riched20: Don't create custom heap.
Eduard Permyakov (2):
winex11.drv: Add 'EDID' registry key to every monitor device.
dsound: Commit next audio chunk between play cursor and write cursor to playing.
Eric Pouech (40):
dbghelp/dwarf: Don't recompute location when said location is complex.
dbghelp/dwarf: Properly parse 32 vs bit 64bit entities.
dbghelp/dwarf: Correctly handle attributes according to 32bit or 64bit format.
dbghelp/dwarf: Add support for FORM_loc_offset and FORM_sec_offset.
dbghelp/dwarf: Add support for FORM_exprloc.
dbghelp/dwarf: Handle errors in dwarf2_fill_attr by returning a boolean.
dbghelp/dwarf: Add definitions of some GNU extensions for FORMs.
dbghelp/dwarf: Validate that a string is in the section boundary before using it.
dbghelp/dwarf: Detect auto reference between a dwarf's DIE and its type.
dbghelp/dwarf: Properly parse line number header for DWARF4 debug info.
dbghelp/dwarf: Separate CU handling from module handling.
dbghelp/dwarf: Move the symt_cache from the unit context into the module context.
dbghelp/dwarf: Keep open and keep track of parse_context_t inside a module_context_t.
dbghelp: Split the parsing of a dwarf compilation unit in two phases.
dbghelp/dwarf: Add ability to get to a DIE in a different CU.
dbghelp/dwarf: Support DW_FORM_ref_addr in type DIE lookup using the new cross-CU DIE mechanisms.
dbghelp/dwarf: Detect out of section sibling DIE information.
dbghelp/dwarf: Add reference for a DIE to its CU.
winedbg: Show dwarf version(s) used for a module.
dbghelp: Separate alternate debug file lookup functions.
dbghelp: Added support for locating a .dwz file (GNU extension) attached to a debug file.
dbghelp/dwarf: Store a potential link to an external DWZ file in the dwarf2 module's information.
dbghelp/dwarf: Handle DW_FORM_GNU_strp_alt (string located in an alternate DWZ file).
dbghelp/dwarf: Load the alternate dwarf file content as we do for a regular dwarf module.
dbghelp/dwarf: No longer pass a parse context to dwarf2_find_attribute.
dbghelp/dwarf: No longer pass a unit context to dwarf2_get_cpp_name.
dbghelp/dwarf: Fold printing info about unit context when printing debug_info's.
dbghelp/dwarf: No longer pas a unit context when parsing debug_info content.
dbghelp/dwarf: Add a helper to jump into another debug_info.
dbghelp/dwarf: Add proper support for DW_FORM_GNU_ref_alt.
dbghelp/dwarf: When loading a DWZ alternate file, don't force loading of all debug_infos.
dbghelp/dwarf: In DW_AT_ranges, the values are relative to the start of the CU.
dbghelp/dwarf: Properly detect base address selection in AT_ranges.
dbghelp: Remove unneeded #include <limits.h>.
dbghelp/dwarf: Handle some Dwarf4 tweaks in high / low pc attributes.
dbghelp/dwarf: Added support for parsing dwarf's 3 restrict type TAG.
dbghelp/dwarf: Support enumeration as index type for arrays.
dbghelp/dwarf: Added support for DW_TAG_subrange_type in various places.
dbghelp/dwarf: Support more dwarf's TAG related to types in udt parsing.
dbghelp/dwarf: Handle C++ rvalue reference type as a reference.
Esme Povirk (1):
mscoree: Update Wine Mono to 6.4.0.
Fabian Maurer (1):
msi: Set dialog as parent in subsequent dialog.
Gabriel Ivăncescu (3):
ntdll: Implement JobObjectBasicProcessIdList for NtQueryInformationJobObject.
mshtml: Fix out-of-bounds props access.
jscript: Return the failure code if the value invoke failed.
Gerald Pfeifer (1):
ntdll: Fix init_builtin_dll for FreeBSD again.
Giovanni Mascellani (2):
wine.inf: Fill gaps in Dynamic DST timezone data.
wine.inf: Fix timezone data for Samoa.
Guillaume Charifi (2):
ws2_32: Add tests for IOCTL_AFD_POLL exclusive flag.
ntdll: Implement exclusive flag for IOCTL_AFD_POLL.
Hans Leidekker (14):
msi: Don't leak the file handle on error in cabinet_close_file_info().
winhttp: Don't fail the request if authorization fails.
adsldp: Fix error returned from openobj_OpenDSObject().
winhttp: Add a stub for WinHttpSetOption(WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL).
winhttp: Add a stub for WinHttpQueryOption(WINHTTP_OPTION_HTTP_PROTOCOL_USED).
winhttp: Consistently validate the buffer in option query functions.
winhttp: Pass a socket pointer to send_bytes() and receive_bytes().
winhttp: Read any data left in the request buffer for websocket connections.
winhttp: Use ws.ifelse.io for websocket tests.
winhttp: Call read_data() at least once in drain_content().
winhttp: Call drain_content() before clear_response_headers().
winhttp: Fix return value for relative redirects.
winhttp: Don't remove content-type/length headers in handle_redirect().
winhttp/tests: Add redirect tests.
Henri Verbeet (6):
wined3d: Do not attempt to restore GL contexts corresponding to wined3d contexts in wined3d_context_gl_cleanup().
wined3d: Get rid of the "render_to_fbo" field from the wined3d_swapchain structure.
wined3d: Use GDI blits for partial presents with COPY swap effects.
wined3d: Use WGL_SWAP_COPY_ARB for swapchains with COPY swap effects, if available.
wined3d: Use wined3d_mask_from_size() in wined3d_fixup_alpha().
d2d1: Check the vertex count again after duplicate removal in d2d_path_geometry_triangulate().
Jacek Caban (41):
wineps.drv: Export DrvDeviceCapabilities.
winspool: Use configuration file for DeviceCapabilitiesW.
winspool: Use DeviceCapabilitiesW for DeviceCapabilitiesA.
wineps: Introduce DrvDocumentProperties entry point.
winspool: Use configuration file for DocumentPropertiesW.
winspool: Use DocumentPropertiesW for DocumentPropertiesA.
gdi32: Remove ordinal exports.
gdi32: Remove no longer used printer config driver entry points.
gdi32: Introduce get_gdi_object_type.
gdi32: Direcly use ntgdi functions in dib driver.
win32u: Use NtGdiSetBrushOrg in NtGdiMaskBlt.
win32u: Directly use NtGdiGetDeviceCaps in ntgdi functions.
gdi32: Directly use ntgdi functions in painting.c.
gdi32: Access stretch mode directly from DC in NtGdiTransparentBlt.
gdi32: Avoid calling gdi32 functions from ntgdi functions.
gdi32: Use NtQuerySystemInformation instead of GetSystemInfo.
gdi32: Directly use ntdll in dib.c.
gdi32: Directly call dib driver functions in dibdrv_wglCreateContext.
include: Add some missing ntgdi declarations.
gdi32: Move load_script_name call to EnumFontFamiliesExW.
gdi32: Move CreateScalableFontResourceW to text.c.
gdi32: Handle scalable fonts directly in AddFontResourceExW and RemoveFontResourceExW.
gdi32: Pass NT paths to ntgdi functions.
gdi32: Store NT paths in font structs.
gdi32: Use NtQueryFullAttributesFile directly in alloc_gdi_font.
gdi32: Directly use ntdll in load_directory_fonts.
gdi32: Directly use ntdll for font mutex.
gdi32: Remove workaround for old freetype versions.
gdi32: Directly use ntdll instead of RegDeleteTreeW.
gdi32: Directly use ntdll in load_gdi_font_subst.
gdi32: Directly use ntdll in load_gdi_font_replacements.
gdi32: Directly use ntdll in add_face_to_cache.
gdi32: Directly use ntdll in load_face_from_cache.
gdi32: Directly use ntdll in load_font_list_from_cache.
gdi32: Directly use ntdll in remove_face_from_cache.
gdi32: Directly use ntdll in load_system_links.
gdi32: Directly use ntdll in add_font_list.
gdi32: Directly use ntdll in update_font_association_info.
opencl: Fix compilation on MSVC targets.
gdi32: Don't use MulDiv in ntgdi functions.
gdi32: Avoid calling kernel32 from ntgdi functions.
Jan Sikorski (9):
wined3d: Allow constant buffers to be forced to be write-mappable.
wined3d: Make wined3d_texture_update_map_binding() backend-independent.
wined3d: Implement support for buffer objects in wined3d_texture_vk_upload_data().
wined3d: Implement support for buffer objects in wined3d_texture_vk_download_data().
wined3d: Keep PBO support flag in d3d_info.
wined3d: Implement WINED3D_LOCATION_BUFFER for textures in the Vulkan backend.
wined3d: Avoid the pipeline barrier when mapping buffer objects backing textures.
wined3d: Avoid stalling the pipeline on 3D blits.
wined3d: Fix typo in wined3d_texture_vk_download_data().
Michael Stefaniuc (1):
sxs: Don't assign a COM object to the 3rd param of QueryInterface.
Nikolay Sivov (71):
rpcrt4/tests: Always run tests that don't require special permissions.
ole32: Use access mask from bind context in file moniker's BindToStorage().
ole32/filemoniker: Remove helper used once.
ole32: Simplify IsEqual() for file monikers.
d3dx10_37/tests: Enable tests.
d3dx10: Handle null filename for W->A conversion explicitly in D3DX10CreateEffectFromResourceW().
ole32: Simplify GetDisplayName() for class moniker.
ole32: Simplify IsEqual() for class moniker.
ole32: Simplify CreateClassMoniker().
ole32: Simplify CommonPrefixWith() for class moniker.
ole32: Use single call to read/write serialization header of class moniker.
ole32: Implement ParseDisplayName() for class moniker.
ole32: Handle extra class moniker data on load/save.
ole32: Improve class moniker display name parsing.
oleaut32: Fix uninitialized variable access in VarXor() for earlier failure paths (Coverity).
oleaut32: Do not use static variable for disp params.
services/tests: Fix printf-style helper format (Coverity).
widl: Remove arguments from writing calls that don't use them (Coverity).
kernel32/tests: Fix sprintf() arguments (Coverity).
msxml3/tests: Add missing return value check (Coverity).
tools: Update to Unicode 14.0.0.
dwrite/tests: Add a linebreaking test regarding LB30 rule changes in Unicode 13.
d3d10/effect: Handle object type D3D10_SVT_TEXTURE.
d3d10/effect: Release technique names on Optimize().
d3d10/effect: Release passes names on Optimize().
d3d10/tests: Add some tests for effect pools.
d3d10/tests: Add a test for default numeric variable values.
d3d10/effect: Remove no longer used fourcc symbols.
d3dx10_36/tests: Enable tests.
msi: Fixup Installer\\Patches\\<...> key path (Coverity).
inetcpl: Fix incorrect expression (Coverity).
gdi32: Fix a typo in failure path (Coverity).
msvcrt: Use free() on msvcrt_wstrdupa() results (Coverity).
secur32: Fix allocation size (Coverity).
sechost: Fix argument pointers array allocation size (Coverity).
mfplat/tests: Remove unnecessary check (Coverity).
mfplay: Remove some dead code (Coverity).
mf/evr: Remove duplicated check in GetStreamSinkCount() (Coverity).
oleaut32/tests: Remove unused variable.
oleaut32/tests: Link to SafeArrayGetVartype() directly.
oleaut32: Use single local variable to access missing args array in Invoke().
oleaut32: Remove unnecessary initialization of retval arg slot in Invoke().
oleaut32: Remove some local variables in Invoke() that don't improve readability.
mfplat/allocator: Reduce duplication by returning ready-to-queue structure from allocation helper.
d3d10/effect: Move effect creation API functions.
d3d10/effect: Partially implement D3D10CreateEffectPoolFromMemory().
d3d10/effect: Add a helper to parse annotations array.
d3d10/effect: Validate flags vs pool instance when creating child effects.
d3d10/effect: Reference pool in the child effect.
d3dx10_35/tests: Enable tests.
ole32/tests: Get rid of some global variables in moniker tests.
ole32/tests: Add a test for IBindCtx::GetRunningObjectTable().
ole32: Remove unnecessary helpers to create/destroy bind context.
ole32: Remove explicit type check in CommonPrefixWith() for item moniker.
ole32/composite: Return requested interface in BindToObject() in NULL left moniker path.
ole32/composite: Store components as a pair of top level monikers.
ole32/tests: Add extendable tests for generic composite simplification.
ole32/composite: Do not rely on antimoniker composition in ParseDisplayName().
ole32/composite: Always go through running object table in GetTimeOfLastChange().
d3d10/effect: Forward to pool effect in GetVariableByName().
d3d10/effect: Forward to pool effect in GetVariableByIndex().
d3d10/effect: Forward to pool effect in GetVariableBySemantic().
d3d10/effect: Forward to pool effect in GetConstantBufferByIndex().
d3d10/effect: Forward to pool effect in GetConstantBufferByName().
d3dx10_34/tests: Enable tests.
gdi32: Handle NULL name when setting registry value.
ole32/itemmoniker: Always use generic composition in ComposeWith().
ole32/pointermoniker: Always use generic composition in ComposeWith().
ole32/classmoniker: Always use generic composition in ComposeWith().
ole32/tests: Simplify test monikers creation helper.
ole32/tests: Add some tests for class moniker composition.
Paul Gofman (9):
wbemprox: Copy correct substring to *namespace in parse_resource().
wbemprox: Propagate create_view() error code from parser.
wbemprox: Prepare for multiple namespaces.
wbemprox: Return WBEM_E_INVALID_CLASS from create_view() if namespace is empty.
wbemprox: Add Microsoft\\Windows\\Storage namespace.
winex11.drv: Register GUID_DISPLAY_DEVICE_ARRIVAL interface for GPUs.
winhttp: Limit recursion for synchronous callback calls.
gdi32: Add a semi-stub for D3DKMTOpenAdapterFromDeviceName().
wined3d: Add GPU information for AMD VANGOGH.
Piotr Caban (5):
msvcrt: Use unaligned data types in memset.
oleacc: Add Window_OleWindow_GetWindow implementation.
oleacc: Introduce helper for checking accessibility object hwnd.
oleacc: Remove WINAPI from accessible_create internal type.
msvcrt: Support z length modifier in scanf.
Robert Wilhelm (1):
vbscript: Support date and time literals.
Roberto Pungartnik (1):
po: Update Brazilian Portuguese translation.
Rémi Bernon (132):
dinput8/tests: Fix inverted winetest_win_skip condition.
dinput8/tests: Control expected SET_FEATURE reports from the test executable.
dinput8/tests: Control expected GET_FEATURE reports from the test executable.
dinput8/tests: Control expected SET_OUTPUT reports from the test executable.
dinput8/tests: Control expected WRITE_REPORT reports from the test executable.
dinput8/tests: Control expected GET_INPUT reports from the test executable.
hidclass.sys: Enforce output packet lengths to match report lengths.
ntoskrnl.exe/tests: Fix inverted winetest_win_skip condition.
winexinput.sys: Return native product strings on some devices.
winebus.sys: Remove the now useless native product strings.
winebus.sys: Query manufacturer string on device creation.
winebus.sys: Query product string on device creation.
winebus.sys: Query serialnumber string on device creation.
winebus.sys: Remove the now useless get_string callback.
winebus.sys: Split destroy to a separate stop method.
winebus.sys: Use helpers to create and destroy unix devices.
winebus.sys: Allocate mouse and keyboard devices dynamically.
winebus.sys: Free unix device in unix_device_remove.
dinput8/tests: Control expected READ_REPORT reports from the test executable.
dinput8/tests: Add some non-polled READ_REPORT tests.
dinput8/tests: Don't expect any IOCTL_HID_GET_STRING call.
hidclass.sys: Drop input packets with unexpected length in non-polled mode.
dinput8/tests: Fix reported expected length in test message.
hidclass.sys: Complete all pending reads in polled mode only.
msvcrt: Improve memset performance using overlapping stores.
dinput8/tests: Add tests for the internal HID preparsed data structures.
dinput: Don't disable HID joysticks by default.
dinput8/tests: Add a new HID joystick test based on the HID driver.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetDeviceInfo tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetCapabilities tests.
winebus.sys: Move process_hid_report helper around.
winebus.sys: Return an event from SDL bus wait on input report.
winebus.sys: Return an event from UDEV bus wait on input report.
winebus.sys: Return an event from IOHID bus wait on input report.
winebus.sys: Poll all UDEV fds together in the bus_wait thread.
winebus.sys: Remove the now useless get_unix_device.
winebus.sys: Remove the DEVICE_OBJECT arg on device_start.
winebus.sys: Pass a unix_device pointer in every bus event.
winebus.sys: Remove the now useless device_compare callback.
winebus.sys: Move is_xbox_gamepad to unixlib.c.
winebus.sys: Load SDL bus mappings before calling bus_init.
winebus.sys: Use Rtl heap functions.
winebus.sys: Use Rtl CS functions.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetProperty tests.
dinput8/tests: Add some HID joystick IDirectInput8_CreateDevice tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_SetDataFormat tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_SetEventNotification tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_SetCooperativeLevel tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_(Un)Acquire tests.
winebus.sys: Build with msvcrt.
winebus.sys: Avoid process heap allocations on the unix side.
winebus.sys: Use a pthread_mutex_t instead of CRITICAL_SECTION.
winebus.sys: Use new unixlib subsystem.
winebus.sys: Use wide character strings literals.
dinput: Fire the notification only after all events have been queued.
dinput8/tests: Make ret_length optional in struct hid_expect.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetDeviceState tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetDeviceData tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_SetProperty tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_EnumObjects tests.
hidparse.sys: Split struct hid_value_caps start_bit into start_byte / start_bit.
hidparse.sys: Replace all is_*range members with a single flags member.
hidparse.sys: Replace start_index with HID_VALUE_CAPS_ARRAY_HAS_MORE flag.
hidparse.sys: Add HID_VALUE_CAPS_IS_(ABSOLUTE|CONSTANT) flags instead of checking bit_field.
hidparse.sys: Add HID_VALUE_CAPS_IS_BUTTON flag instead of checking bit_size / bit_field.
winebus.sys: Add a VID and PID to mouse and keyboard devices.
winebus.sys: Use WINEBUS\ as device id prefix for all buses.
winebus.sys: Use WINEBUS\ as a common hardware ids prefix.
winebus.sys: Remove unnecessary internal bus ids.
winebus.sys: Move fastcall wrapper together with the functions.
dinput: Pass output instance to get_object_info HID joystick callback.
dinput8/tests: Add some HID joystick IDirectInputDevice8_GetObjectInfo tests.
dinput8/tests: Add some HID joystick IDirectInputDevice8_Initialize tests.
dinput8/tests: Add some HID joystick device types tests.
dinput: Implement more accurate HID joystick device subtypes.
winebus.sys: Remove the bogus SDL "unknown" HID report constant.
winebus.sys: Enforce all axis values to be 32bit.
winebus.sys: Move hats before buttons and use one byte each.
winebus.sys: Always add padding after button blocks.
winebus.sys: Simplify SDL joystick report descriptor creation.
winebus.sys: Simplify SDL controller report descriptor creation.
dinput8/tests: Don't check device object data sequence numbers.
dinput: Fix HID joystick DIPH_BYUSAGE object enumeration.
dinput: Check sizes in HID joystick IDirectInputDevice8_GetProperty.
dinput: Return correct errors from HID joystick IDirectInputDevice8_SetProperty.
dinput: Return correct errors from HID joystick IDirectInputDevice8_GetDeviceState.
dinput: Return correct errors from HID joystick IDirectInputDevice8_Poll.
hidparse.sys: Recompute HIDP_CAPS from the value caps in HidP_GetCaps.
hidparse.sys: Don't keep an HIDP_CAPS in the parser state.
hidparse.sys: Precompute collection node list on the parser side.
hidparse.sys: Make internal HID structures compatible with native.
hidparse.sys: Introduce new add_new_value_caps helper.
hidparse.sys: Output array caps data indexes in the correct order.
hidparse.sys: Fill additional HID internal structure fields.
winebus.sys: Rename SDL bus device to struct sdl_device.
winebus.sys: Rename UDEV bus device variables to be consistent.
winebus.sys: Rename IOHID bus device variables to be consistent.
winebus.sys: Introduce a new raw_device / hid_device abstraction.
winebus.sys: Compute offsets while building the report descriptor.
winebus.sys: Use the computed element offsets to create reports.
hidclass.sys: Only send WM_INPUT messages for HID devices.
winebus.sys: Factor out HID report buffers allocation.
winebus.sys: Factor out setting HID report values.
winebus.sys: Use report ids in crafted HID reports.
winebus.sys: Add support for joystick device rumble.
winebus.sys: Handle feature and output reports in hid_device.
dinput: Check data format dwObjSize in IDirectInputDevice2WImpl_SetDataFormat.
dinput: Check acquired state in IDirectInputDevice2WImpl_SetCooperativeLevel.
dinput: Set HID joystick objects wCollectionNumber field.
dinput: Add an instance number to HID joystick collection objects.
dinput: Use fixed axis object instance number for common axes.
dinput: Count all HID joystick button objects.
dinput8/tests: Add a wheel and vendor defined axis caps.
dinput: Report HID joystick wheel usage as a Z axis.
joy.cpl: Use msvcrt memory allocation functions.
joy.cpl: Use msvcrt wide string functions.
joy.cpl: Enumerate force-feedback effects with the devices.
joy.cpl: Refresh joystick test device list when activated.
joy.cpl: Refresh joystick FF device list when activated.
joy.cpl: Refresh the joystick device list when modified.
winegcc: Add missing strarray initialization.
winebus.sys: Check for SDL_JoystickRumble presence at runtime.
winebus.sys: Remove unused SDL_memset function pointer.
winebus.sys: Add a new rumble report using HID haptics.
xinput1_3: Use new HID haptics rumble report.
winebus.sys: Remove old vendor rumble report.
winebus.sys: Add haptics rumble support for UDEV lnxev devices.
joy.cpl: Add a dedicated connected list for xinput devices.
winexinput.sys: Override the product string for internal devices.
xinput1_3: Introduce a new override registry mechanism to force dinput.
dinput: Open the WINEXINPUT interface when the override key is set.
joy.cpl: Add a XInput / DInput override configuration control.
Thomas Crider (2):
api-ms-win-core-psapi-l1-1-0: Add K32GetModuleBaseNameW and K32GetModuleInformation.
api-ms-win-core-psapi-ansi-l1-1-0: Add K32GetModuleBaseNameA.
Tim Clem (2):
winemac.drv: Use window drag notifications when available.
winemac.drv: Remove now-unnecessary drag stop event on mouse up.
Zebediah Figura (21):
nsiproxy: Return the IOSB status from nsi_ioctl().
ntoskrnl: Report IRP completion via get_next_device_request if possible.
ntoskrnl: Report the initial status of an IRP separately from the IOSB status.
ntoskrnl: Report separately whether an IRP was marked pending.
server: Do not signal completion if the async failed synchronously.
server: Pass the async result size as part of apc_call_t.
ntdll: Do not fill the IOSB if a device IRP failed synchronously.
server: Create pseudo-fds as initially signaled.
kernelbase: Don't set the output size in DeviceIoControl() if the NT status denotes error.
ntdll: Explicitly return whether an async is complete in async_callback_t.
advpack: Do not export DllMain.
winegstreamer: Factor out more of the init_gst callback into wg_parser_connect().
winegstreamer: Properly clean up from failure in wg_parser_connect().
winegcc: Correctly put the -munix manual section in its own paragraph.
ndis.sys/tests: Test passing a bogus OID to IOCTL_NDIS_QUERY_GLOBAL_STATS.
ndis.sys: Return the IOSB status from ndis_ioctl().
ndis.sys: Return STATUS_INVALID_PARAMETER for unknown OIDs.
ntdll: Return STATUS_PENDING when restarting asyncs.
ntdll: Return STATUS_DEVICE_NOT_READY instead of STATUS_PENDING from try_transmit().
server: Factor out a complete_async_poll() helper.
Revert "winegstreamer: Replace source pad interface with GstAppSrc.".
Zhiyi Zhang (13):
avicap32: Use the correct return type for get_device_desc().
winex11.drv: Register GUID_DEVINTERFACE_DISPLAY_ADAPTER interface for GPUs.
winex11.drv: Register GUID_DEVINTERFACE_MONITOR interface for monitors.
winemac.drv: Register GUID_DEVINTERFACE_DISPLAY_ADAPTER interface for GPUs.
winemac.drv: Register GUID_DISPLAY_DEVICE_ARRIVAL interface for GPUs.
winemac.drv: Register GUID_DEVINTERFACE_MONITOR interface for monitors.
user32/tests: Fix some test failures on the w7u_2qxl TestBot.
setupapi/tests: Add display device interface tests.
uxtheme: Use wide character string literals.
uxtheme: Initialize system metrics in 96 DPI.
uxtheme/tests: Add EnableTheming() tests.
uxtheme: Disallow EnableTheming() to enable theming.
uxtheme: Do not change system metrics in EnableTheming().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.17 is now available.
What's new in this release (see below for details):
- WineCfg program converted to PE.
- Better high-DPI support in builtin applications.
- More preparation work for the GDI syscall interface.
- Improved debugger support in Wow64 mode.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.17.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.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 6.17 (total 12):
23979 SMSDV's main window is empty
36887 Trusteer Rapport setup crashes on unimplemented function ntoskrnl.exe.PsGetCurrentProcessSessionId
37592 Filenames in themed file dialog change size
40700 Page Scrolling Bar of PDF Eraser not rendered with wine-mono
45133 Multiple applications need 'ntdll.NtQueryInformationProcess' to support 'ProcessSessionInformation' info class (ProcessHacker, NewProcessFromToken)
49625 winedbg --command 'info wnd' fails with Exception c0000005
51655 iphlpapi regression prevents Samsung SDK from working properly
51672 Imperiums: Greek Wars has small black window on launch (caused by wrong position).
51693 ntdll:info fails on Windows 7 64-bit
51702 AFxW: the working directory of launched Unix application isn't set
51726 wineserver crashes with an assert()
51728 copypasta in pwcache.c:ctox()
----------------------------------------------------------------
Changes since 6.16:
Akihiro Sagawa (3):
ntdll: Fix use-after-free.
dbghelp: Get rid of useless while loop.
po: Update Japanese translation.
Alex Henrie (5):
cmd: Fix capitalization of WCMD_ReadFile in comment.
ntdll/tests: Remove unused variable sbi from test_query_process.
wpp: Allow fully variadic macros.
include: Provide a definition of NOP_FUNCTION that works on GCC.
uiautomationcore: Add UiaDisconnectProvider stub.
Alexandre Julliard (26):
ntdll/tests: Fix a size check for older Windows versions.
winebuild: Add an option to set the syscall table id.
ntdll: Add a helper function to set a syscall table.
ntdll: Store the syscall argument table on the PE side.
ntdll: Declare the syscall functions array explicitly.
ntdll: Don't use winebuild for the Unix part.
makefiles: Always link Unix libraries against ntdll.so.
win32u: Add the infrastructure for building the syscall table.
wow64win: Add the infrastructure for wrapping the win32u syscall table.
wow64: Add support for multiple syscall tables.
wow64: Patch the Wow64Transition pointer in all loaded modules.
wow64: Load wow64win.dll.
configure: Remove some no longer needed configure checks.
shell32: Avoid some code duplication.
shell32: Pass the destination Windows path to _SHCreateSymbolicLink().
shell32: Don't put shell folders inside My Documents.
mountmgr: Add requests to query and set shell folder symbolic links.
winecfg: Use mountmgr to manage shell folders.
winecfg: Build with msvcrt.
winecfg: Use wide character string literals.
winecfg: Use Unicode functions throughout.
configure: Enable ws2_32 build on Windows.
shell32: Share more code between the various IShellFolder_GetDetailsOf implementations.
shell32: Merge the drag & drop implementation from the Unix shell folder.
shell32: Merge the property bag implementation from the Unix shell folder.
Revert "ntdll: Add a Wine-specific class in NtQueryVirtualMemory to retrieve the init functions of a module."
Anton Baskanov (5):
sfnt2fon: Avoid out-of-bounds read (AddressSanitizer).
fonts: Fix breve glyph position in 16px MS Sans Serif.
fonts: Fix dotaccent glyph position in Small Fonts.
wined3d: Fix the odd line condition in gen_yv12_read().
wined3d: Simplify the odd line condition in gen_yv12_read().
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bernhard Übelacker (3):
attrib: Avoid crash when called without parameter.
cmd/tests: Add test for attrib without parameter.
cmd: Load start.exe from the system directory.
Charles Davis (5):
winemac.drv: Enable layer-backed views.
winemac.drv: Use a mask layer to support window regions.
winemac.drv: Move GL context update code to -viewWillDraw method.
winemac.drv: Set the surface contents directly to the layer.
winemac.drv: Remove now unused -[WineContentView drawRect:].
Connor McAdams (1):
oleacc: Implement AccessibleObjectFromEvent.
Dmitry Timoshkov (3):
wininet/tests: Add some tests for InternetErrorDlg(FLAGS_ERROR_UI_FILTER_FOR_ERRORS).
wininet: Fix some InternetErrorDlg() conditions returning ERROR_INVALID_PARAMETER.
wininet: Add handling for remaining special errors to InternetErrorDlg.
Eric Pouech (55):
dbghelp: Fix NameLen usage in SYMBOL_INFO(W).
dbghelp: Fill more fields in SYMBOL_INFO in SymGetTypeFromName.
dbghelp: Fix two internal buffer allocations.
dbghelp: Correctly store and report bitfield information.
dbghelp: Introduce internal type (symt_module) to match SymTagExe.
dbghelp: Return the stored name for a compiland.
dbghelp: Return the symt_module when requesting lexical parent of a UDT.
dbghelp: Enums should be found by name (as UDTs are).
dbghelp: Return the correct length for an enumeration.
dbghelp: Return a lexical parent for enums (as we do for UDTs).
dbghelp: Added missing break statement.
dbghelp: Split storage of PE header.
dbghelp: Store the IMAGE_OPTIONAL_HEADER in either 32bit or 64bit form.
dbghelp: Fix SymInitialize for a live 32bit target from a 64bit caller in WOW64.
dbghelp: Tidy up internals for array type.
winedbg: Allow debugging a 32bit target from a 64bit winedbg.
dbghelp: Fix dwarf2 subprogram handling.
dbghelp: Add dwarf support of DW_FORM_ref_udata.
dbghelp: Add a couple of more traces when querying an attribute's value.
dbghelp: Update/clarify dwarf definitions for 3/3f/4 standard versions.
dbghelp: Fix dwarf constants.
dbghelp: Always return a type in lookup_type, even in case of errors.
dbghelp: Mostly get rid of symt_cache in dwarf debug information.
dbghelp: Added an unknown type in symt_cache for handling bad references to types.
dbghelp: Check correctness of type (esp. in case of unknown ones).
dbghelp: Don't call assert() on missing subprogram dwarf's information.
dbghelp: Harden inspection of Dwarf line number information.
dbghelp: Fix erroneous string manipulation when said string is empty.
dbghelp: Properly handle errors when reading first DIE in compilation unit.
dbghelp: Handle the case where loader isn't what WINELOADER reports.
dbghelp: SymLoadModule* should return the base address in case of success, and 0 otherwise.
dbghelp: Allow loading virtual module at any address.
dbghelp: Return correct error code when reloading a module in SymLoadModule*.
dbghelp: Use module->modulename instead of module->module.ModuleName in traces.
dbghelp: Use the correct module name for lookups including module's name.
include: Extend IMAGEHLP_MODULE*64 with new fields.
dbghelp: Manage the new MachineType field in IMAGEHLP_MODULE(W)64.
dbghelp: Make symt_fill_func_line_info() and symt_get_func_line_next() static functions inside symbol.c.
dbghelp: Add internal_line_t structure as help in Line manipulation.
dbghelp: Implement all SymGetLineNext* functions using internal_line_t.
dbghelp: Rewrite SymGetLinePrev* with internal_line_t.
dbghelp: Set is_first and is_last flags on the fly in symt_add_func_line.
dbghelp: Get rid of useless symt_normalize_func().
dbghelp/dwarf: Allow tweaking from env variable which DWARF version is to be loaded.
dbghelp/dwarf: Add dwarf2_cuhead_s structure to hold compilation unit parsing info.
dbghelp/dwarf: Share compilation unit header information.
dbghelp/dwarf: Add word size parameter to parse_addr() internal function.
dbghelp/dwarf: Pass dwarf2_cuhead_t for addr details to swallow_attribute.
dbghelp/dwarf: Pass a parse_cuhead_t to compute_location().
dbghelp/dwarf: Pass word_size as a parameter to a couple of frame related functions.
dbghelp/dwarf: Use word_size from cuhead_t.
dbghelp/dwarf: Pass dwarf2_cuhead_t to lookuploclist().
dbghelp/dwarf: Initialize module's word_size at module load time.
dbghelp: Use correct parameter name.
dbghelp: Ensure all adresses are stored at least in DWORD_PTR.
Esme Povirk (4):
mscoree: Always base the config file path on the main exe.
mscoree: Don't trace arguments in CorExeMain.
mscoree: Add a buffer for Mono's debug output.
sppc: Stub SLClose.
Fabian Maurer (1):
mpr: Fix copy paste error when converting hex char to int.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (28):
shlwapi: Fix ASCII / ANSI mixups in comments.
shlwapi: Tweak the wording of the _SHStrDupAToBSTR() documentation.
shlwapi/tests: Fix some ASCII / ANSI mixups in ok() messages.
winex11.drv: Remove WINAPI on static functions where not needed.
kerberos: Make accept_context() static.
quartz: Remove WINAPI on static functions where not needed.
windowscodecs: Remove WINAPI on static functions where not needed.
iphlpapi: Make the adapters_addresses_*() functions static.
crypt32: Make gnutls_(un)?initialize() static.
comctl32: Fix an ASCII / ANSI mixup in a comment.
user32: Fix ASCII / ANSI mixups in comments.
dnsapi: Make the resolv_*() functions static.
shlwapi: Fix the length returned by SHFormatDateTimeA().
msxml3: SchemaCache_version() is unused so remove it.
advapi32/tests: Fix some Perflib subkey tests.
msi: Remove CDECL on static functions where not needed.
shell32: Fix a couple of ASCII / ANSI mixups in comments.
shlwapi/tests: Test a NULL flags pointer for SHFormatDateTime().
shlwapi/tests: Remove SHFormatDateTimeA() crash test.
windowscodecs: Make the png_{de,en}coder_*() functions static.
wined3d: Make wined3d_context_vk_allocate_memory() static.
uxtheme/tests: Use the OpenThemeDataForDpi() function pointer.
nsi/tests: Improve the error messages.
wininet/tests: Remove some unnecessary traces from the http test.
mf: Remove WINAPI on static functions where not needed.
windowscodecs: Make the jpeg_encoder_*() functions static.
msvcrt: Remove CDECL on static functions where not needed.
msvcp140_1: Remove __cdecl on static functions where not needed.
Gabriel Ivăncescu (3):
user32: Add a helper to retrieve the work rect.
user32: Don't save maximized pos of top-level wnds covering whole work rect.
jscript: Fix refcounting the object prototype fallback.
Georg Lehmann (2):
winevulkan: Update to VK spec version 1.2.190.
winevulkan: Update to VK spec version 1.2.191.
Gerald Pfeifer (1):
nsiproxy: Include sys/param.h from udp.c.
Gijs Vermeulen (2):
include/wuapi: Add WindowsUpdateAgentInfo coclass and interface.
avicap32: Partially implement capCreateCaptureWindowW.
Giovanni Mascellani (2):
tzres: Regenerate TZ data from de facto standard sources.
tzres: Take timezone display names from Unicode CLDR database.
Guillaume Charifi (2):
kernelbase: Add stub for SetProcessGroupAffinity().
api-ms-win-core-processtopology-l1-1-0: Add dll.
Hans Leidekker (4):
webservices: Return an error when the record value is too large for the description type.
webservices: Add support for WS_XML_TEXT_TYPE_INT64 in text_to_uint32().
webservices: Increase the size of the writer heap.
webservices: Add support for RECORD_BYTES32_TEXT in write_text_bin().
Hermès Bélusca-Maïto (1):
shlwapi: SHAddDataBlock() returns BOOL, not HRESULT.
Hugh McMaster (1):
conhost: Set keyboard focus to correct radio button in save dialog.
Jacek Caban (60):
gdi32: Use NtGdiGetGlyphIndicesW for GetGlyphIndicesW.
gdi32: Move a few font functions to text.c.
gdi32: Use ntgdi names for a few more font functions.
gdi32: Use NtGdiGetFontFileData for GetFontFileData.
gdi32: Move GdiRealizationInfo to text.c.
gdi32: Move EnumFontFamiliesEx wrappers to text.c.
gdi32: Move resource functions wrappers to text.c.
gdi32: Use ntgdi names for GetClipBox and GetRandomRgn.
gdi32: Move more DC stubs to gdidc.c.
gdi32: Use ntgdi names for object functions.
gdi32: Move stub object functions to objects.c.
gdi32: Move EnumObjects to objects.c.
gdi32: Use NtGdiExtCreatePen for ExtCreatePen.
gdi32: Use NtGdiCreateCompatibleBitmap for CreateCompatibleBitmap.
gdi32: Use NtGdiGetAndSetDCDword for SetGraphicsMode.
gdi32: Use NtGdiGetDIBitsInternal for GetDIBits.
gdi32: Use NtGdiCreateDIBitmapInternal for CreateDIBitmap.
gdi32: Use NtGdiCreateDIBSection for CreateDIBSection.
wininet: Return ERROR_CANCELLED for unsupported errors in InternetErrorDlg.
wininet: Prefer recent windows results in InternetErrorDlg tests.
gdi32: Use EnumFontFamiliesExW for EnumFontFamiliesExA.
gdi32: Use NtGdiEnumFonts for EnumFontFamiliesExW.
gdi32: Use NtGdiAddFontMemResourceEx for AddFontMemResourceEx.
gdi32: Use ntgdi for AddFontResourceExW and RemoveFontResourceExW.
gdi32: Copy TranslateCharsetInfo to text.c.
gdi32: Move CombineTransform to objects.c.
gdi32: Move LineDDA to objects.c.
gdi32: Move GdiDllInitialize to objects.c.
gdi32: Use NtGdiGetRandomRgn for GetClipRgn.
gdi32: Use NtGdiGetRandomRgn for GetMetaRgn.
gdi32: Use ntgdi names for spool functions.
gdi32: Store abort proc in DC_ATTR.
gdi32: Use NtGdiStartDoc for StartDoc.
gdi32: Use ntgdi interface for printer driver functions.
gdi32: Move GdiConvertToDevmodeW to gdidc.c.
gdi32: Use shifted values for NTGDI_OBJ_* constants.
gdi32: Use NtGdiGetDCObject for GetCurrentObject.
gdi32: Use ntgdi functions to create stock objects.
gdi32: Get stock objects directly from GDI_SHARED_MEMORY in GetStockObject.
gdi32: Use internal get_stock_object in ntgdi functions.
gdi32: Use NtGdiDeleteObjectApp instead of DeleteObject in ntgdi functions.
gdi32/tests: Add more metafile brush tests.
gdi32: Allocate extra DWORD for EMR_CREATEDIBPATTERNBRUSHPT records.
gdi32: Copy brush bits in get_brush_bitmap_info.
gdi32: Use zero biClrUsed in emfdc_create_brush when possible.
gdi32: Move get_full_gdi_handle to objects.c.
gdi32: Move metafile defines to gdi_private.h.
gdi32: Don't use gdi_private.h and ntgdi_private.h at the same time.
gdi32: Factor out get_bitmap_info.
gdi32: Use EMR_MASKBLT to record MaskBlt.
gdi32: Use EMR_PLGBLT to record PlgBlt.
gdi32: Support NULL prev_value in NtGdiGetAndSetDCDword.
gdi32: Use GetICMProfile driver entry point for EnumICMProfilesW.
gdi32: Factor out get_icm_profile.
gdi32/test: Add tests for recording MaskBlt and PlgBlt in EMFs.
gdi32: Use EMR_TRANSPARENTBLT to record GetTransparentBlt.
gdi32/tests: Add GdiTransparentBlt tests.
gdi32: Fix some ntgdi names.
gdi32: Directly use ntgdi functions in font.c.
gdi32: Remove no longer needed metafile special case from NtGdiExtTextOutW.
Jan Sikorski (2):
winemac.drv: Omit WM_ENTER/EXITSIZEMOVE on non-interactive window changes.
wined3d: Remove wined3d_texture_copy_sysmem_location().
Matteo Bruni (1):
d3dcompiler: Clear preprocessor lexer state after running it.
Michael Stefaniuc (5):
dbghelp: Remove superfluous casts to self.
riched20/tests: Don't cast NULL.
dhtmled.ocx: Forward ConnectionPoint_Release() to a release method.
quartz: Forward dsound_render_qc_Release() to a release method.
dpnet: Don't assign a COM object to the 3rd param of QueryInterface.
Nikolay Sivov (35):
comctl32/listview: Remove description headers from Edit box helpers.
d3d10/effect: Add a semi-stub for GetShaderDesc().
d3d10/effect: Store bytecode blob for every shader.
d3d10/effect: Discard some of the shader metadata when optimizing an effect.
d3d10/effect: Support stream output declaration when creating geometry shaders.
d3d10/tests: Add a test for inline geometry shader with stream output declaration.
d3dx10/font: Store font description data.
d3dx10/font: Create gdi objects on font object creation.
d3dx10/font: Implement GetTextMetrics().
d3dx10_39/tests: Enable tests.
d3d10/effect: Set IsInline in GetShaderDesc().
d3d10/effect: Store stream output declaration for inline shaders too.
d3d10/effect: Create shaders with stream output when declaration string is present.
d3d10/effect: Remove unnecessary early returns.
d3d10/effect: Fix indexing in GetVertexShader().
d3dx10/font: Add PreloadTextW().
d3dx10/font: Add PreloadCharacters().
d3dx10/sprite: Store projection matrix.
d3d10/effect: Fix indexing in GetPixelShader().
d3d10/effect: Fix indexing in GetGeometryShader().
d3d10/effect: Use case-insensitive comparison in GetVariableBySemantic().
d3d10/effect: Use case-insensitive comparison in GetMemberTypeBySemantic().
d3d10/effect: Use case-insensitive comparison in GetMemberBySemantic().
d3dx10_38/tests: Enable tests.
d3dx10: Partially implement D3DX10CreateEffectFromResource().
widl: Write default values for VARIANT arguments.
wined3d: Handle null semantics in stream output description cache.
ole32: Remove unused CoGetCallerTID() stub.
ole32: Merge ole2* source files.
d3d10/tests: Test SystemValueType field.
d3d10/effect: Set corresponding variable flag when explicit bind point is specified for a constant buffer.
d3d10/effect: Use same field to return ExplicitBindPoint for all variable types.
d3d10/effect: Handle rgba masks in stream output declarations.
d3d10/effect: Handle special $SKIP semantic in stream output declaration.
d3d10/effect: Fix d3d object creation for arrays of state objects.
Paul Gofman (1):
kernelbase: Mind OS version in the PE header when reporting OS version.
Piotr Caban (1):
concrt140: Avoid forwarding to msvcp120 by duplicating msvcp90/details.c.
Rémi Bernon (31):
winebus.sys: Report WINEBUS\WINE_COMP_HID compatible id.
winebus.sys: Report WINEBUS\WINE_COMP_XINPUT compatible id for gamepads.
winexinput.sys: Introduce a new winexinput.sys driver.
winebus.sys: Stop enforcing input and IG suffix on gamepads.
winebus.sys: Pass a struct bus_event pointer to bus_wait.
winebus.sys: Return an event from SDL bus wait on device removal.
winebus.sys: Return an event from UDEV bus wait on device removal.
winebus.sys: Return an event from IOHID bus wait on device removal.
winebus.sys: Move mouse and keyboard devices to unixlib.c.
winexinput.sys: Don't set RawDeviceOk in IRP_MN_QUERY_CAPABILITIES.
winexinput.sys: Handle IRP_MN_QUERY_DEVICE_RELATIONS in pdo_pnp.
winexinput.sys: Request the bus device report descriptor on startup.
hidclass.sys: Use a separate class for devices matching WINEXINPUT\*&XI_*.
winexinput.sys: Create an additional internal xinput PDO.
xinput1_3/tests: Wait for the state to change before checking it.
xinput1_3: Use the internal WINEXINPUT device interface class.
winebus.sys: Create devices using a struct device_desc descriptor.
winebus.sys: Move device vtable to the struct unix_device side.
winebus.sys: Look for duplicate UDEV devices on the unix side.
winebus.sys: Remove the now useless bus_enumerate_hid_devices.
winebus.sys: Return an event from SDL bus wait on device creation.
winebus.sys: Return an event from UDEV bus wait on device creation.
winebus.sys: Return an event from IOHID bus wait on device creation.
dinput8/tests: Move HID driver tests from ntoskrnl.exe.
winexinput.sys: Look for caps in the lower HID report descriptor.
winexinput.sys: Translate lower reports into XInput HID reports.
dinput8/tests: Read the HID report descriptor from the registry.
dinput8/tests: Read HID_DEVICE_ATTRIBUTES from the registry.
dinput8/tests: Read the expected lengths from the registry.
dinput8/tests: Stop increasing the sequence in HID_GET_INPUT_REPORT.
hidclass.sys: Call HID_READ_REPORT to read reports in polled mode.
Tim Clem (1):
winemac.drv: Allow cycling of windows with Cmd+`.
Zebediah Figura (44):
shlwapi/tests: Use the public definition of DATABLOCK_HEADER.
shlwapi/tests: Use Wine names for ordinal functions.
kernel32/tests: Add some tests for IOCTL_MOUNTMGR_QUERY_POINTS.
mountmgr: Validate the output size for IOCTL_MOUNTMGR_QUERY_POINTS.
mountmgr: Return STATUS_BUFFER_OVERFLOW if an insufficient buffer is passed to IOCTL_MOUNTMGR_QUERY_POINTS.
mountmgr: Return STATUS_BUFFER_OVERFLOW if an insufficient buffer is passed to IOCTL_MOUNTMGR_QUERY_DHCP_REQUEST_PARAMS.
mountmgr: Return STATUS_BUFFER_OVERFLOW if an insufficient buffer is passed to IOCTL_MOUNTMGR_ENUMERATE_CREDENTIALS.
nsiproxy: Return STATUS_BUFFER_OVERFLOW to signal short buffers.
kernelbase: Return TRUE from DeviceIoControl() if the NT status denotes success.
server: Remove the async from the queue in async_set_result().
server: Do not call async_terminate() when restarting an already terminated async.
server: Use async->iosb->status instead of async->status in async_satisfied().
server: Use a separate field to track whether the async has been alerted.
server: Use a simple boolean to track whether the async has been terminated.
server: Allow calling async_terminate() with STATUS_PENDING.
server: Allow completing non-alerted asyncs with STATUS_PENDING.
server: Do not create an iosb for IRP calls not associated with an async.
server: Introduce a helper to fill an iosb and terminate the async.
server: Add a helper to call async_request_complete() while allocating new memory.
server: Use async_request_complete() in message_queue_read().
server: Move the STATUS_ALERTED logic from async_request_complete() to async_terminate().
avicap32: Build with msvcrt.
d3dcompiler/tests: Test including an absolute path.
server: Use a separate function and flag to communicate that the initial status of an async is not known yet.
server: Mark the async as pending in IOCTL_AFD_BIND.
server: Mark the async as pending in IOCTL_AFD_EVENT_SELECT.
server: Check the status code to determine whether the async has failed.
server: Return void from the get_volume_info callback.
server: Return void from the read callback.
server: Return void from the write callback.
server: Return void from the flush callback.
server: Return void from the ioctl callback.
server: Add helper functions to perform atomic stores.
server: Fill the TimeZoneBias member of KSHARED_USER_DATA.
server: Make sure that async_request_complete() is called in the case of a failed connection as well.
d3dcompiler/tests: Link directly to the relevant d3dcompiler version.
d3dcompiler_46/tests: Enable tests.
d3dcompiler: Handle D3D_COMPILE_STANDARD_FILE_INCLUDE in preprocess_shader().
d3dcompiler/tests: Test include preprocessing with more functions.
server: Cancel asyncs through fd_ops.
server: Queue a cancel IRP in the device file cancel_async callback.
ntoskrnl/tests: Test a pending NtQueryVolumeInformation call on an overlapped file handle.
server: Use a separate field to track whether an async is blocking.
server: Don't wake up always-blocking asyncs.
Zhiyi Zhang (34):
user32/tests: Add DisplayConfigSetDeviceInfo() tests.
uxtheme/tests: Add GetThemePartSize() tests.
uxtheme: Implement OpenThemeDataForDpi().
comctl32: Use OpenThemeDataForDpi() to create a theme handle not associated to a window.
uxtheme: Use OpenThemeDataForDpi() to create a theme handle not associated to a window.
winecfg: Use OpenThemeDataForDpi() to create a theme handle not associated to a window.
uxtheme: Get DPI from theme class.
control: Add DPI system awareness settings to the application manifest.
clock: Add DPI system awareness settings to the application manifest.
dxdiag: Add system DPI awareness settings to the application manifest.
explorer: Add system DPI awareness settings to the application manifest.
hh: Add system DPI awareness settings to the application manifest.
iexplore: Set process DPI settings to be system awareness.
msiexec: Add system DPI awareness settings to the application manifest.
msinfo32: Add system DPI awareness settings to the application manifest.
notepad: Add system DPI awareness settings to the application manifest.
oleview: Add system DPI awareness settings to the application manifest.
regedit: Add system DPI awareness settings to the application manifest.
taskmgr: Add system DPI awareness settings to the application manifest.
uninstaller: Add system DPI awareness settings to the application manifest.
view: Add system DPI awareness settings to the application manifest.
wineboot: Add system DPI awareness settings to the application manifest.
winecfg: Add system DPI awareness settings to the application manifest.
winedbg: Add system DPI awareness settings to the application manifest.
winefile: Add system DPI awareness settings to the application manifest.
winemine: Add system DPI awareness settings to the application manifest.
winetest: Add system DPI awareness settings to the application manifest.
winevdm: Add system DPI awareness settings to the application manifest.
winver: Add system DPI awareness settings to the application manifest.
wordpad: Add system DPI awareness settings to the application manifest.
uxtheme: Get and set system metrics in 96 DPI.
user32: Change scroll bar minimum thumb size to 8 pixels.
user32: Scale scroll bar minimum thumb size according to DPI.
regsvr32: Enable visual styles.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.16 is now available.
What's new in this release (see below for details):
- Initial version of a HID-based joystick backend.
- Improved high-DPI theming support.
- More preparation work for the GDI syscall interface.
- Better CodeView support in WineDump.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.16.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.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 6.16 (total 36):
11146 RootsMagic 3.2.x crashes when using 'Publisher' feature
22741 Enterprise Architect 6.5: crash when generating RTF document
23382 NVIDIA Demo: Cascades crashes on unimplemented function d3dx10_43.dll.D3DX10CreateFontA
25359 Internet Explorer 4 setup crashes
27737 NVIDIA D3D SDK 10 Lightning Sample crashes on unimplemented function d3dx10_43.dll.D3DX10CreateSprite
27738 Multiple NVIDIA D3D SDK 10 example applications crash on unimplemented function d3dx10_43.dll.D3DX10CreateFontW
37310 MMS Buchfuehrung und Bilanz fails during online update
37771 32bit Virtualbox 4.0.8 fails to start on Wow64 wine prefix
38010 VPython 6.11: python2.7.9 crashes when importing visual
38136 Clickr: missing letters
38640 Cygwin/MSYS2 compiled Hello World program couldn't display output in pure Linux console
38867 Homesite+ (v5.5): Using keyboard shortcut for indenting text wipes out text (but undo restores to correct result)
38868 Homesite+ (v5.5): If caps-lock is on, exiting Extended Find dialog results in caps-lock state being toggled
39139 Microsoft Return of Arcade Anniversary Edition setup spawns DelUS.bat which never closes and consumes 100% CPU
39873 Sumatra PDF 3.1.1 - Wine crashes during reading PDF
40862 Kingsoft Office 2012 displays a gray editor window with invisible text
45200 Hitman (2016) doesn't launch in Direct3D 12 mode
49542 vkGetInstanceProcAddr shouldn't return an address for missing functions
50405 RTL_USER_PROCESS_PARAMETERS.EnvironmentSize field is not set in process parameters
50412 Wrong check for needed access rights in QueryServiceConfig2
51221 Dangerous Water crash when starting a Multiplayer game (requires IDirectPlay8Server_EnumServiceProviders implementation)
51302 NASCAR '15 Victory Edition gets in infinite loop on launch
51304 d3dcompiler_43:hlsl_d3d9 and d3dcompiler_47:hlsl_d3d9 fail on AMD GPUs (cw-rx460)
51547 Comet Busters doesn't start (reports 'Could not load shapes. Probably not enough memory.')
51550 Unable to run wine at all, could not load kernel32.dll.
51553 Purple bitmap should be transparent in scrollbar theming
51570 Tetris (16bit) has regressions in gdi32
51590 services:service fails when the KDE taskbar is at the top
51614 NtGdiSetLayout is missing call to release_dc_ptr(dc)
51620 TemTem crashes before main menu
51626 Star Citizen crashes on launch
51632 Downloading Wine-Mono through appwiz hangs/fails
51635 wine fails to build with glibc 2.34
51642 EverQuest fails to log in
51668 mscoree tests fail, .NET executables usually fail to run
51671 Random Dungeon: Can't show load screen.
----------------------------------------------------------------
Changes since 6.15:
Akihiro Sagawa (3):
ws2_32/tests: Add socket option validity tests for a file handle.
ws2_32: Explicitly return WSAENOTSOCK for a file handle in getsockopt() except SO_OPENTYPE.
ws2_32: Disallow NULL in socket lookups.
Alex Henrie (8):
ws2_32: Hook up IPV6_RECVTCLASS.
ws2_32: Always set error in setsockopt when the option is unrecognized.
ws2_32: Drop support for getting the IP_HDRINCL socket option.
ntdll: Check for unsupported socket protocol+option combinations.
ws2_32: Re-add support for getting IP_HDRINCL on raw sockets.
include: Add IPv6 PROTECTION_LEVEL constants.
ws2_32: Return PROTECTION_LEVEL_UNRESTRICTED for IPV6_PROTECTION_LEVEL.
ws2_32/tests: Add tabular socket option validity tests.
Alexandre Julliard (22):
ntdll: Add a stub for NtCallbackReturn().
ntdll: Implement KiUserCallbackDispatcher().
ntdll: Add support for user callbacks.
server: Set YMM registers from the native context even in Wow64 mode.
ntdll/tests: Don't mark Wow64 behavior as broken.
ntdll/tests: Don't mark Wow64 floating point behavior as broken.
server: Also set extended registers from the native context even in Wow64 mode.
ntdll: Fix exception information for SSE floating point faults.
ntdll: Don't handle breakpoint interrupts in Wow64 mode.
ntdll: Fix floating point exception codes in Wow64 mode.
ntdll: Always send a Wow context to the server for Wow64 processes.
wow64: Add a thunk for the NtRaiseException syscall.
wow64: Forward 64-bit invalid handle exceptions to the 32-bit guest.
wow64: Fix function comments.
ntdll: Consistently fixup the machine type for IL-only binaries.
winebuild: Fix 64-bit argument alignment on ARM.
ntdll: Store the syscall flags in the syscall frame on all platforms.
ntdll: Store the syscall table in the syscall frame on all platforms.
ntdll: Move the syscall dispatcher implementation to the platform-specific files.
winecrt0: Add fallback implementation for __wine_unix_call().
dpnet: Fix short buffer check also for the A case.
winegcc: Fix subsystem check to avoid running winebuild on Unix libraries.
Alistair Leslie-Hughes (6):
ws2_32: Handle success in addrinfo_err_from_unix.
dpnet: Implement IDirectPlay8Server EnumServiceProviders.
ntdll: Add NtTraceControl/ZwTraceControl stubs.
dpnet: Implement IDirectPlay8Address GetURLW/A.
services: Check correct permission for QueryServiceConfig2W.
ntoskrnl.exe: Implement PsGetCurrentProcessSessionId.
André Zwing (1):
shell32: Add IApplicationDocumentLists stub.
Damjan Jovanovic (1):
nsiproxy: Include netinet/ip_var.h.
Daniel Lehman (2):
kernelbase/tests: Add more tests for combining the second path.
kernelbase: Don't add a backslash to the second path if not needed.
Dmitry Timoshkov (2):
comctl32: Check control type in the STM_SETIMAGE/STM_SETICON handlers before calling the helpers.
user32: Check control type in the STM_SETIMAGE/STM_SETICON handlers before calling the helpers.
Eric Pouech (26):
winedump: Move string conversion of machine and language into dedicated helpers.
winedump: Add more supported languages from .pdb COMPILE records.
winedump: Add a bunch of new CPU definitions for PDB.
winedump: Display function attributes in function/methods codeview records.
winedump: Dump calling convention attributes for CodeView.
winedump: Add some new bits in UDT's property field.
dbghelp:: Add proper support for S_OBJNAME records.
mscvpdb.h: Make len and id type/symbol fields unsigned.
winedump: Update support for S_COMPILE* records.
mscvpdb.h: Add typedefs for type-id references.
winedump: Fix public and data/proc ref definitions of Codeview records.
winedump: Correctly support flags in public records (V1 and V2).
winedump: Add support for dumping S_LOCAL symbol record.
winedump: Add support for S_DEFRANGE* family of CodeView records.
winedump: Print symbol id when dumping symbols.
winedump: Add support for dumping CodeView records about site information.
winedump: Add support for CALLERS/CALLEES/INLINEES codeview records.
winedump: Add support for buildinfo codeview record.
winedump: Add support for dumping trampoline codeview records.
winedump: Add support for dumping heap_alloc_site CodeView records.
winedump: Add support for dumping filestatic Codeview records.
winedump: Add support for dumping stream of fixed index 4.
winedump: Add support for dumping information about type's hash stream.
winedump: Add support for dumping CodeView types records found in IPI stream (#4).
winedump: Correct and update a couple of infos in PDB symbol stream header.
dbghelp: Fix a failure about 'wrong name EntryPoint'.
Esdras Tarsis (3):
bthprops.cpl: Add BluetoothGetRadioInfo stub.
bthprops.cpl: Add BluetoothFindNextDevice stub.
api-ms-win-core-psm-appnotify-l1-1-0: Add dll.
Fabian Maurer (1):
configure: Improve resolv lib test for glibc 2.34.
François Gouget (51):
msv1_0: Fix the call to ntlm_cleanup().
advapi32/tests: RegSetValueExA() should succeed when given a NULL data pointer.
advapi32/tests: Fix an uninitialized variable check in test_performance_keys().
d2d1/tests: Some languages need a longer buffer for property display names.
kernel32/tests: Don't skip the sorting tests on Windows.
kernel32/tests: Don't skip the CompareStringA() tests on Windows.
avifil32: Fix a ASCII / ANSI mixup in comments.
wineusb.sys: Fix a potential buffer overflow in add_usb_device().
kernel32/tests: Don't allow the pre-Vista locale results.
kernel32/tests: Remove the macros from the GetTimeFormatA() tests.
services/tests: Vista+ returns fixed 1024x768 WinDisc monitor information.
kernel32/tests: Remove the macros from the GetCurrencyFormatA() tests.
kernel32/tests: Remove the macros from the GetNumberFormatA() tests.
kernel32/tests: Remove the macros from the GetDateFormatA() tests.
kernel32/tests: Remove the macros from the GetTimeFormatEx() tests.
kernelbase: Fix an ASCII / ANSI mixup in a comment.
iphlpapi: Fix an ASCII / ANSI mixup in a comment.
imm32: Fix an ASCII / ANSI mixup in a comment.
dpnet: Fix an ASCII / ANSI mixup in a warning message.
kernel32/tests: Remove the macros from the GetDateFormatEx() tests.
kernel32/tests: Remove the macros from the GetDateFormatW() tests.
kernel32/tests: Remove the macros from the GetNumberFormatEx() tests.
secur32/tests: Fix an ASCII / ANSI mixup in an ntlm comment.
msi: Fix ASCII / ANSI mixups in comments.
setupapi: Fix a couple of ASCII / ANSI mixups in comments.
winspool.drv: Fix ASCII / ANSI mixups in comments and TRACE() messages.
winmm/tests: Fix an ASCII / ANSI mixup in a trace() message.
wsock32: Fix ASCII / ANSI mixups in comments.
user32/tests: Fix an ASCII / ANSI mixup in a dde ok() message.
user32/tests: Fix ASCII / ANSI mixups in dde comments.
include: Fix the spelling of a comment.
wined3d: Fix the spelling of a comment.
ntoskrnl.exe: Fix the spelling of some comments.
wldap32: Make the wrap_*() functions static.
winedbg: dbg_get_debuggee_info() is not used anymore. Remove it.
kernel32/tests: Test GetTimeFormatA()'s Unicode to ANSI conversion.
kernel32/tests: Test GetDateFormatA()'s Unicode to ANSI conversion.
kernel32: Fix NLS_GetDateTimeFormatA() Unicode to ANSI conversion.
qcap: Make v4l_device_create() static.
kernel32: Fix ASCII / ANSI mixups in comments.
kernel32/tests: Fix ASCII / ANSI mixups in comments.
kernel32/tests: Fix a couple of ASCII / ANSI mixups in ok() messages.
winedump: Fix the spelling of a trace and a comment.
wpcap: Make wrap_pcap_handler() static.
ntdll: Fix the spelling of a comment.
wmphoto: Make the wmp_decoder_*() functions static.
winepulse.drv: Use the official PulseAudio case for the endpoint id.
mshtml: Remove WINAPI on static functions where not needed.
user32/tests: Use WineTest contexts to simplify test_LoadImage{Bitmap,File}().
gdiplus: GdipGetFamilyName() should not crash when given a NULL name.
gdiplus/tests: Fix a font test crash when "MS Shell Dlg" is not found.
Georg Lehmann (4):
winex11.drv: Only return vulkan functions if the host function is available.
winemac.drv: Only return vulkan functions if the host function is available.
winevulkan: Return NULL for unavailable instance functions.
winevulkan: Return NULL for unavailable device functions.
Gerald Pfeifer (8):
nsiproxy: Include sys/param.h.
nsiproxy: Include netinet/in_pcb.h.
nsiproxy: Include stddef.h.
ntdll: Always return a value in get_builtin_init_funcs.
nsiproxy: Include sys/types.h from udp.c.
nsiproxy: Add $(PROCSTAT_LIBS) to EXTRALIBS.
nsiproxy: Include netinet/in.h in udp.c.
nsiproxy: Include sys/queue.h from tcp.c.
Gijs Vermeulen (1):
winecfg: Disable virtual desktop when using macdrv.
Hiroki Awata (1):
msgsm32.acm: Msgsm32 should not perform PCM-to-PCM conversion.
Hugh McMaster (2):
kernel32/tests: Add tests for SetCurrentConsoleFontEx.
conhost: Use font face length as number of characters.
Huw D. M. Davies (26):
iphlpapi: Use the correct size to allocate the process map.
nsiproxy: Implement TCP connections enumerate_all.
nsiproxy: Add support for IPv6 scope ids.
nsiproxy: Add support for TCP pid lookup.
iphlpapi: Implement GetExtendedTcpTable() on top of nsi.
iphlpapi: Implement GetTcpTable2() and GetTcp6Table2().
iphlpapi: Implement AllocateAndGetTcp(Ex)TableFromStack() on top of nsi.
nsiproxy: Implement UDP endpoint enumerate_all.
iphlpapi: Implement GetExtendedUdpTable() on top of nsi.
iphlpapi: Implement AllocateAndGetUdpTableFromStack() on top of nsi.
nsiproxy: Implement UDP stats get_all_parameters.
iphlpapi: Implement GetUdpStatisticsEx() on top of nsi.
iphlpapi: Implement GetInterfaceInfo() on top of nsi.
iphlpapi: Don't enumerate loopback interfaces in GetInterfaceInfo().
iphlpapi: Implement GetAdapterIndex() by parsing the GUID from the name.
iphlpapi: Use the ANSI codepage for the convert interface name functions.
iphlpapi: Remove no longer needed libraries.
configure: Remove no longer used checks for libkstat.
server: Remove check for macOS version < 10.5.
winegcc: Add a @loader_path to help the macOS loader find ntdll.so.
winewrapper: Add dlls/ntdll to the library path so macOS can find ntdll.so.
iphlpapi: Don't truncate 64-bit ptrs.
iphlpapi: Use the correct physical address.
iphlpapi: Return early on error.
ntdll: Remove old macOS register names.
ntdll: Remove unnecessary casts on macOS registers.
Jacek Caban (88):
gdi32: Use NtGdiCreatePaletteInternal for CreatePalette.
gdi32: Use ntgdi names for palette functions.
gdi32: Use NtGdiDoPalette for GetPaletteEntries.
gdi32: Use NtGdiDoPalette for SetPaletteEntries.
gdi32: Use NtGdiDoPalette for AnimatePalette.
gdi32: Use NtGdiDoPalette for GetSystemPaletteEntries.
gdi32: Use NtGdiDoPalette for GetDIBColorTable and SetDIBColorTable.
gdi32: Use NtGdiGetAndSetDCDword for SetBkColor.
gdi32: Use NtGdiGetAndSetDCDword for SetTextColor.
gdi32: Store save level in DC_ATTR.
gdi32: Use NtGdiRestoreDC for RestoreDC.
gdi32: Rename METAFILEDRV_PDEVICE to metadc.
gdi32: Avoid using MFDRV_MetaParam* helpers.
gdi32: Don't use PHYSDEV for metafile helpers.
gdi32: Remove no longer needed metafile helpers.
gdi32: Use NtGdiCreateClientObj for CreateMetaFile.
gdi32: Directly handle EMFs in GdiComment.
gdi32: Remove no longer used driver entry points.
conhost: Use dedicated ioctl for GetConsoleWindow.
conhost: Use message window to return a window for windowless consoles.
gdi32: Move mfdrv/init.c to new metadc.c file.
gdi32: Merge mfdrv/dc.c into metadc.c.
gdi32: Merge mfdrv/graphics.c into metadc.c.
gdi32: Merge mfdrv/objects.c into metadc.c.
gdi32: Merge mfdrv/bitblt.c into metadc.c.
gdi32: Merge mfdrv/text.c into metadc.c.
gdi32: Use NtGdiFillPath for FillPath.
gdi32: Use NtGdiSelectClipPath for SelectClipPath.
gdi32: Use NtGdiFlattenPath for FlattenPath.
gdi32: Remove no longer used driver entry points.
gdi32: Use NtGdiStrokeAndFillPath for StrokeAndFillPath.
gdi32: Use NtGdiStrokePath for StrokePath.
gdi32: Use NtGdiWidenPath for WidenPath.
gdi32: Use ntgdi names for GetPath and PathToRegion.
gdi32: Use NtGdiGetAndSetDCDword for SetDCBrushColor.
gdi32: Use NtGdiGetAndSetDCDword for SetDCPenColor.
gdi32: Rename bidi.c to text.c.
gdi32: Move bidi text reordering to ExtTextOutW.
gdi32: Move GetCharacterPlacementW to text.c.
gdi32: Move ExtTextOutW wrappers to text.c.
gdi32: Move GetCharacterPlacementA to text.c.
gdi32: Use NtGdiGetTextFaceW for GetTextFace.
gdi32: Use NtGdiGetTextExtentExPointW for GetTextExtentExPoint.
gdi32: Use NtGdiGetTextMetricsW for GetTextMetrics.
gdi32: Store font code page in DC_ATTR.
gdi32: Use NtGdiHfontCreate for CreateFont* functions.
gdi32: Use NtGdiGetOutlineTextMetricsInternalW for GetOutlineTextMetrics.
gdi32: Introduce NtGdiCreateMetafileDC.
gdi32: Store EMF bounds in DC_ATTR.
gdi32: Use NtGdiResetDC for ResetDCW.
gdi32: Use NtGdiDeleteObjectApp for DeleteDC.
gdi32: Handle EMF recording clean up in DeleteDC.
gdi32: Move EMF driver to separated file.
gdi32: Use struct emf for EMF helpers.
gdi32: Avoid using EMFDRV_PDEVICE outside emfdev.c.
gdi32: Use NtGdiGetRgnBox in emfdrv_stroke_and_fill_path.
gdi32: Separate EMFDRV_PDEVICE and struct emf.
gdi32: Move enhmfdrv/dc.c into new emfdc.c file.
gdi32: Merge enhmfdrv/init.c into emfdc.c.
gdi32: Merge enhmfdrv/objects.c into emfdc.c.
gdi32: Merge enhmfdrv/graphics.c into emfdc.c.
gdi32: Merge enhmfdrv/bitblt.c into emfdc.c.
gdi32: Merge enhmetafiledrv.h into emfdc.c.
gdi32: Use ntgdi names for D3DKMT functions.
gdi32: Implement NtGdiDdDDIOpenAdapterFromLuid.
gdi32: Move D3DKMTOpenAdapterFromGdiDisplayName to objects.c.
gdi32: Reimplement CreateBrushIndirect on top of other brush constructors.
gdi32: Use NtGdiCreateSolidBrush for CreateSolidBrush.
gdi32: Use NtGdiCreateHatchBrush for CreateHatchBrush.
gdi32: Use NtGdiCreatePatternBrushInternal for CreatePatternBrush.
gdi32: Use NtGdiCreateDIBBrush for CreateDIBPatternBrushPt.
gdi32: Use NtGdiCreateDIBBrush for CreateDIBPatternBrush.
gdi32/tests: Add more char width tests.
gdi32/tests: Use winetest_debug to silence noisy traces.
gdi32: Use NtGdiGetCharWidthW for GetCharWidth.
gdi32: Support passing an array of chars to NtGdiGetCharWidthW.
gdi32: Use NtGdiGetCharWidthW for GetCharWidthFloatW.
gdi32: Use NtGdiGetCharWidthW for GetCharWidthFloatA.
gdi32: Use NtGdiGetCharWidthW for GetCharWidthI.
gdi32: Use NtGdiGetCharABCWidthsW for GetCharABCWidthsW.
gdi32: Use NtGdiGetCharABCWidthsW for GetCharABCWidthsA.
gdi32: Use NtGdiGetCharABCWidthsW for GetCharABCWidthsI.
gdi32: Use NtGdiGetCharABCWidthsW for GetCharABCWidthsFloatW.
gdi32: Use NtGdiGetCharABCWidthsW for GetCharABCWidthsFloatA.
gdi32: Use NtGdiGetGlyphOutlineW for GetGlyphOutlineW.
gdi32: Use NtGdiGetKerningPairsW for GetKerningPairsW.
gdi32: Move GetFontLanguageInfo to text.c.
gdi32: Use ntgdi name for GetFontData.
Jan Sikorski (1):
wined3d: Avoid read-to-read resource barriers.
Jinoh Kang (1):
gdi32: Add missing release_dc_ptr to NtGdiSetLayout.
Kim Malmo (1):
po: Update Norwegian translation.
Luke Deller (2):
msvcrt/tests: Add test for fopen/_open access hints.
server: Implement file access hints using posix_fadvise.
Michael Stefaniuc (13):
msxml3/tests: Remove superfluous cast to self.
mfplat/tests: Avoid cast from COM object to interface.
mf/tests: Avoid cast from COM object to interface.
dwrite: Avoid casts from COM object to interface.
shlwapi/tests: Avoid casts from COM object to interface.
msdaps: Avoid casts from COM object to interface.
winebus.sys: Print the debug string and not the pointer to it.
msvcrt/tests: Remove redundant NULL check before free().
amstream/tests: Actually test the return of IMediaFilter_SetSyncSource.
qedit/tests: Remove duplicated ok() call.
qcap/tests: Remove duplicated ok() call.
windows.gaming.input/tests: Test the correct return value.
d3dx10: Remove redundant NULL check before heap_free().
Nikolay Sivov (44):
msxml3/tests: Add some supported interfaces checks.
msxml3: Move IDispatchEx support definitions to a separate header.
msxml3: Do not depend on libxml2 for namespace object.
msxml3: Do not depend on libxml2 for msxwriter object.
msxml3: Add a helper for XMLHTTP response encoding detection.
msxml3: Do not depend on libxml2 for XMLHTTP object.
msxml3: Do not depend on libxml2 for XMLVIEW object.
msxml3: Do not depend on libxml2 for urlmon integration code.
d3dx10: Add a stub sprite object.
d3dx10: Add a stub font object.
d3dx10/tests: Add some tests for font object.
d3dx11_42/tests: Enable tests.
d3d10/effect: Get rid of unnecessary cast in ID3D10EffectPass::GetDesc().
d3d10/effect: Return full pass description from ID3D10EffectPass::GetDesc().
d3dx9/effect: Reset output handle for next after last technique in FindNextValidTechnique().
dwrite/tests: Use winetest context for some tests.
msxml3: Do not depend on libxml2 for DOM implementation object.
msxml3/domimpl: Cleanup object creation helper.
msxml3/domimpl: Fixup method functions names.
msxml3: Do not depend on libxml2 for legacy IXMLParser object stub.
msxml3: Do not depend on libxml2 for parser error object.
include: Add ID3DX10Mesh definition.
oleaut32/tests: Add interface checks for font object.
oleaut32/typelib: Remove explicit check already handled by the loop condition.
d3d10/effect: Handle geometry shader variables declared with stream output.
d3d10/effect: Handle SetResource() called on null variable instance.
d3dx10_42/tests: Enable tests.
d3dx10_43/tests: Test all attributes of glyph textures.
oleaut32: Fully initialize VARIANT structure in VariantInit().
d3d10/effect: Use shader reflection to return output signature description.
d3d10/effect: Fix indexing in GetOutputSignatureElementDesc().
d3d10/effect: Use shader reflection to return input signature description.
d3d10/effect: Store input signature as a blob part.
d3d10/effect: Give a name to value assignment type field.
d3dx10_41/tests: Enable tests.
d3dx10: Add a stub mesh object.
d3dx10: Check device in d3dx10_sprite_GetDevice().
d3dx10/tests: Add some tests for sprite object.
d3d10/effect: Warn only when ignored default variable value is specified.
d3d10/effect: Clear up unknown fields in effect header.
d3d10/effect: Store explicit bind point value for constant buffers and object variables.
d3dx10_40/tests: Enable tests.
d3dx9: Forward D3DXDisassembleShader() to d3dcompiler.
d3dcompiler/tests: Add a D3DDisassemble() test with sm2 shader.
Paul Gofman (4):
winegstreamer: Create media source read thread after initializing wg_parser.
winhttp: Factor out query_data_ready() function.
winhttp: Execute WinHttpQueryDataAvailable() synchronously if the data is available.
winhttp: Execute WinHttpReadData() synchronously if the data is available.
Piotr Caban (34):
msvcrt: Use new() for allocations returning BadAlloc exception.
msvcrt: Allow specifying destructor in DEFINE_CXX_DATA macro.
msvcp90: Remove type_info_dtor helper from CREATE_TYPE_INFO_VTABLE macro.
msvcrt: Add macro that defines type_info vtable.
msvcrt: Rename scheduler.c file to concurrency.c.
msvcrt: Move lock Concurrency functions to concurrency.c.
msvcrt: Move _Trace_agents function to concurrency.c.
msvcrt: Move _Trace_ppl_function to concurrency.c.
msvcrt: Rename exception::what() implementation to exception_what.
msvcrt: Introduce macro for creating exception class.
msvcrt: Move improper_lock implementation to concurrency.c.
msvcrt: Move scheduler_resource_allocation_error to concurrency.c.
msvcrt: Move invalid_scheduler_policy_key to concurrency.c.
msvcrt: Move invalid_scheduler_policy_value to concurrency.c.
msvcrt: Move invalid_scheduler_policy_thread_specification to concurrency.c.
msvcrt: Move improper_scheduler_attach to concurrency.c.
msvcrt: Move improper_scheduler_detach to concurrency.c.
msvcrt: Simplify throw_exception helper.
concrt140: Don't forward to msvcr120.
msvcp90: Move Concurrency::details functions to details.c file.
msvcp90: Remove MSVCRT_ prefix from new() and delete().
msvcp90: Always throw bad_alloc exception in operator_new on allocation failure.
msvcp90: Remove MSVCP_SIZE_T_MAX definition.
msvcp90: Don't use throw_exception helper for rethrow.
msvcp90: Fix _Xmem and _Nomemory exception message.
msvcp90: Don't use throw_exception helper for bad_alloc exception.
msvcrt: Fix _CxxThrowException prototype.
msvcp90: Don't use throw_exception helper for length_error exception.
msvcp90: Don't use throw_exception helper for invalid_argument exception.
msvcp90: Don't use throw_exception helper for runtime_error exception.
msvcp90: Don't use throw_exception helper for out_of_range exception.
msvcp90: Introduce throw_range_error helper.
msvcp90: Introduce throw_failure helper.
msvcp90: Use throw_exception helper to throw exception object only.
Rémi Bernon (48):
hidclass.sys: Enforce POLL_FREQUENCY_MSEC value range.
hidclass.sys: Remove unnecessary poll_interval == 0 cases.
hidclass.sys: Factor poll / non-polled read loops together.
hidparse.sys: Introduce new driver library.
hidparse.sys: Implement HidP_(Get|Free)CollectionDescription.
hidclass.sys: Use hidparse.sys instead of internal parser.
winebus.sys: Pass bus id instead of vtbl to lookup functions.
winebus.sys: Use bus_find_hid_device to find SDL devices from id.
winebus.sys: Always call the EVDEV ioctls for input UDEV subsystem.
winebus.sys: Only read EVIOCGID result if the ioctl succeeded.
winebus.sys: Simplify parsing udev device info from uevent.
winebus.sys: Parse udev device version and input number from uevent.
winebus.sys: Ignore EV_REL / EV_ABS ioctl failures.
winebus.sys: Return NTSTATUS from build_report_descriptor.
winebus.sys: Unlink device before releasing it.
setupapi/tests: Add more driver / device id match tests.
setupapi: Use a struct driver instead of individual local variables.
setupapi: Create only one driver per driver id match.
setupapi: Rank drivers according to their id match.
winebus.sys: Introduce a new start_device callback.
winebus.sys: Build report descriptors in start_device.
winebus.sys: Remove the now useless bus_remove_hid_device.
winebus.sys: Merge begin_report_processing with start_device.
winebus.sys: Pass HID_XFER_PACKET and IO_STATUS_BLOCK to callbacks.
winebus.sys: Create the SDL bus thread in main.c.
winebus.sys: Create the UDEV bus thread in main.c.
winebus.sys: Create the IOHID bus thread in main.c.
winebus.sys: Introduce a new unixlib interface.
winebus.sys: Load bus options in main.c.
winebus.sys: Allocate private device data separately.
winebus.sys: Use the private data pointer as device unique id.
ntoskrnl.exe/tests: Add more HID usage nary tests.
hidclass.sys: Fix nary usage collections index ordering.
hid: Implement HidP_UnsetUsages.
hid: Implement HidP_SetScaledUsageValue.
dinput: Allocate data format on device creation.
dinput: Support disabled by default option in device_disabled_registry.
dinput: Introduce new HID joystick backend.
dinput: Add read event and callback for file-based devices.
dinput: Implement HID joystick IDirectInputDevice8_GetDeviceInfo.
dinput: Implement HID joystick IDirectInputDevice8_GetProperty.
dinput: Implement HID joystick IDirectInputDevice8_GetDeviceState.
dinput: Implement HID joystick IDirectInputDevice8_GetCapabilities.
dinput: Enumerate HID collections, input buttons and values.
dinput: Implement HID joystick IDirectInputDevice8_SetProperty.
dinput: Implement HID joystick IDirectInputDevice8_GetObjectInfo.
dinput: Implement HID joystick IDirectInputDevice8_EnumObjects.
dinput: Read HID reports from the internal thread.
Tim Clem (1):
user32: Load libpng in DllMain.
Zebediah Figura (21):
ws2_32/tests: Fix a test failure in test_GetAddrInfoExW().
ws2_32: Use malloc() instead of HeapAlloc().
ws2_32: Use realloc() in get_{host, proto, serv}ent_buffer().
ws2_32: Properly implement getsockopt(SO_CONNECT_TIME).
server: Remove support for waiting on an IRP object.
server: Remove a redundant NULL check for async->fd.
ntoskrnl: Dereference the device children in IoDeleteDevice().
ntoskrnl: Factor out remove_device().
wineusb.sys: Mark child PDOs as removed as soon as they are hot-unplugged.
wineusb.sys: Unlink devices from the list in the PDO IRP_MN_SURPRISE_REMOVAL.
ntoskrnl/tests: Add some tests for IRP pending flags.
ntoskrnl: Set the PendingReturned field in IoCompleteRequest().
ntoskrnl: Clear the pending flags for the current stack location before calling the previous location's completion routine.
quartz: Always return S_FALSE from DllCanUnloadNow().
qcap: Always return S_FALSE from DllCanUnloadNow().
winegstreamer: Always return S_FALSE from DllCanUnloadNow().
devenum: Always return S_FALSE from DllCanUnloadNow().
d3dcompiler: Rip out the HLSL compiler.
ntdll/tests: Also test the IOSB status in test_volume_info().
ntoskrnl/tests: Add more tests for IRP status handling.
kernel32: Call kernelbase DeviceIoControl() in kernel32 DeviceIoControl().
Zhiyi Zhang (17):
user32: Report a fake monitor when running on an invisible window station.
wordpad: Use large icons for toolbar when DPI is greater than 120.
winex11.drv: Use length returned from sprintfW().
winemac.drv: Use length returned from sprintfW().
light.msstyles: Add more Button HiDPI images.
light.msstyles: Add Scroll Bar gripper HiDPI images.
light.msstyles: Add Tooltip HiDPI images.
light.msstyles: Add more TreeView HiDPI images.
light.msstyles: Add TrueSizeScalingType property to TrueSize sizing parts.
uxtheme: Remove useless calculation.
uxtheme: Support TrueSizeScalingType property.
uxtheme: Support TrueSizeStretchMark property.
uxtheme: Support more HiDPI properties.
uxtheme: Add comctl32 v6 manifest.
uxtheme: Implement DrawThemeIcon().
uxtheme: Use TransparentBlt() for bitmaps with all alpha values being 0xff.
uxtheme: Draw scroll bar parent background only when theme parts are transparent.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.15 is now available.
What's new in this release (see below for details):
- WinSock (WS2_32) library converted to PE.
- Support for performance data in the registry.
- More 32->64-bit thunks for NTDLL calls.
- Improved floating point status handling in the C runtime.
- More preparation work for the GDI syscall interface.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.15.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.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 6.15 (total 49):
21910 File Encryption 2.1 does now show interface and drive units correctly
25602 Windows Double Explorer: can't add a favorite folder when using Wine Mono
28257 kernel32/pipe.ok flaky
33037 Multiple Microsoft product installers fail due to missing registry performance counter information (HKEY_PERFORMANCE_DATA 230, process object)(Visual Studio 6, eMbedded Visual C++ 4.0, SQL Server Management Studio Express 2008 R2)
34345 AOMEI Backupper: crashes when clicking on "reload" button
34679 Split/Second Velocity Demo crashes without native d3dx9_36
34726 e-carte bleue la banque postale: black screen on start
36159 Google-Earth: no search results and no itinerary displayed
39302 Multiple D3D example applications crash due to d3dx10_43.dll.D3DX10CreateEffectFromFileW stub (NVIDIA D3D SDK 10 Sparkles, DirectX SDK GPUSpectrogram)
39365 Gas Guzzlers Combat Carnage demo has wrong rendering with ARB shaders enabled
39821 Scrollbar theming not working
41191 Multiple D3D example applications crash due to d3dx10_43.D3DX10CreateEffectFromMemory stub (Separable Subsurface Scattering, Nvidia's CSAA tutorial demo)
41221 wine-mono crashes with "System.EntryPointNotFoundException" when run under gdb
41560 Multiple MFC-based BCGControlBar Library examples fail to draw Themed Scrollbars (BCGPVisualStudioGUIDemo, BCGPOutlookDemo)
41629 Wordpad needs a manifest file.
41921 Zafehouse: Diaries crashes when attempting to start the game
42341 Cryostasis: Sleep of Reason demo shows black screen after launch
47047 Multiple kernel drivers crash due to missing 'ntoskrnl.exe.MmGetPhysicalAddress' semi-stub (64-bit MRAC Anti-Cheat (My.Com Warface) kernel service, DELL BIOS flash utility, BattlEye Anti-Cheat)
47261 Sysinternals ClockRes returns wrong values (NtQueryTimerResolution/NtSetTimerResolution)
48583 Waves VST Plugins do not render correctly
48584 DTS Master Audio Suite displays a black window if dxvk is installed
48585 DTS Master Audio Suite display turns black if it is minimised then maximised
48854 When using Wavelab I am unable to save any file
49067 When working in a Windows CLI environment the up arrow key no longer brings up the last command used.
49726 ChrisPC Free VPN Connection 2.x crashes on unimplemented function rasapi32.dll.RasSetCredentialsA when clicking 'Connect to VPN'
50167 Wavelab 6 no longer launches with introduction of wine 5.22
50419 Windows Movie Maker 2.0 installer fails to register 'l3codeca.acm' codec (missing 'dxtrans.dll', IDXTaskManager)
50705 Cygwin64 on Wine64-staging closes the console after every command.
51215 Logos Bible Software crashes when selecting a resource in Library View or Factbook
51290 Since wine 6.10 does not work HD-mod lobby game Heroes of Might and Magic 3 (HotA)
51326 Counter:Side: No sound after losing and regaining focus for the first time
51344 Resident Evil 4 (2007) hangs on start without native d3dx9_30
51358 Civilization 4: XML load error when trying to start
51374 GreedFall 1.0.5684 crashes on unimplemented function KERNEL32.dll.GetCurrentPackagePath
51398 "The Bat!" mailer cannot send mails with attachments anymore
51419 Multiple games crash on launch using Vulkan renderer (The Park, DARQ, HITMAN 2 (2018), Little Nightmares)
51452 oleaut32:varformat fails in Wine when the currency sign has two characters or more
51469 iBall Soft AP Manager crashes on unimplemented function wlanapi.dll.WlanHostedNetworkQueryProperty
51496 On KDE riched20:editor triggers a clipboard infinite loop, crashing explorer.exe
51501 FFXIV Launcher shows repeated certificate warning popup
51519 Multiple applications have issues with network connections (PlayOnline Viewer, Steam).
51533 Some Radeon driver versions seem to break kernelbase:sync
51535 Native Access 1.13.3 crashes on unimplemented function virtdisk.dll.DetachVirtualDisk
51540 PlayOnline Viewer (FFXI) fails to start (Wine built without MinGW).
51560 Toon Boom Harmony 15 crashes on unimplemented function tbs.dll.Tbsi_GetDeviceInfo
51568 Zafehouse: Diaries demo crashes on start
51579 Regression in msvcrt breaks google earth installer
51586 Metal Gear Solid V: The Phantom Pain crashes on launch
51591 AFxW: file list panes aren't updated at start-up
----------------------------------------------------------------
Changes since 6.14:
Akihiro Sagawa (4):
user32/tests: Test pending redraw state with owner-drawn list box.
user32/listbox: Fix redraw after LB_SETCOUNT message.
comctl32/tests: Test pending redraw state with owner-drawn list box.
comctl32/listbox: Fix redraw after LB_SETCOUNT message.
Alex Henrie (19):
msdmo: Fix size of DMOGetName's array argument (GCC).
include: Fix size of MsiEnumClientsEx[AW]'s array argument (GCC).
rasapi32: Add RasSetCredentialsA/W stubs.
include: Add IN6_PKTINFO.
ws2_32/tests: Add tests for IPv6 control messages.
ws2_32: Hook up IPV6_HOPLIMIT.
ws2_32: Hook up IPV6_PKTINFO.
wlanapi: Add WlanHostedNetworkQueryProperty stub.
wlanapi: Add WlanHostedNetworkQuerySecondaryKey stub.
include: Move DOT11_PHY_TYPE to windot11.h.
wlanapi: Add WlanHostedNetworkQueryStatus stub.
dxtrans: Add stub DLL.
shell32: Fix use of uninitialized variable in paste_pidls (Clang).
ntdll: Add missing break to case IPV6_PKTINFO.
include: Add remaining IPv6 socket options.
include: Add remaining IPv4 socket options.
include: Add IPV6_HOPOPTS and IPV6_GET_IFLIST.
tapi32: Add lineGetTranslateCapsW stub.
ntoskrnl: Add MmGetPhysicalAddress semi-stub.
Alexandre Julliard (46):
ntdll: Fix the SYSTEM_CACHE_INFORMATION structure definition.
ntdll: Make wine_nt_to_unix_file_name() and wine_unix_to_nt_file_name() follow NT syscall conventions.
wow64: Add thunks for the system information query syscalls.
wow64: Add thunks for the wine_nt_to_unix_file_name and wine_unix_to_nt_file_name syscalls.
wow64: Add a thunk for the wine_server_call() syscall.
ntdll: Add a magic parameter to NtFreeVirtualMemory() for releasing address space.
ntdll: Update the MEMORY_INFORMATION_CLASS enumeration.
ntdll: Add a Wine-specific class in NtQueryVirtualMemory to retrieve the init functions of a module.
msvcrt: Remove leftover __wine_init_unix_lib() call.
ntdll: Move the loading of the global options to the Unix side.
ntdll: Store the 32-bit PEB in the process initial 32-bit context.
ntdll: Use the 32-bit __wine_ctrl_routine() in Wow64 processes.
wow64cpu: Implement 32<->64 bit code switching.
wow64cpu: Restore the full 32-bit context when changed externally.
wow64: Make the syscall dispatcher point to the wow64cpu syscall wrapper.
wow64: Add support for jumping to 32-bit code in Wow64LdrpInitialize().
wow64: Implement Wow64ApcRoutine().
wow64: Add thunks for a few misc syscalls.
wow64: Add thunks for ioctl/fsctl syscalls.
ntdll: Avoid some duplicate async definitions.
ntdll: Add a helper function to get the iosb pointer to pass to the server.
ntdll: Only update the I/O status block at function exit.
ntdll: Set the I/O status block through the 32-bit pointer for Wow64 processes.
ntdll: Make release_builtin_module() static.
ntdll: Don't try to load .so dlls for a different machine.
ntdll: Load the Unix dll at the same time as the PE one, but don't map it yet.
ntdll: Add a Wine-specific NtQueryVirtualMemory() query to retrieve the Unix call table.
ntdll: Add a custom type for the Unix functions table handle.
wow64: Add thunks for the Unix library syscalls.
winepulse.drv: Convert the Unix call initialization to NtQueryVirtualMemory().
winegcc: Add a helper function to build the .spec.o file.
winegcc: Don't build the .spec.o file for native Unix libraries.
ntdll: Make __wine_unix_call() WINAPI to follow syscall conventions.
ntdll: Avoid CDECL on internal functions.
winegcc: Build Unix libraries as dynamic libs on macOS.
winegcc: Use custom subsystem 'unixlib' instead of 'native' for Unix libraries.
makefiles: Don't depend on import libraries for native Unix libraries.
include: Add a private header for Unix libraries definitions.
odbc32: Convert the Unix library to the __wine_unix_call interface.
msv1_0: Move context allocation to the PE side.
msv1_0: Convert the Unix library to the __wine_unix_call interface.
ws2_32: Avoid using wineserver definitions.
ws2_32: Convert the Unix library to the __wine_unix_call interface.
netapi32: Avoid process heap allocations.
netapi32: Convert the Unix library to the __wine_unix_call interface.
ntdll: Make get_builtin_unix_funcs() static.
Alistair Leslie-Hughes (1):
hid: Validate preparsed data pointer passed in HidP functions.
Andrew Boyarshin (1):
include: Fix IRequestDictionary IID.
Andrew Eikum (1):
dxgi/tests: Add tests to show frame latency object is a semaphore.
Arkadiusz Hiler (1):
dinput/tests: Make overlapped format tests more robust.
Austin English (2):
virtdisk: Add DetachVirtualDisk stub.
kernel32: Add GetCurrentPackagePath stub.
Biswapriyo Nath (1):
include: Add some type aliases in dsound.h.
Damjan Jovanovic (1):
msxml3: Use XSD regex quantifier format S{0, m} instead of S{, m}.
Dmitry Timoshkov (2):
ole32/tests: Add more tests for CoIncrementMTAUsage/CoDecrementMTAUsage.
combase: When looking up an apartment which has a given creator thread ID use multi-threaded apartment only if the thread doesn't have an apartment-threaded one.
Eduard Permyakov (1):
xmllite: Don't lose terminating character when shrinking buffer.
Esme Povirk (1):
mscoree: Only override Microsoft.Xna.Framework version 4.
François Gouget (16):
kernelbase/tests: Fix the Sleep() test for non-default timer resolutions.
ntdll/tests: Add some Nt{Query,Set}TimerResolution() tests.
ntdll: Improve the Nt{Query,Set}TimerResolution() stubs.
ntdll/tests: Account for some timer resolution rounding.
oleaut32: Remove caching from VARIANT_GetLocalisedNumberChars().
ws2_32: Add a trailing linefeed to a FIXME().
oleaut32: The decimal point takes priority over the thousands separator.
oleaut32: Fix VarParseNumFromStr()'s handling of currency thousands separators.
user32/tests: Use wine_dbgstr_a() instead of %.8s.
user32/tests: GetClipboardData() returns no error for missing formats.
oleaut32: Add support for longer currency symbols.
oleaut32: Fix VarParseNumFromStr()'s handling of currency decimals.
oleaut32: Fix handling of hexadecimal/octal numbers in VarParseNumFromStr().
oleaut32: Allow longer regional settings values.
user32/tests: Test delayed clipboard rendering after window destruction.
server: Remove obsolete synthesized formats in release_clipboard().
Gabriel Ivăncescu (3):
ntdll: Fix offsetof syntax for IOCTL_AFD_WINE_GET_IRLMP_ENUMDEVICES.
jscript: Fix GetIDsOfNames for more than one name.
vbscript: Fix GetIDsOfNames for more than one name.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.2.188.
Gerald Pfeifer (2):
nsiproxy: Include sys/types.h.
ntdll: Only use sysinfo function when present.
Gijs Vermeulen (1):
tbs: Add Tbsi_GetDeviceInfo stub.
Giovanni Mascellani (1):
kernelbase: Fix an incorrect allocation size.
Hugh McMaster (5):
conhost: Remove duplicate lines from current_config().
conhost: Set screen buffer height to 150 characters in registry defaults.
conhost: Copy font properties to the new screen buffer.
conhost: Use correct size when storing font FaceName in the registry.
kernel32/tests: Fix rounding error when calculating console font size.
Huw D. M. Davies (38):
nsiproxy: Implement IPv4 forward enumerate_all.
iphlpapi: Implement GetIpForwardTable2().
iphlpapi: Implement GetIpForwardTable() on top of nsi.
iphlpapi: Implement AllocateAndGetIpForwardTable() on top of GetIpForwardTable().
iphlpapi: Move the WINS server lookup to a helper.
iphlpapi/tests: Add more tests for GetAdaptersInfo().
iphlpapi: Implement GetAdaptersInfo() on top of nsi.
dnsapi: Implement support for returning ipv4 servers in a DNS_ADDR_ARRAY.
dnsapi: Add support for returning ipv6 dns server addresses.
dnsapi: Add support for DnsConfigSearchList.
ntdll: Return STATUS_NOT_SUPPORTED if dlinfo() is not present.
dnsapi: Delay import netapi32.
iphlpapi: Use DnsQueryConfig() to retrieve the dns servers for GetAdaptersAddresses().
iphlpapi: Use DnsQueryConfig() to retrieve the dns servers for the remaining functions.
iphlpapi: Use DnsQueryConfig() to retrieve the dns suffix.
iphlpapi: Move the loopback check to get_dns_server_list().
iphlpapi: Add support for the EnableRouting member.
dnsapi: Return ERROR_MORE_DATA on insufficient buffer.
iphlpapi: Rewrite GetAdaptersAddresses() to first alloc and then copy the info.
iphlpapi: Mark non-loopback, non-linklocal addresses as dns eligible.
iphlpapi: Implement GetAdaptersAddresses() on top of nsi.
nsiproxy: Implement IPv4 neighbour enumerate_all.
iphlpapi: Implement GetIpNetTable2() on top of nsi.
iphlpapi: Implement GetIpNetTable() on top of nsi.
iphlpapi: Implement AllocateAndGetIpNetTableFromStack() on top of GetIpNetTable().
nsiproxy: Implement IPv4 ipstats get_all_parameters.
nsiproxy: Implement IPv6 ipstats get_all_parameters on linux.
nsiproxy: Implement IP compartment get_all_paramters.
iphlpapi: Implement GetIpStatisticsEx() on top of nsi.
iphlpapi: Update the echo request and reply counts.
nsiproxy: Implement IPv4 icmpstats get_all_parameters.
nsiproxy: Implement IPv6 icmpstats get_all_parameters on linux.
iphlpapi: Implement GetIcmpStatisticsEx() on top of nsi.
iphlpapi: Implement GetIcmpStatistics() on top of GetIcmpStatisticsEx().
nsiproxy: Don't use the key size to determine the address family as it can be zero.
nsiproxy: Add an #ifdef guard for SIN_ROUTER.
nsiproxy: Implement TCP stats get_all_parameters.
iphlpapi: Implement GetTcpStatisticsEx() on top of nsi.
Jacek Caban (64):
gdi32: Use ntgdi names for GetDeviceGammaRamp and SetDeviceGammaRamp.
gdi32: Use ntgdi names for GetBoundsRect and SetBoundsRect.
gdi32: Store vis_rect in DC_ATTR.
gdi32: Don't restore DC state in EnumEnhMetaFile when using metafiles.
gdi32: Store viewport extent in DC_ATTR.
gdi32: Store viewport origin in DC_ATTR.
gdi32: Store window origin in DC_ATTR.
gdi32: Store window extent in DC_ATTR.
gdi32: Store brush origin in DC_ATTR.
gdi32: Use DC_ATTR for SetBrushOrgEx implementation.
gdi32: Use NtGdiPatBlt for PatBlt implementation.
gdi32: Use NtGdiIntersectClipRect for IntersectClipRect implementation.
gdi32: Use NtGdiOffsetClipRgn for OffsetClipRgn implementation.
gdi32: Use NtGdiExcludeClipRect for ExcludeClipRect implementation.
gdi32: Use ntgdi names for PtVisible and RectVisible.
gdi32: Use NtGdiExtSelectClipRgn for ExtSelectClipRgn implementation.
gdi32: Use NtGdiSetMetaRgn for SetMetaRgn.
gdi32: Remove no longer used clipping driver entry points.
gdi32: Use ntgdi interface for GetTransform and GetWorldTransform.
gdi32: Use ntgdi name for SetVirtualResolution.
gdi32: Use NtGdiSetTextJustification for SetTextJustification.
gdi32: Use NtGdiTransformPoints for DPtoLP.
gdi32: Use NtGdiTransformPoints for LPtoDP.
gdi32: Use ntgdi interface for SetMapMode implementation.
gdi32: Store char_extra in DC_ATTR.
gdi32: Use DC_ATTR for SetTextCharacterExtra implementation.
gdi32: Store mapper flags in DC_ATTR.
gdi32: Use ntgdi interface for SetLayout implementation.
gdi32: Remove no longer used driver entry points.
gdi32: Support StockFlag in GDI_HANDLE_ENTRY.
gdi32: Use NtGdiScaleViewportExtEx for ScaleViewportExtEx implementation.
gdi32: Use NtGdiScaleWindowExtEx for ScaleWindowExtEx implementation.
gdi32: Remove no longer used driver entry points.
gdi32: Handle deletion of objects associated with metafile without accessing kernel objects.
gdi32: Handle metafiles directly in SelectObject.
gdi32: Handle EMFs directly in SelectObject.
gdi32: Handle metafiles directly in SelectPalette.
gdi32: Handle metafiles directly in RealizePalette.
gdi32: Store virtual resolution and size in DC_ATTR.
gdi32: Handle metafiles directly in SetViewportExtEx.
gdi32: Handle metafiles directly in SetViewportOrgEx.
gdi32: Handle metafiles directly in SetWindowExtEx.
gdi32: Handle metafiles directly in SetWindowOrgEx.
gdi32: Handle metafiles directly in OffsetViewportOrgEx.
gdi32: Handle metafiles directly in OffsetWindowOrgEx.
gdi32: Remove no longer used driver entry points.
gdi32: Use ntgdi name for GetTextCharsetInfo.
gdi32: Use GetDIBits in emfdrv_stretchblt.
gdi32: Don't use bitblt_coords in emfdrv_stretchblt.
gdi32: Use GetDIBits instead of GetObject in MFDRV_StretchBlt.
gdi32: Use NtGdiStretchBlt for StretchBlt.
gdi32: Use NtGdiBitBlt for BitBlt.
gdi32: Use NtGdiAlphaBlend for GdiAlphaBlend.
gdi32/tests: Add more metafile blitting tests.
gdi32: Use NtGdiModifyWorldTransform for ModifyWorldTransform.
gdi32: Support MWT_SET in NtGdiModifyWorldTransform.
gdi32: Use NtGdiModifyWorldTransform for SetWorldTransform implementation.
gdi32: Remove no longer used driver entry points.
gdi32: Use NtGdiSetDIBitsToDeviceInternal for SetDIBitsToDevice.
gdi32: Use NtGdiStretchDIBitsInternal for StretchDIBits.
gdi32: Use NtGdiExtEscape for ExtEscape.
gdi32: Move Escape to gdidc.c.
krnl386.exe: Convert 16-bit GDI handles to full 32-bit handles.
include: Use WOWHandle32 for HDC_32 on Wine.
Jan Sikorski (3):
wined3d: Make use of VK_EXT_host_query_reset if available.
wined3d: Don't try to reset query pools if we don't have a command buffer.
wined3d: Avoid redundantly resetting timestamp queries.
Luke Deller (2):
msvcrt: Translate file open access pattern hints.
kernelbase: Translate FILE_FLAG_SEQUENTIAL_SCAN.
Martin Storsjö (10):
winebuild: Spell out "x30" instead of "lr" for arm64.
mailmap: Add a mailmap entry for myself with the proper spelling.
winebuild: Fix building for arm with older versions of binutils.
msvcrt: Implement _statusfp for arm.
msvcrt: Implement _clearfp for arm.
msvcrt: Implement _control87 for arm.
ucrtbase: Update the fenv test for non-x86 architectures.
msvcrt: Implement fesetenv for arm64.
msvcrt: Implement fesetenv for arm.
loader: Add support for ARM linux in the preloader.
Matteo Bruni (5):
wined3d: Don't consider texture rectangles for buffers.
wined3d: Clear dirty flags after calling all the state handlers in context_apply_draw_state().
d3dx10/tests: Don't fail tests when WMP support is missing.
d3dx10/tests: Ignore D3DX10GetImageInfoFromResourceA/W() test failures on Vista.
d3dcompiler/tests: Ignore z, w components in test_struct_semantics().
Nikolay Sivov (23):
mfplat: Add some more attributes for tracing.
evr: Added MFIsFormatYUV().
include: Add IMFVideoProcessorControl3 definition.
mf/tests: Add some tests for EVR stream services.
gdi32: Update font realization structure definition.
wininet: Adjust IsHostInProxyBypassList() prototype.
d3d11/tests: Test 2D texture creation with mutually exclusive sharing modes.
d3d10core/tests: Test 2D texture creation with mutually exclusive sharing modes.
gdi32: Use documented structure layout for EMF-to-WMF embedding records.
include: Add d3dx10 vector and matrix types.
include: Use regular header for d3dx10core.idl.
include: Add ID3DX10Font/ID3DX10Sprite definitions.
d3dx10: Partially implement D3DX10CreateEffectFromMemory().
d3dx10: Partially implement D3DX10CreateEffectFromFileW().
d3d10/effect: Store string annotation values.
d3d10/effect: Implement GetString().
d3d10/effect: Partially implement ID3D10Effect::GetDesc().
d3dx9: Implement getting/setting line width.
d3dx11/tests: Add some tests for D3DX11GetImageInfoFromMemory().
include: Fix copy-paste issue in d3dx10core.h.
d3dcompiler: Improve d3d10_shader_reflection_GetDesc() to return missing stats.
d3dcompiler: Improve D3D11_SHADER_DESC returned by reflection interface.
d3dx10: Forward D3DX10CreateEffectFromFileA() to D3DX10CreateEffectFromFileW().
Oleg Dubinskiy (1):
include: Add RASCREDENTIALSA/W structures.
Paul Gofman (4):
kernelbase: Fix copy size for delete_privs in CreateRestrictedToken().
jscript: Fix use after free in Object_defineProperty().
jscript: Avoid use after free in JSON_parse().
jscript: Also add function name to its detached scope in ES5 mode.
Piotr Caban (10):
msvcrt: Introduce _setfp_sse helper to access mxcsr register.
msvcrt: Don't check x87 status word in x86_64 _statusfp.
msvcrt: Don't clear x87 status word x86_64 _clearfp.
msvcrt: Don't reset x87 in x86_64 fpreset.
msvcrt: Introduce _setfp helper to access floating point status and control words.
msvcrt: Introduce _setfp helper on aarch64.
msvcrt: Introduce _setfp helper on arm.
msvcrt: Use _setfp helper on all architectures.
msvcrt: Implement _fpreset on arm and aarch64.
msvcrt: Fix x87 FPU status register assignment detection.
Rémi Bernon (71):
ntoskrnl.exe/tests: Reduce todo_wine test verbosity.
ntoskrnl.exe/tests: Return success from IOCTL_HID_GET_STRING.
ntoskrnl.exe/tests: Don't close HID device file twice.
ntoskrnl.exe/tests: Add some HidD_(Get|Set)NumInputBuffers tests.
hidclass.sys: Set IoStatus.Information in IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS.
ntoskrnl.exe/tests: Add some IOCTL_HID_(GET|SET)_POLL_FREQUENCY_MSEC tests.
ntoskrnl.exe/tests: Add some tests with concurrent reads in polled mode.
maintainers: Add a WIDL section.
maintainers: Add myself to some sections.
hidclass.sys: Implement button array value caps.
hidclass.sys: Return irp->IoStatus.Status consistently.
hidclass.sys: Return STATUS_INVALID_USER_BUFFER when appropriate.
hidclass.sys: Return STATUS_INVALID_PARAMETER when appropriate.
hidclass.sys: Pass IO_STATUS_BLOCK parameter to call_minidriver.
hidclass.sys: Return irp->IoStatus.Information from minidriver.
hidclass.sys: Use call_minidriver for IOCTL_HID_GET_INPUT_REPORT.
hidclass.sys: Use call_minidriver for IOCTL_HID_READ_REPORT.
hidclass.sys: Rename IO_STATUS_BLOCK irp_status to io.
hidclass.sys: Always copy InputReportByteLength bytes into read buffer.
hidclass.sys: Adjust buffer length according to report IDs usage.
hidclass.sys: Introduce new hid_device_xfer_report helper.
xinput1_3: Introduce new find_opened_device helper.
xinput1_3: Statically allocate SP_DEVICE_INTERFACE_DETAIL_DATA_W.
xinput1_3: Continue enumeration until there's no more slot.
xinput1_3: Access controller list in HID code directly.
ntoskrnl.exe/tests: Wait for second report first.
hidclass.sys: Use hid_device_xfer_report for IOCTL_HID_SET_OUTPUT_REPORT.
hidclass.sys: Pass sizeof(packet) as input for IOCTL_HID_SET_OUTPUT_REPORT.
hidclass.sys: Return STATUS_INVALID_USER_BUFFER if buffer_len is 0.
hidclass.sys: Use hid_device_xfer_report for IOCTL_HID_SET_FEATURE.
xinput1_3: Merge hid.c and xinput_main.c into main.c.
xinput1_3: Rename xinput_controller to struct xinput_controller.
xinput1_3: Use a fixed size array for HID device_path.
xinput1_3: Enable controller on init, disable on remove.
xinput1_3: Move enabled flag to struct xinput_controller.
xinput1_3: Consistently name struct xinput_controller variable.
xinput1_3: Move device(_path) members to struct xinput_controller.
xinput1_3: Scale axis values only once.
xinput1_3: Move HID data into struct xinput_controller.
xinput1_3: Rename controller helper functions.
hidclass.sys: Validate report IDs in hid_device_xfer_report.
hidclass.sys: Rewrite IOCTL_HID_WRITE_REPORT using hid_device_xfer_report.
hidclass.sys: Remove old reports from WINE_HIDP_PREPARSED_DATA.
hidclass.sys: Move build_preparsed_data before parse_descriptor.
hidclass.sys: Merge parse_descriptor and ParseDescriptor.
hidclass.sys: Rename WINE_HIDP_PREPARSED_DATA to struct hid_preparsed_data.
hidclass.sys: Create separate report queue for each opened handle.
hidclass.sys: Process pending IRP queue using last read packet.
hidclass.sys: Use a simpler ring buffer with ref-counted reports.
ntoskrnl.exe/tests: Restore default mute threshold.
xinput1_3/tests: Add some HID report tests.
xinput1_3: Create a new background update thread.
xinput1_3: Update the controller list in the update thread.
xinput1_3: Read the controller state in the update thread.
winebus.sys: Return STATUS_SUCCESS from IRP_MN_SURPRISE_REMOVAL.
winebus.sys: Remove duplicate LeaveCriticalSection call.
winebus.sys: Use a local variable to store buffer len.
winebus.sys: Use nameless unions.
winebus.sys: Use irp IoStatus.Status consistently.
hid: Return HIDP_STATUS_SUCCESS even if no usages are found.
winebus.sys: Fix lnxev button start byte vs bit index.
winebus.sys: Introduce new HID report descriptor helpers.
winebus.sys: Use HID descriptor helpers in bus_udev.c.
winebus.sys: Use HID descriptor helpers in bus_sdl.c.
winebus.sys: Read irp->IoStatus.Status before leaving the CS.
winebus.sys: Only keep lnxev absolute axis info locally.
winebus.sys: Report lnxev axes individually in the descriptor.
winebus.sys: Make hidraw report callbacks consistent.
winebus.sys: Fix duplicate lnxev / hidraw device lookup.
winebus.sys: Move SDL function loading to a separate helper.
winebus.sys: Move SDL mapping loading to a separate helper.
Stefan Dösinger (1):
d3d11/tests: Fix a gcc -Wmisleading-indentation warning.
Zebediah Figura (36):
ws2_32: Move the getsockopt(IPX_PTYPE) implementation to ntdll.
ws2_32: Move the setsockopt(IPX_PTYPE) implementation to ntdll.
ws2_32: Move the getsockopt(IRLMP_ENUMDEVICES) implementation to ntdll.
ws2_32: Move the getsockopt(TCP_NODELAY) implementation to ntdll.
ws2_32: Move the setsockopt(TCP_NODELAY) implementation to ntdll.
krnl386: Remove the unused relay stub which enables interrupts.
ws2_32: Check for presence in the socket list in closesocket().
ws2_32/tests: Expand tests for WSAStringToAddress().
ws2_32/tests: Expand tests for inet_pton().
ws2_32/tests: Add tests for inet_addr().
ws2_32: Reimplement inet_addr() on top of inet_pton().
ieframe: Remove manual IInternetExplorerManager proxy registration.
ieproxy: Remove incorrect comments.
ws2_32: Get rid of supported_pf().
ws2_32: Move getaddrinfo() support to a new Unix library.
ws2_32: Allocate the addrinfo buffer on the PE side.
ws2_32: Move gethostbyaddr() to the Unix library.
ws2_32: Move gethostbyname() to the Unix library.
krnl386: Remove unused support for WCB16_REGS_LONG.
ws2_32: Move gethostname() to the Unix library.
ws2_32: Move getnameinfo() to the Unix library.
ws2_32: Read protocols from the etc/protocol file.
ws2_32: Read services from the etc/services file.
ws2_32: Build with msvcrt.
ws2_32: Do not use the WS_ prefix in PE code.
server: Fix the parameter size check for IOCTL_AFD_EVENT_SELECT.
advapi32/tests: Add some test for perflib keys.
server: Create the special Perflib\009 key.
kernelbase: Return HKEY_PERFORMANCE_TEXT when trying to open the Perflib\009 key.
advapi32/tests: Expand tests for performance keys.
kernelbase: Do not map HKEY_PERFORMANCE_DATA to \Registry\PerfData.
kernelbase: Implement reading performance counter name strings.
kernelbase: Implement reading performance counter help strings.
kernelbase: Return performance data when querying HKEY_PERFORMANCE_(NLS)TEXT as well.
ntdll: Make alloc_fs_sel() a hidden symbol.
ntdll: Make wine_build a hidden symbol.
Zhiyi Zhang (3):
user32/tests: Test that user32 loads uxtheme.
user32: Load uxtheme when theming is active.
uxtheme: Fix a typo in comment.
Ziqing Hui (9):
d2d1/tests: Add failure tests for ID2D1Effect_GetValue().
d2d1/tests: Add tests for effect inputs.
d2d1: Implement d2d_effect_GetInputCount().
d2d1: Add a properties list for builtin effects.
d2d1: Implement d2d_effect_SetInput().
d2d1: Implement d2d_effect_GetInput().
d2d1: Implement d2d_effect_SetInputCount().
d2d1: Implement d2d_effect_GetValue().
d2d1: Add D2D1Crop.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.14 is now available.
What's new in this release (see below for details):
- Mono engine updated to version 6.3.0, with upstream updates.
- 32->64-bit thunks implemented in WOW64 dll.
- More preparation work for the GDI syscall interface.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.14.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.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 6.14 (total 30):
22120 CTL3D help file is mostly scrunched to the left
22572 Managed C++ assemblies don't work in Wine + Mono
25167 Multiple .NET applications crash with unimplemented System.Security.Principal.WindowsIdentity.get_User (Eraser 6.0, Chocolatey package manager, WinAuth 3.6.x) when using Wine-Mono
28605 BurnPlot (VB6 app) fails to start
32316 Autodesk 3ds Max 9 32-bit exits silently or crashes on startup with Wine-Mono
41636 Multiple DirectX 11 games need ID3D11Device1::CreateDeferredContext1 implementation (WWE 2K15, Dishonored: Death of the Outsider, Pro Evolution Soccer 2019, Shantae and the Pirate's Curse, Space Engineers)
46014 Estlcam 11.x (.NET 4.x app) crashes on startup with Wine-Mono
48996 GRID Autosport hangs while loading
50962 reg.exe does not implement '/reg:32' and '/reg:64' command line switches
51126 Multiple games play truncated audio (Evil Twin in-game dialog, Fallout: New Vegas radio tracks)
51137 Construction Set for TES4 Oblivion missing or broken text in some places
51185 Windows fails to load the minimal PE image in kernel32:loader
51196 ntdll:om has a timing-related failure in Wine
51213 GZDoom Builder 2.3 r2787 fails with IdentityNotMappedException
51284 shell32:shellpath fails on Windows when there is more than one CD drive
51306 Wine-Mono doesn't show Japanese text (DllImport issue?).
51319 Star Citizen, WoW causes 100% CPU usage in wineserver
51334 Microsoft Xbox Live Developer Tool XblTestAccountGui crashes
51346 x264guiEx partly shows square characters when using Wine-Mono (default encoding issue with C++/CLI).
51410 mlang:mlang fails on the Hindi test configuration
51435 iostream float formatting broken since Wine 5.12-170-g1bc6f0c8617
51439 Grand Theft Auto V fails to save progress on game exit: "Save failed. Are you sure you want to quit now?"
51440 Sea of Thieves hangs on loading into the game
51450 oleaut32:varformat fails in Wine when the currency sign follows the amount
51453 oleaut32:vartype and oleaut32:vartest fail on Windows 10 1909+
51465 EVE Online launcher crashes
51485 Dead Rising crashes on launch
51493 WXDrive.exe from WeCom failed to startup.
51505 MIDISelector's MIDI mapper configuration doesn't take effect
51506 Disabled controls are not greyed out when theming is active
----------------------------------------------------------------
Changes since 6.13:
Aaron Hill (1):
crypt32: Add missing 'break' to X509_ECC_SIGNATURE case.
Akihiro Sagawa (3):
include: Fix a typo in _tcsxfrm_l.
midimap: Switch to the midi debug channel.
midimap: Introduce XP form and prefer it.
Alexandre Julliard (53):
ntdll/tests: Add tests for Wow64SystemServiceEx().
ntdll: Load wow64.dll in 64-bit Wow64 processes.
wow64: Add stubs for Wow64LdrpInitialize() and Wow64SystemServiceEx().
wow64: Load the backend cpu dll at process init.
wow64: Add support for setting up the syscall table.
wow64: Add thunks for a few simple syscalls.
wow64: Add thunks for the atom syscalls.
ntdll: Always clear the returned handle in Nt object functions.
wow64: Add thunks for the event syscalls.
wow64: Add thunks for the mutant syscalls.
wow64: Add thunks for the semaphore syscalls.
wow64: Add a stub for Wow64ApcRoutine().
wow64: Add thunks for the timer syscalls.
wow64: Add thunks for the keyed event syscalls.
wow64: Add thunks for the directory object syscalls.
wow64: Add thunks for the debug object syscalls.
wow64: Add thunks for the I/O completion syscalls.
wow64: Add thunks for the job object syscalls.
wow64: Add thunks for the symbolic link object syscalls.
wow64: Add thunks for some general synchronization syscalls.
Revert "winegcc: Support -Wl,foo=... style linker options."
wow64: Add thunks for the section object syscalls.
wow64: Add thunks for the generic object syscalls.
wow64: Add thunks for the local port syscalls.
wow64: Add thunks for the power request syscalls.
wow64: Add thunks for the registry key syscalls.
wow64: Add thunks for the registry value syscalls.
wow64: Add thunks for the registry I/O syscalls.
wow64: Add thunks for the virtual memory syscalls.
wow64: Add thunks for the memory mapping syscalls.
wow64: Add thunks for the write watch syscalls.
wow64: Add a thunk for the NtQueryVirtualMemory syscall.
wow64: Add thunks for the Wow64-specific virtual memory syscalls.
ntdll/tests: Add a test for a Wow64-only syscall.
ntdll: Rename the SYSTEM_MODULE and SYSTEM_MODULE_INFORMATION structures.
wow64: Implement Wow64AllocateTemp().
wow64: Add thunks for the file creation syscalls.
wow64: Add thunks for the file I/O syscalls.
wow64: Add thunks for the file query information syscalls.
wow64: Add thunks for the file set information syscalls.
wow64: Add thunks for the file async I/O syscalls.
wow64: Add thunks for some misc file creation syscalls.
wow64: Add support for file system redirection.
wow64: Add thunks for the process/thread creation syscalls.
wow64: Add thunks for the process/thread control syscalls.
wow64: Add thunks for the process/thread query information syscalls.
wow64: Add thunks for the process/thread set information syscalls.
wow64: Add thunks for the registry notification syscalls.
wow64: Add thunks for a number of security syscalls.
server: Store the entry point as image-relative in pe_image_info_t.
wow64: Add thunks for the token query/set information syscalls.
wow64: Add thunks for the job object query/set information syscalls.
wow64: Add thunks for a number of system syscalls.
André Zwing (1):
maintainers: Change my name.
Anton Baskanov (4):
winedbg: Report library load/unload events to GDB.
winegstreamer: Inline query_duration() into wg_parser_connect().
winegstreamer: Always wait for duration-changed when querying for duration.
winegstreamer: Continue polling if duration is unavailable after duration-changed.
Biswapriyo Nath (1):
include: Add structure padding for aarch64 in dbghelp.h.
Daniel Lehman (2):
gdi32/tests: Add a test for double-free on repeated calls to Delete[Enh]MetaFile.
include: Add _tcsxfrm_l declaration.
Derek Lesho (2):
winevulkan: Support use of extensions which mustn't be exposed.
vulkan-1/tests: Add tests for VK_KHR_external_memory_win32.
Dmitry Timoshkov (1):
shell32: Implement SHBindToObject.
Esme Povirk (1):
mscoree: Update Wine Mono to 6.3.0.
François Gouget (11):
oleaut32/tests: Remove unneeded casts in vartest.
oleaut32/tests: Fix the Swiss franc and Moroccan dirham tests.
oleaut32: Setting sThousand to a non-breaking space also matches regular spaces.
oleaut32: VarParseNumFromStr() does not allow leading thousands separators.
oleaut32: Fix VarParseNumFromStr()'s support for trailing thousands separator spaces.
oleaut32/tests: Show the input string when VarFormatCurrency() fails.
riched20: Tweak the wording of a comment.
winetest: Fix handling of relative -d directories.
oleaut32/tests: Use NUMPRS_HEX_OCT instead of hardcoding its value.
oleaut32/tests: Test VarParseNumFromStr()'s handling of LOCALE_SMON*.
oleaut32/tests: Add more VarParseNumFromStr() hexadecimal/octal tests.
Gerald Pfeifer (1):
nsiproxy: Include sys/socket.h.
Haoyang Chen (1):
winhttp: Handle headers with '\r' line breaks.
Hugh McMaster (6):
kernel32/tests: Test whether console color attributes are copied to the new screen buffer.
kernel32/tests: Test whether font information and window size are copied to the new screen buffer.
conhost: Copy Character Attributes (colors) to the new screen buffer.
reg/tests: Test use of registry views when copying registry data.
conhost: Popup Attributes should match Character Attributes when creating a new screen buffer.
reg: Support use of registry views in the 'copy' operation.
Huw D. M. Davies (4):
iphlpapi: Implement GetIpAddrTable() on top of nsi.
iphlpapi: Implement AllocateAndGetIpAddrTableFromStack() on top of GetIpAddrTable().
iphlpapi: Retrieve the IPv4 addresses using an export rather than a helper.
include: Add IN6_IS_ADDR_LINKLOCAL() and IN6_IS_ADDR_SITELOCAL().
Jacek Caban (73):
gdi32/tests: Silence noisy traces.
gdi32: Handle EMFs recording directly in LineTo implementation.
gdi32: Use DC_ATTR for GetCurrentPositionEx implementation.
gdi32: Handle EMFs directly in MoveToEx.
gdi32: Store graphics mode in DC_ATTR.
gdi32: Handle EMFs directly in arc functions.
gdi32: Use NtGdiEllipse for Ellipse implementation.
gdi32: Use NtGdiRoundRect for RoundRect implementation.
gdi32: Use NtGdiRectangle for Rectangle implementation.
gdi32: Use NtGdiAngleArc for AngleArc implementation.
advapi32: Link to msvcrt.dll.
gdi32: Use free_gdi_handle directly for NtGdiDeleteClientObj.
gdi32: Use NtGdiPolyPolyDraw for PolyPolygon implementation.
winex11: Don't use pPolygon graphics driver entry point.
gdi32: Use NtGdiPolyPolyDraw for Polygon implementation.
gdi32: Use NtGdiPolyPolyDraw for PolyPolyline implementation.
gdi32: Use NtGdiPolyPolyDraw for Polyline implementation.
gdi32: Remove no longer used Polygon and Polyline driver entry points.
gdi32: Use NtGdiPolyPolyDraw for PolyBezier implementation.
gdi32: Use NtGdiPolyPolyDraw for PolylineTo implementation.
gdi32: Use NtGdiPolyPolyDraw for PolyBezierTo implementation.
gdi32: Use NtGdiPolyDraw for PolyDraw implementation.
gdi32: Use NtGdiPolyPolyDraw for CreatePolyPolygonRgn implementation.
gdi32: Store text alignment in DC_ATTR.
gdi32: Use NtGdiExtTextOutW for ExtTextOutW implementation.
gdi32: Use NtGdiCloseFigure for CloseFigure implementation.
gdi32: Use ntgdi interface for path functions.
gdi32: Remove no longer used EMF path driver.
gdi32: Use NtGdiSetPixel for SetPixel implementation.
gdi32: Use SetPixel for SetPixelV implementation.
gdi32: Use ntgdi name for GetPixel.
gdi32: Use NtGdiSetPixelFormat for GdiSetPixelFormat implementation.
gdi32: Use ntgdi names for stubs in painting.c.
gdi32: Use NtGdiFillRgn for FillRgn implementation.
gdi32: Use NtGdiFillRgn for PaintRgn implementation.
gdi32: Use NtGdiFrameRgn for FrameRgn implementation.
gdi32: Use NtGdiInvertRgn for InvertRgn implementation.
gdi32: Use NtGdiExtFloodFill for ExtFloodFill implementation.
gdi32: Use META_EXTFLOODFILL records for ExtFloodFill.
gdi32: Use NtGdiGradientFill for GdiGradientFill implementation.
gdi32: Use get_dc_attr in SetTextAlign.
gdi32: Move background mode to DC_ATTR.
gdi32: Use get_dc_attr in SetBkMode.
gdi32: Move disabled flag to DC_ATTR.
gdi32: Move ROP mode to DC_ATTR.
gdi32: Use get_dc_attr in SetROP2.
gdi32: Move layout to DC_ATTR.
gdi32: Move background color to DC_ATTR.
gdi32: Use get_dc_attr in GetGraphicsMode.
gdi32: Remove no longer used driver entry points.
gdi32: Store text color in DC_ATTR.
gdi32: Store arc direction in DC_ATTR.
include: Introduce combaseapi.h.
combase: Add CoDecodeProxy stub.
gdi32: Use get_dc_attr in SetArcDirection.
gdi32: Move color space stubs to objects.c.
gdi32: Store rel abs mode in DC_ATTR.
gdi32: Use get_dc_attr in SetRelAbs.
gdi32: Store poly fill mode in DC_ATTR.
gdi32: Use get_dc_attr in SetPolyFillMode.
gdi32: Store stretch_blt_mode in DC_ATTR.
gdi32: Use get_dc_attr in SetStretchBltMode.
gdi32: Store map mode in DC_ATTR.
gdi32: Remove no longer used driver entry points.
gdi32: Store DC brush color in DC_ATTR.
gdi32: Store DC pen color in DC_ATTR.
gdi32: Store miter limit in DC_ATTR.
gdi32: Use get_dc_attr in SetMiterLimit.
gdi32: Move more functions from dc.c.
gdi32: Use NtGdiSaveDC for SaveDC implementation.
gdi32: Don't use driver entry point for NtGdiSaveDC implementation.
gdi32: Use ntgdi name for CreateCompatibleDC.
gdi32: Use NtGdiGetDeviceCaps for GetDeviceCaps implementation.
Jan Sikorski (2):
wined3d: Track queries started inside/outside of a render pass separately.
wined3d: Do not request device local memory if we also want it to be host visible.
Julien Loir (1):
secur32: Ignore attribute when searching for buffer type.
Lauri Kenttä (1):
po: Update Finnish translation.
Martin Storsjo (10):
ntdll: Fix arm64 call_user_exception_dispatcher with kernel stack for syscalls.
msvcrt: Make the coshf function NAN preserving.
msvcrt: Make the sinhf function NAN preserving.
msvcrt: Make the tanhf function NAN preserving.
msvcrt: Make the cosh function NAN preserving.
msvcrt: Make the sinh function NAN preserving.
msvcrt: Make the tanh function NAN preserving.
msvcrt: Add hyperbolic functions NAN tests.
msvcrt: Fix strtof() error reporting for values out of float range.
msvcrt: Convert double (numerically) to UINT64 via INT64, fixing pow() on arm.
Michael Stefaniuc (1):
dinput: Use SUCCEEDED instead of !FAILED.
Nikolay Sivov (6):
mf/session: Add a helper to send events while completing commands.
mf/session: Fail start requests when no topology was set.
mfmediaengine: Handle Play() when called before topology is set.
mfmediaengine: Handle B8G8R8X8 format for d3d11 texture output.
dpnhupnp: Build with msvcrt.
mfplat/allocator: Handle D3D11 resource sharing mode configuration attributes.
Paul Gofman (10):
mshtml: Do not lock document mode in create_document_event().
mshtml: Default to IE11 for Internet URL zone.
ole32: Move OLEClipbrd_Initialize() before get_ole_clipbrd().
ole32: Do not link OLE clipboard object lifecycle to OLE initialization state.
ntdll: Decrement IO pending count in ioqueue_thread_proc().
ntdll: Only queue IO callback if IO is pending in ioqueue_thread_proc().
ntdll: Clear thread_running flag on exiting ioqueue_thread_proc().
ntdll: Manage TPIO object destruction based on the expected completions.
kernelbase: Don't allow converting thread to fiber more than once.
jscript: Store the head of statement list instead of the list structure.
Piotr Caban (4):
msvcrt: Use _MCW_RC rounding mask in fesetround and fegetround.
msvcrt: Introduce fenv_decode helper in all runtime versions.
msvcrt: Don't set x87 control word in x86_64 fesetenv.
msvcrt: Introduce fenv_encode helper in all runtime versions.
Zebediah Figura (56):
crypt32: Rename "crl" and "cloned" to "dst" and "src" in CRL_clone().
crypt32: Copy the CRL_INFO structure instead of recalculating it.
cryptnet: Use RTL_SIZEOF_THROUGH_FIELD.
cryptnet/tests: Clean up and expand tests for CertDllVerifyRevocation.
cryptnet: Set dwIndex in CertDllVerifyRevocation().
ws2_32/tests: Add more tests for bind() and getsockname().
ws2_32: Validate address length in bind().
ws2_32: Do not translate STATUS_INVALID_PARAMETER to WSAEFAULT.
server: Avoid leaking the ifaddrs structure in bind_to_interface().
server: Support passing to bind a zero sin6_scope_id.
server: Map ENODEV to STATUS_INVALID_ADDRESS_COMPONENT.
winegstreamer: Don't try to convert duration from byte length.
quartz/tests: Add more strict tests for accurate duration retrieval.
cryptnet: Specify half of the remaining timeout for each CRL if CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG was specified.
cryptnet: Respect the timeout also if CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG is not set.
cryptnet: Check only the first successfully retrieved CRL in verify_cert_revocation_from_dist_points_ext().
cryptnet: Cache the result of revocation checks on disk.
wined3d: Separate a helper to update Vulkan CBV bindings.
wined3d: Separate a helper to update Vulkan SRV bindings.
wined3d: Separate a helper to update Vulkan UAV bindings.
wined3d: Separate a helper to update Vulkan UAV counter bindings.
wined3d: Separate a helper to update Vulkan sampler bindings.
wined3d: Implement constant buffer offsetting for Vulkan.
server: Validate the output size of IOCTL_AFD_BIND against the input address size rather than sizeof(struct sockaddr).
server: Do not accept sizeof(struct WS_sockaddr_in6_old).
ntdll: Do not accept sizeof(struct WS_sockaddr_in6_old).
ws2_32: Do not accept sizeof(struct WS_sockaddr_in6_old).
ws2_32: Dump the flow label and scope ID in debugstr_sockaddr().
server: Also return STATUS_PIPE_DISCONNECTED for shutdown nonblocking sockets.
server: Separate SD_RECEIVE and hangup conditions.
server: Remove the socket from the polling loop if both it and the peer have SHUT_WR.
server: Remove the socket from the polling loop if it was aborted.
ntdll: Fill the I/O status block with the results of the send_socket call in sock_send().
ntdll: Fill the I/O status block with the results of the recv_socket call in sock_recv().
ws2_32: Move the setsockopt(IP_TTL) implementation to ntdll.
ws2_32: Move the setsockopt(IP_UNBLOCK_SOURCE) implementation to ntdll.
ws2_32: Move the getsockopt(IP_UNICAST_IF) implementation to ntdll.
ws2_32: Move the setsockopt(IP_UNICAST_IF) implementation to ntdll.
wined3d: Check for failure from wined3d_device_context_require_space() in wined3d_device_context_emit_unmap().
ws2_32: Move the setsockopt(IPV6_ADD_MEMBERSHIP) implementation to ntdll.
ws2_32: Move the getsockopt(IPV6_DONTFRAG) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_DONTFRAG) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_DROP_MEMBERSHIP) implementation to ntdll.
ws2_32: Move the getsockopt(IPV6_MULTICAST_HOPS) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_MULTICAST_HOPS) implementation to ntdll.
ws2_32: Move the getsockopt(IPV6_MULTICAST_IF) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_MULTICAST_IF) implementation to ntdll.
ws2_32: Move the getsockopt(IPV6_MULTICAST_LOOP) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_MULTICAST_LOOP) implementation to ntdll.
wined3d: Use a designated initializer to initialize wined3d_settings.
ws2_32: Move the getsockopt(IPV6_UNICAST_HOPS) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_UNICAST_HOPS) implementation to ntdll.
ws2_32: Move the getsockopt(IPV6_UNICAST_IF) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_UNICAST_IF) implementation to ntdll.
ws2_32: Move the getsockopt(IPV6_V6ONLY) implementation to ntdll.
ws2_32: Move the setsockopt(IPV6_V6ONLY) implementation to ntdll.
Zhiyi Zhang (1):
uxtheme: Fix incorrect part IDs in button class map.
Ziqing Hui (3):
include: Add D2D13DPerspectiveTransform definitions.
include: Add D2D1Composite definitions.
d2d1/tests: Add tests for standard effect properties.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.13 is now available.
What's new in this release (see below for details):
- Proper scrollbar theming.
- More work towards WinSock PE conversion.
- Preparation work for the GDI syscall interface.
- Some progress on the IPHLPAPI PE conversion.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.13.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.13.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.13 (total 31):
15381 CoFreeUnusedLibraries will crash COM server or cause 0x800703E6/I_RpcReceive error 0x3e6
28326 CDBurnerXP's audio player is missing some visual elements
28795 ExeInfoPE v0.0.3.0: PE protection schemes that abuse %gs won't run (breaks glibc TLS selector)
32517 installer of QQMusic 8.6 hangs
34966 Academagia (WPF game) dialog windows are invisible until alt-tabed out
35611 A lot of user32:msg tests fail in the Japanese locale
35921 Multiple games and applications need IDirectXVideoProcessorService via DXVA2CreateVideoService (DXVA Checker 3.x/4.x, Perfect World, Kodi)
37370 Doom 3 (CD version) installer: 'cancel' button does nothing in 'Please insert: DOOM 3 Disk x' dialog
39377 Add support for 'msidbControlAttributesFormatSize' in static text controls to format and label properties such as 'PrimaryVolumeSpaceRequired' (SkySaga installer)
41703 Workaround LdrUnloadDll() for C libraries that do not support the dlclose() function
43173 Far Cry 4 sound stops
45198 Project CARS 2 shows only a black screen (requires constant buffer offsetting)
45620 Dishonored 2 Demo crashes at launch
45807 Incorrect toolbar background in MFC apps, when visual theming enabled
50374 pCon.planner doesn't finish installation and doesn't open
50404 Sims 4 crashes on startup with builtin msvcrt
51152 The 64-bit ntdll:exception test fails in Wine
51262 Since 308a5e7 no 32bit program starts
51277 Multiple games become unresponsive with plugged in controller (INSIDE, The Hong Kong Massacre, Sniper Elite 3)
51281 C:\users\<user>\appdata\local not created on prefix update
51295 ntoskrnl.exe:ntoskrnl occasionally hangs in test_overlapped()
51329 Windows PC Health Check requires api-ms-win-core-featurestaging-l1-1-0.dll
51331 Battle.net client unusable, reports "The Battle.net Update Agent went to sleep. Attempting to wake it up..."
51340 d3d10core:d3d10core, d3d11:d3d11 test_texture_compressed_3d() fails on Nvidia (cw-gtx560)
51348 uxtheme.SetWindowTheme should use SendMessage to send WM_THEMECHANGED
51366 several wine-mono network tests fail with timeout
51368 World of Warcraft : undefined d3d state
51381 Battlefield 4 cannot find online matches
51382 NetEase Cloud Music crashes on zh_CN.UTF-8 locale.
51416 deferred context memory leak
51425 Mathearbeit G 5.6 installer reports null pointer exception in module 'shell32.dll' starting with Wine 6.9-142-g98d43c5dcfb
----------------------------------------------------------------
Changes since 6.12:
Aaron Hill (1):
crypt32: Implement CNG_RSA_PUBLIC_KEY_BLOB encoding/decoding.
Adrian Thiele (1):
mfplat: Use D3DFORMAT for dxgi buffer copy function.
Alex Henrie (1):
api-ms-win-core-featurestaging-l1-1-0: Add DLL.
Alexandre Julliard (26):
ntdll: Implement SystemEmulation* information classes.
ntdll: Implement NtWow64GetNativeSystemInformation().
ntdll: Forward RtlGetNativeSystemInformation() to NtWow64GetNativeSystemInformation() on 32-bit.
ntdll: Get rid of the almost empty nt.c.
ntdll: Get rid of the almost empty directory.c.
ntdll: Get rid of the almost empty virtual.c.
wow64: Add stub dll.
wow64win: Add stub dll.
ntdll: Store the pthread TEB value on thread init.
ntdll: Allocate a 32-bit %fs selector on Linux in Wow64 mode.
ntdll: Switch back to the pthread %fs register in signal handlers.
winebuild: Add a specific platform id for Linux.
winebuild: Save/restore the %fs register in the syscall dispatcher on Linux.
ntdll: Make the ntdll exports and relocations processing more generic.
ntdll: Also load the Wow64 ntdll for the main exe target machine.
ntdll: Add support for LdrSystemDllInitBlock.
ntdll: Fix iosb handling in NtCancelIoFile().
ntdll: Pass a length pointer instead of an IO_STATUS_BLOCK to the async callbacks.
ntdll: Add a helper function to open a file object.
ntdll: Avoid calling NtOpenFile() from the Unix side.
ntdll: Avoid calling NtCreateFile() from the Unix side.
ntdll: Avoid calling NtReadFile() from the Unix side.
ntdll/tests: Add tests for IO_STATUS_BLOCKs in Wow64 mode.
ntdll: Don't restore %fs selector on nested signals.
ntdll: Use the 32-bit RtlUserThreadStart as initial Eip in the 32-bit context.
server: Don't generate dll load event for native binaries on Wow64.
Alistair Leslie-Hughes (3):
secur32: Set error flag on pull callback.
include: Update _IMAGEHLP_MODULEW64 stucture.
dbghelp: Initialize new structure members.
Andrew Eikum (1):
shell32: Fix unused knownfolder definition.
Arkadiusz Hiler (1):
dinput: Don't add 'default value 0' entries to the data transform.
Bernhard Übelacker (1):
hhctrl.ocx: Handle only the number of bytes given in html_fragment_len.
Biswapriyo Nath (2):
include: Add some function declarations in propvarutil.h.
winecrt0: Add missing members in _JUMP_BUFFER for SJLJ.
Brendan Shanks (1):
ntdll: Fix locale detection on Mac.
Damjan Jovanovic (3):
wininet: InternetGetLastResponseInfoW() returns wide chars, not ASCII.
wininet: Return the required buffer size from InternetGetLastResponseInfo() when it's too small.
wininet: The buffer is returned from InternetGetLastResponseInfo() even when the error is 0.
Dmitry Timoshkov (1):
winex11.drv: Don't free cached DnD data after informing an application about the drop event.
Eric Pouech (2):
dbghelp: Correctly initialize the module_pair structure in SymGetTypeFromName.
dbghelp/tests: Try to fix failure in current dbghelp tests.
Esdras Tarsis (3):
bthprops.cpl: Add BluetoothFindNextRadio stub.
api-ms-win-core-console-l3-2-0: Add stub dll.
api-ms-win-core-kernel32-legacy-l1-1-5: Add stub dll.
Esme Povirk (1):
rundll32: Only call LoadLibrary16 on x86.
François Gouget (24):
user32/tests: Use WineTest contexts to simplify test_mdi().
user32/tests: Fix the wording of an ok() message.
shell32/test: Fix an ok() message.
shell32/tests: Use WineTest contexts to simplify shellpath.
shell32/tests: Fix the PathResolve() tests on Windows 8.1, early 10.
winetest: Report GetLastError() when CreateProcess() fails.
ntdll/tests: TZinfo sometimes does not get a MUI string.
ntdll/tests: Improve the RtlWaitOnAddress() timeout checks.
kernel32: Fix the formatting of an NLS_IsUnicodeOnlyLcid() trace.
mlang/tests: Fix the check for non-English locales in test_GetCodePageInfo().
oleaut32: Fix a trace containing a null character.
oleaut32/tests: Allow testing VarParseNumFromStr() using Unicode strings.
oleaut32/tests: Add more VarParseNumFromStr() tests.
oleaut32: Fix the Var*FromStr() prototypes.
user32/tests: Fix the keyboard layout id in an ok() message.
kernel32/tests: Use WineTest contexts to simplify test_Loader().
winetest: Create the -d directory if it does not exist already.
oleaut32/tests: Use EQ_DOUBLE() in vartype too.
oleaut32: Update the VarDateFromStr() Y2K cutoff.
oleaut32: Update the SystemTimeToVariantTime() Y2K cutoff.
kernel32/tests: Allow failure when loading the 268 bytes minimal PE image.
oleaut32/tests: Report the error when VarParseNumFromStr() fails.
oleaut32: Fix VarParseNumFromStr()'s support for two-character currencies.
oleaut32: VarParseNumFromStr() accepts trailing currency symbols.
Georg Lehmann (3):
winevulkan: Fix pointer typedef base types.
winevulkan: Update to VK spec version 1.2.185.
winevulkan: Enable VK_HUAWEI_subpass_shading.
Gerald Pfeifer (1):
nsiproxy: Include netinet/in.h before if_ether.h.
Giovanni Mascellani (2):
winegstreamer: Set MF_MT_ALL_SAMPLES_INDEPENDENT for audio types.
mf/sar: Allow requesting more than a sample per period.
Henri Verbeet (10):
d3d11: Only complain once about d3d10 interface emulation in d3d11_device_context_SwapDeviceContextState().
d2d1: Do not clear the device context state in d2d_device_context_draw().
wined3d: Use wined3d_mask_from_size() in state_stencil().
wined3d: Use wined3d_mask_from_size() in wined3d_context_vk_apply_draw_state().
wined3d: Use wined3d_mask_from_size() in wined3d_render_pass_vk_init().
winex11: Request VK_KHR_external_memory_capabilities in get_gpu_properties_from_vulkan().
winex11: Request VK_KHR_display in get_gpu_properties_from_vulkan().
wined3d: Use wined3d_mask_from_size() in shader_glsl_ld_uav().
wined3d: Use wined3d_mask_from_size() in shader_glsl_atomic().
wined3d: Use wined3d_mask_from_size() in shader_glsl_get_sample_function().
Hugh McMaster (8):
reg/tests: Split 'import' syntax tests into a separate function.
reg/tests: Test use of registry views when importing keys and values.
reg: Support use of registry views in the 'import' command.
reg/tests: Add registry view syntax tests for the 'import' operation.
reg/tests: Test use of registry views when exporting registry data.
reg/tests: Split 'export' syntax tests into a separate function.
reg/tests: Use correct file and line arguments with delete_file().
reg: Support use of registry views when exporting registry data.
Huw D. M. Davies (30):
maintainers: Add a Network Store Interface section.
mountmgr.sys: Move dhcp lookup to a worker thread.
iphlpapi: Implement ConvertInterfaceIndexToLuid() on top of nsi.
iphlpapi: Implement ConvertInterfaceLuidToIndex() on top of nsi.
iphlpapi: Implement ConvertInterfaceGuidToLuid() on top of nsi.
iphlpapi: Implement ConvertInterfaceLuidToGuid() on top of nsi.
iphlpapi/tests: Run the interface conversion tests on all interfaces.
dhcpcsvc: Pass a luid instead of the adapter name.
iphlpapi: Implement ConvertInterfaceAliasToLuid().
iphlpapi: Implement ConvertInterfaceLuidToAlias().
mountmgr: Retrieve the unix-name from the alias.
iphlpapi: ConvertInterfaceLuidToNameW/NameToLuidW use names based on the luid's type and index.
iphlpapi: Implement GetIfTable2Ex() on top of nsi.
iphlpapi: Implement IfGetEntry2Ex() on top of nsi.
iphlpapi: Implement GetNumberOfInterfaces() on top of nsi.
iphlpapi: Implement ConvertGuidToString[AW]().
iphlpapi: Implement ConvertStringToGuidW().
iphlpapi: Use ConvertGuidToStringA() where possible.
iphlpapi: Implement GetInterfaceInfo() on top of GetIfTable().
iphlpapi: Implement GetAdapterIndex() on top of GetIfTable().
iphlpapi: Implement GetIfTable() on top of nsi.
iphlpapi: Implement GetIfEntry() on top of nsi.
iphlpapi: Implement AllocateAndGetIfTableFromStack() on top of nsi.
iphlpapi: Return the TCPIP device name in MIB_IFROW.
iphlpapi: Remove unused function getInterfaceStatsByName().
nsiproxy: Implement IP unicast enumerate_all.
nsiproxy: Implement IP unicast get_all_parameters.
iphlpapi: Implement GetUnicastIpAddressTable() on top of nsi.
iphlpapi: Implement GetUnicastIpAddressEntry() on top of nsi.
netapi32: Default to CP_UTF8 when WINEUNIXCP is not set.
Jacek Caban (32):
gdi32: Introduce NtGdiExtGetObjectW.
gdi32: Reimplement GetObjectA on top of GetObjectW.
gdi32: Implement CreatePenIndirect on top of CreatePen.
gdi32: Introduce NtGdiCreatePen.
gdi32: Implement CreateBitmapIndirect on top of CreateBitmap.
gdi32: Introduce NtGdiCreateBitmap.
gdi32: Use ntgdi names for bitmap functions.
gdi32: Move CreateDiscardableBitmap implementation to objects.c.
gdi32: Introduce NtGdiDeleteObjectApp.
gdi32: Introduce NtGdiExtCreateRegion.
gdi32: Use ntgdi names for region constructors.
gdi32: Use ntgdi names for region functions.
gdi32: Move region helper functions to objects.c.
gdi32/tests: Remove workarounds for old Windows versions.
gdi32/test: Add more handle table tests.
gdi32: Store ntgdi object types in handle table.
gdi32: Rename gdi_private.h to ntgdi_private.h.
gdi32: Use NtGdiCreateClientObj for metafile objects.
gdi32: Use NtGdiCreateClientObj for enhmetafile objects.
include: Fix C++ InitPropVariantFromGUIDAsBuffer implementation.
include: Declare NTSTATUS in propvarutils.h.
gdi32: Introduce NtGdiLineTo.
gdi32: Introduce NtGdiMoveTo.
gdi32: Use NtGdiArcInternal for Arc implementation.
gdi32: Use NtGdiArcInternal for ArcTo implementation.
gdi32: Use NtGdiArcInternal for Chord implementation.
gdi32: Use NtGdiArcInternal for Pie implementation.
gdi32: Handle metafiles directly in LineTo implementation.
gdi32: Handle metafiles directly in MoveToEx implementation.
gdi32: Handle metafiles directly in Chord and Pie implementations.
gdi32: Handle metafiles directly in Arc implementation.
gdi32: Introduce DC_ATTR struct and use it to store current position.
Jactry Zeng (1):
gdi32: Fix a typo in unix_face_create().
Julian Rüger (1):
po: Update German translation.
Nikolay Sivov (8):
mf/evr: Query d3d device manager via MR_VIDEO_RENDER_SERVICE service.
evr/mixer: Set MF_MT_INTERLACE_MODE for the mixer output types.
mf/session: Forward MR_POLICY_VOLUME_SERVICE service requests to the SAR node.
mf/session: Use better failure code for rendering node service requests.
winegstreamer: Use consistent trace format for MF objects.
mfplat: Add some Video Processor attributes to tracing.
mfmediaengine: Handle shutdown state in SetSource().
mfmediaengine: Update network state when loading the media source.
Paul Gofman (11):
mshtml: Move assert.h include to mshtml_private.h.
mshtml_private.tlb: Add private typelib.
mshtml: Export requestAnimationFrame() through a private interface.
mshtml: Add console object stub implementation.
ntdll: Add SystemKernelDebuggerInformationEx info class to NtQuerySystemInformation().
ntdll: Add stub for ProcessInstrumentationCallback info class in NtSetInformationProcess().
mshtml: Add stub for HTMLElement classList property.
mshtml: Add stub object for HTMLElement classList.
mshtml: Implement IWineDOMTokenList_add() method.
mshtml: Implement IWineDOMTokenList_remove() method.
ntdll: Comment out stubs for Nt and Zw functions.
Piotr Caban (1):
msvcrt: Update round_limb on first limb length change in printf.
Rémi Bernon (15):
ntoskrnl.exe/tests: Only count test driver load notify.
ntoskrnl.exe/tests: Sync test utils with wine/test.h.
ntoskrnl.exe/tests: Add more tests for button array caps.
ntoskrnl.exe/tests: Add some HidD_GetInputReport tests.
ntoskrnl.exe/tests: Add some HidD_GetFeature tests.
ntoskrnl.exe/tests: Add some HidD_SetFeature tests.
ntoskrnl.exe/tests: Add some HidD_SetOutputReport tests.
ntoskrnl.exe: Send IRP_MN_SURPRISE_REMOVAL to the device stack first.
ntoskrnl.exe/tests: Return STATUS_PENDING from IOCTL_HID_READ_REPORT.
ntoskrnl.exe/tests: Add HID driver test in polled mode.
hidclass.sys: Return error on invalid write buffer size.
ntoskrnl.exe/tests: Add some IOCTL_HID_WRITE_REPORT tests.
hidclass.sys: Return error on invalid read buffer size.
ntoskrnl.exe/tests: Add some IOCTL_HID_READ_REPORT tests.
wine.inf: Consistently quote shell open and print commands.
Steve Lhomme (1):
include: Add AV1 support to dxva.h.
Tim Clem (3):
wininet/tests: Test InternetCrackUrl when given a bogus length.
wininet: Make heap_strndupAtoW stop at the first null.
wininet: Treat dwUrlLength as a maximum in InternetCrackUrlW.
Zebediah Figura (64):
server: Don't check the user data for NULL in async_terminate().
server: Call the close_handle callback and release_object_from_handle() in the same loop.
server: Explicitly return whether a select request was immediately signaled.
server: Remove special handling of STATUS_MORE_PROCESSING_REQUIRED.
ws2_32/tests: Fix some connection timeout tests.
ws2_32/tests: Add more tests for connection failure.
server: Return a Win32 error code from IOCTL_AFD_WINE_GET_SO_ERROR.
server: Separate a poll_single_socket() helper.
server: Report AFD_POLL_CONNECT_ERR if a previous connection attempt failed.
wined3d: Factor out most of the execute_command_list callback to a common function.
wined3d: Pass a wined3d_cs pointer to wined3d_not_from_cs().
wined3d: Set an array of constant buffers as a single CS operation.
wined3d: Set an array of shader resource views as a single CS operation.
wined3d: Set an array of samplers as a single CS operation.
server: Clear the connection error after a successful connection.
ws2_32/tests: Add more tests for invalid calls to connect() and ConnectEx().
server: Explicitly forbid connecting a listening or connected socket.
ws2_32: Move the setsockopt(IP_DROP_MEMBERSHIP) implementation to ntdll.
ws2_32: Move the setsockopt(IP_DROP_SOURCE_MEMBERSHIP) implementation to ntdll.
wined3d: Introduce a wined3d_bound_range() helper.
wined3d: Set an array of UAVs as a single CS operation.
ws2_32: Move the getsockopt(IP_HDRINCL) implementation to ntdll.
ws2_32: Move the setsockopt(IP_HDRINCL) implementation to ntdll.
ws2_32: Move the getsockopt(IP_MULTICAST_IF) implementation to ntdll.
ws2_32: Move the setsockopt(IP_MULTICAST_IF) implementation to ntdll.
ws2_32: Move the getsockopt(IP_MULTICAST_LOOP) implementation to ntdll.
include: Fix a byte offset in a comment.
wined3d: Move the uploads array in wined3d_deferred_context_record_command_list().
wined3d: Fix some memory leaks when destroying command lists.
wined3d: Fix some memory leaks when destroying deferred contexts.
ws2_32: Move the setsockopt(IP_MULTICAST_LOOP) implementation to ntdll.
ws2_32: Move the getsockopt(IP_MULTICAST_TTL) implementation to ntdll.
ws2_32: Move the setsockopt(IP_MULTICAST_TTL) implementation to ntdll.
ws2_32: Move the getsockopt(IP_OPTIONS) implementation to ntdll.
ws2_32: Move the setsockopt(IP_OPTIONS) implementation to ntdll.
ws2_32: Move the getsockopt(IP_PKTINFO) implementation to ntdll.
ws2_32: Move the setsockopt(IP_PKTINFO) implementation to ntdll.
ws2_32: Move the getsockopt(IP_TOS) implementation to ntdll.
ws2_32: Move the setsockopt(IP_TOS) implementation to ntdll.
ws2_32: Move the getsockopt(IP_TTL) implementation to ntdll.
qasf: Switch to the quartz debug channel.
qcap: Switch to the quartz debug channel.
qedit: Switch to the quartz debug channel.
qdvd: Switch to the quartz debug channel.
amstream: Switch to the quartz debug channel.
winegstreamer: Avoid using WARN_ON from a GStreamer callback.
winegstreamer: Factor out create_element().
winegstreamer: Avoid using Wine debugging functions at all in the Unix library.
winegstreamer: Switch to the quartz debug channel.
strmbase: Switch to the quartz debug channel.
wined3d: Recursively acquire queued command lists in wined3d_cs_acquire_command_list().
wined3d: Set the entire stream output state as a single CS operation.
wined3d: Set both the stream source and frequency for a given index as a single CS operation.
d3d11: Fail IASetVertexBuffers() if any of the offsets are unaligned.
wined3d: Set an arary of stream sources as a single CS operation.
d3d11: Fail OMSetRenderTargets() if any of the views have the wrong binding flags.
wined3d: Set an array of rendertarget views as a single CS operation.
d3d11: Implement constant buffer offsetting for OpenGL.
d3d11/tests: Add tests for constant buffer offsetting.
ntdll: Use a separate +unwind debug channel for unwinding on x86-64.
quartz: Factor out more of AdviseTime() and AdvisePeriodic().
quartz: Use a condition variable to wake up the system clock advise thread.
quartz/tests: Check that system clock measurements are in sequence instead of comparing absolute time.
quartz: Free outstanding advise requests when destroying a system clock.
Zhiyi Zhang (17):
user32: Avoid unnecessary scroll bar drawing.
user32: Remove SCROLL_DrawInterior_9x().
user32: Modify SCROLL_MovingThumb outside of SCROLL_DrawMovingThumb().
user32: Introduce a SCROLL_DrawNCScrollBar() to draw scroll bars in non-client area.
user32: Call SCROLL_DrawScrollBar() to draw arrows in SCROLL_HandleScrollEvent().
uxtheme: Avoid memory leaks.
user32: Call SCROLL_DrawScrollBar() to draw moving thumb in SCROLL_HandleScrollEvent().
user32: Call SCROLL_DrawScrollBar() to draw tracks in SCROLL_HandleScrollEvent().
user32: Pass a scroll bar tracking info parameter to SCROLL_DrawScrollBar().
user32: Separate scroll bar drawing calculation from actual drawing.
user32: Separate scroll bar window checks from actual drawing.
user32: Draw scroll bar size box and size grip in a single function.
uxtheme: Move themed scroll bar to uxtheme.
uxtheme: Move themed dialog to uxtheme.
uxtheme: Support drawing themed standard scroll bars.
uxtheme: Support pressed state for themed scroll bars.
uxtheme: Support scroll bar state tracking in non-client areas.
Ziqing Hui (4):
include: Add the D2D12DAffineTransform definitions.
d2d1/tests: Add an effects test.
d2d1: Add a ID2D1Image interface for effects.
d2d1: Implement d2d_effect_GetOutput().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.12 is now available.
What's new in this release (see below for details):
- Builtin "Blue" and "Classic Blue" themes.
- More work towards WinSock PE conversion.
- Beginnings of the NSI (Network Store Interface) implementation.
- Support for 32/64-bit registry views in reg.exe.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.12.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.12.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.12 (total 42):
8606 No network-support in the game Joint Operations Typhoon Rising
21259 Visual C++ 2005 Trial build hangs on first run after a reboot
24501 wine-mono does not support WPF
27133 WiX 3.5 with Mono 2.10 generates broken MSI packages when 2 files of identical size are added to the same installer
28393 WiX Toolset v3.x: light.exe can't find files in deeply-nested directories
33421 Cypress PSoC Creator 3.0 installer fails with Wine-Mono ('System.SystemException: Error running C:\windows\mono\mono\mini\mono.exe: File not found.')
34045 Provide Managed DirectX replacement assemblies for Mono (Gray Matter demo)
34643 The Bureau XCOM Declassified (.NET 4.0 managed C++/CLI game) crashes with Wine-Mono
42191 Multiple games require d3d11 deferred contexts (Diablo 3, Dark Souls 3, The Evil Within, Elex, Alien: Isolation, Assassin's Creed III)
46592 Heroes III Horn of the Abyss 1.5.4 TCP/IP issue
46595 Rainbow Six Siege hangs on Uplay splash screen
46960 Mono's interactive C# shell crashes when typing a character
47791 Inconsistent %ERRORLEVEL% after setting env var value in cmd.exe
48000 Multiple installers call 'reg.exe' with unhandled 'copy' command (CDBurnerXP 4.1.x - 4.4.x, Windows PowerShell 2.0)
48530 DWScript Http.sys 2.0 Web Application Server demo crashes on startup (needs support for httpapi.HttpSetUrlGroupProperty 'HttpServerLoggingProperty' property)
49315 Sid Meier’s Civilization® VI remains stuck on a grey screen after the introduction video.
49395 Multiple Direct2D applications stopped working after upgrade to Wine 5.10 which removed advertising of ID3D10Device interface on d3d11 devices (Altium Designer 20, T-Force Alpha Plus VST2 64bit plugin, MSDN-Direct2D-Demo)
49935 mismatch behavior in API function GetOpenFileName
50113 Total Commander 9.51: when using a third-party theme with Windows XP, the drive buttons and function buttons at the bottom of the window (F5 Copy) are not displayed
50209 S.T.A.L.K.E.R.: Call of Pripyat needs D3DX10CreateTextureFromMemory implementation
50506 WM_INPUT messages are not received for HID devices registered with RegisterRawInputDevices
50603 WiX Toolset v3.11 installer crashes when loading update feed XML
50735 MSBuild fails to launch FileTracker
50793 Regression: Far Cry crashes on launch
51052 6.4 regression: 32-bit Cheat Engine attaching its debugger leads to the target process crashing
51214 rundll.exe and winoldap.mod crash
51223 Wine 6.10 regression, dinput broken in certain situations?
51225 regression - Warframe colors messed up - wine staging
51244 Frostpunk doesn't launch with builtin msvcr120
51257 Wine 6.10 regression, crash after "_Locinfo__Locinfo_ctor_cat_cstr" message in CLI
51258 Timespinner controller input stopped working in wine 6.10
51264 GUI exe receives invalid StdOutput HANDLE if launched via ShellExecuteEx
51266 S.T.A.L.K.E.R. Anomaly 1.5.1: AI Targeting Is Broken
51278 wine packages for ubuntu have dependency glitch
51291 Youkoso! Sukebe Elf no Mori e (demo) doesn't show thumbnail image in monitor settings.
51303 Metal Gear Solid V: Ground Zeroes needs d3d11_swapchain_GetLastPresentCount implementation
51322 Clang-cl 12 fails on unimplemented function KERNEL32.dll.GetProcessGroupAffinity
51324 Imperium Great Battles of Rome can't play videos
51328 DWScript Http.sys 2.0 Web Application Server demo crashes on startup (needs httpapi.HttpSetServerSessionProperty)
51335 Multiple applications require tbs.dll (Windows PC Health Check, TrouSerS, readpcr)
51347 QQ 2021 installer: have no permission for the installation path.
51375 SCM erroneously tries to start 64-bit kernel drivers as 32-bit service due to incorrect handling of 'IMAGE_FILE_DLL' image characteristics in 'kernel32.dll.GetBinaryTypeW' (Protect DiSC 'acedrv11.sys')
----------------------------------------------------------------
Changes since 6.11:
Akihiro Sagawa (3):
ntdll/tests: Expand path name tests with path + device name.
ntdll: Validate directory path when the path name ends with a dos device name.
ntdll: Fix null pointer dereference in RtlDosPathNameToNtPathName_U_WithStatus.
Alex Henrie (4):
include: Add tbs.h.
include: Add TBS_E_* to winerror.h.
tbs: Add stub dll.
tbs: Add Tbsi_Context_Create stub.
Alexander Fischer (1):
winhttp: Added stubs to function request_set_option.
Alexandre Julliard (36):
ntdll: Go through the syscall return path for syscall faults.
ntdll: Simulate a syscall return when starting a thread.
winecrt0: Use multiple load/store instructions in setjmp() on ARM.
ntdll/tests: Add more tests for segment registers in 64-bit mode.
ntdll/tests: Add more tests for Wow64 contexts.
server: Add a native_machine global variable.
server: Use separate handles for thread and context in get_thread_context.
server: Simplify the naming of the YMM regs.
server: Trace extended registers as 128-bit entities.
ntdll: Initialize the RealClientId field in the TEB.
ntdll/tests: Move Wow64 tests to a separate file.
ntdll: Support converting server contexts from one machine to another.
server: Support both native and wow64 register contexts.
ntdll: Only update the data that was requested in the destination context.
ntdll: Avoid crash on shutting down partially initialized thread.
ntdll: Implement NtWow64Read/WriteVirtualMemory64().
ntdll: Implement NtWow64AllocateVirtualMemory64().
ntdll: Don't rely on get_thread_context() updating the context flags.
server: Remove the no longer used pid/tid fields in the init_thread request.
ntdll/tests: Add tests for 64-bit modules in Wow64 mode.
ntdll/tests: Add tests for RtlWow64GetCurrentCpuArea().
ntdll: Implement RtlWow64GetCurrentCpuArea().
configure: Disable nsiproxy.sys for the Windows build.
ntdll: Implement RtlWow64GetThreadSelectorEntry().
ntdll: Clear the 32-bit TLS for ZeroTlsCell in Wow64 mode.
ntdll: Add a helper function to retrieve the CPU area context on the Unix side.
ntdll: Initialize the Wow64 context on x86-64.
ntdll: Use the CPU area to get/set the Wow64 context on x86-64.
kernel32: Fix the DLL check in GetBinaryTypeW().
server: Store session id in the process and return it at process init time.
ntdll: Implement NtQueryInformationProcess(ProcessSessionInformation).
ntdll: Return the session id in NtQuerySystemInformation(SystemProcessInformation).
server: Store the session id in the process token.
ntdll: Implement NtQueryInformationToken(TokenSessionId).
kernelbase: Implement ProcessIdToSessionId().
ntdll/tests: Retrieve the actual segment registers for RtlWow64GetThreadSelectorEntry test.
Alistair Leslie-Hughes (1):
include: Add ICommandWithParameters interface.
Andrey Gusev (1):
msvcr120: Add version.rc file.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (2):
winedbg: Try to load debug symbols for executable in gdb mode.
ntdll: Allow 16-bit executables to be loaded from build directory.
Brendan McGrath (1):
kernelbase: Don't pass StdHandles with CREATE_NEW_CONSOLE.
Connor Abbott (4):
winegcc: Recognize .obj files as objects.
winegcc: Pass through -pthread.
winegcc: Support -Wl,--start-group and -Wl,--end-group.
winegcc: Support -Wl,foo=... style linker options.
Damjan Jovanovic (3):
msxml3: Return S_FALSE from IXMLDOMNamedNodeMap::nextNode() when there are no attributes.
wininet: Improve InternetGetLastResponseInfo() logging.
wininet: Validate InternetGetLastResponseInfo() parameters.
Dmitry Timoshkov (1):
oleaut32: ICreateTypeInfo2::AddVarDesc() should handle failure of allocation and initialization of a variant description.
Eric Pouech (4):
winedbg: Accept hex values in command line.
winedbg: Fix crash when no process attached in 'info wnd' command.
winedbg: Correct mapping read/write/execute information.
winedbg: Add helper in gdbproxy mode to get proper address width information.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (6):
pdh: Update PdhAddEnglishCounterA/W() to match Windows 10 >= 2004.
pdh/tests: Skip a test that crashes on Windows 10 >= 2004.
d3d10core/tests: Increase the tolerance in test_texture_compressed_3d().
d3d11/tests: Increase the tolerance in test_texture_compressed_3d().
msvcr120/tests: Wcstof() depends on the system locale.
shell32/tests: Fix the known folder relative path check for multiple CD drives.
Georg Lehmann (7):
winevulkan: Update to VK spec version 1.2.182.
winevulkan: Unwrap params with objecttype.
winevulkan: Automatically generate vkSetPrivateDataEXT.
winevulkan: Automatically generate vkGetPrivateDataEXT.
winevulkan: Automatically generate vkDebugReportMessageEXT.
winevulkan: Unwrap struct members with objecttype.
winevulkan: Fix bit field struct members.
Gijs Vermeulen (2):
amstream/tests: Clarify flags passed to IAMMultiMediaStream::OpenFile().
amstream: Handle AMMSF_RENDERALLSTREAMS in IAMMultiMediaStream::OpenFile().
Giovanni Mascellani (1):
mf/sar: Query for current padding before requesting sample buffer.
Hans Leidekker (1):
secur32: Use blocking mode for DTLS sessions.
Haoyang Chen (1):
ole32: Request the needed memory blocks at once.
Henri Verbeet (11):
wined3d: Add decompression information for BC4_UNORM.
wined3d: Only invalidate valid state IDs in wined3d_cs_exec_reset_state().
wined3d: Use wined3d_mask_from_size() in arbfp_blitter_blit().
wined3d: Use wined3d_mask_from_size() in glsl_blitter_blit().
wined3d: Use wined3d_mask_from_size() in wined3d_context_gl_enable_clip_distances().
wined3d: Use wined3d_mask_from_size() in find_draw_buffers_mask().
dxgi/tests: Add a test for swapchain present counts.
dxgi: Implement d3d11_swapchain_GetLastPresentCount().
dxgi: Implement d3d12_swapchain_GetLastPresentCount().
wined3d: Only set valid render states in wined3d_device_context_set_state().
wined3d: Only set valid transform states in wined3d_device_context_set_state().
Hugh McMaster (12):
reg/tests: Modify delete_tree() to support the use of registry views.
reg/tests: Remove duplicate test from test_registry_view_wow64().
reg/tests: Test deletion of keys and values using registry views.
reg: Support use of registry views when deleting registry values.
reg: Support use of registry views when deleting registry keys.
reg/tests: Split 'query' syntax tests into a separate function.
reg/tests: Test use of registry views with the 'query' operation.
reg/tests: Verify key opening and key deletion in delete_tree().
reg/tests: Don't verify key deletion after calling delete_tree().
reg/tests: Test use of registry views when querying registry values.
reg/tests: Check all error codes in delete_tree() before returning.
reg: Support use of registry views in the 'query' operation.
Huw D. M. Davies (30):
include: Add netiodef.h.
uuid: Add a few NPI module ids.
nsi: Add a stub dll.
nsi: Add stub implementations of NsiAllocateAndGetTable() and NsiFreeTable().
nsi/tests: Add tests for the NDIS ifinfo table.
nsi: Add a stub implementation of NsiGetAllParameters().
nsi: Add a stub implementation of NsiGetParameter().
nsi: Add a stub implementation of NsiEnumerateObjectsAllParameters().
nsi: Add a stub implementation of NsiEnumerateObjectsAllParametersEx().
nsi: Add a stub implementation of NsiGetAllParametersEx().
nsi: Add a stub implementation of NsiGetParameterEx().
nsiproxy: Create the nsi device.
loader: Add tag ids to ensure nsiproxy.sys starts before ndis.sys.
nsiproxy: Introduce IOCTL_NSIPROXY_WINE_ENUMERATE_ALL.
nsi: Implement NsiEnumerateObjectsAllParameterEx().
iphlpapi: Fill out a few more MIB_IF_ROW2 entries.
iphlpapi: For unknown interface types set the physical address length to zero.
nsiproxy: Implement NDIS ifinfo enumerate_all.
nsi: Implement NsiAllocateAndGetTable() and NsiFreeTable().
nsiproxy: Introduce IOCTL_NSIPROXY_WINE_GET_ALL_PARAMETERS.
nsi: Implement NsiGetAllParametersEx().
nsiproxy: Implement NDIS ifinfo get_all_parameters.
nsiproxy: Introduce IOCTL_NSIPROXY_WINE_GET_PARAMETER.
nsi: Implement NsiGetParameterEx().
nsiproxy: Implement NDIS ifinfo get_parameter for a few parameters.
nsiproxy: Implement NDIS index to luid get_parameter.
iphlpapi: Use ConvertInterfaceIndexToLuid() where possible.
iphlpapi: Implement if_nametoindex() using the ConvertInterface* functions.
iphlpapi: Implement if_indextoname() using the ConvertInterface* functions.
iphlpapi: Rewrite ConvertInterfaceLuidToNameA/NameToLuidA() to call their unicode equivalents.
Jacek Caban (19):
include: Add proofofpossessioncookieinfo.idl file.
conhost: Silence FIXME in console_input_ioctl.
gdi32/tests: Add metafile file creation tests.
gdi32: Delay writing metafile file until CloseMetaFile is called.
gdi32: Remove no longer used disk-based metafile special-cases.
gdi32: Delay writing to enhanced metafile file until CreateEnhMetaFile is called.
gdi32: Introduce gdi_obj_header and use it to store gdi_obj_funcs.
gdi32: Move more fields from gdi_handle_entry to gdi_obj_header.
include: Add ntgdi.h file.
gdi32: Use handle layout compatible with GdiSharedHandleTable to store handles.
gdi32: Initialize GdiSharedHandleTable in PEB.
gdi32: Introduce NtGdiSelectPen.
gdi32: Introduce NtGdiSelectBitmap.
gdi32: Introduce NtGdiSelectBrush.
gdi32: Introduce NtGdiSelectFont.
gdi32: Reimplement SelectObject on top of ntgdi interface.
gdi32: Use get_object_type for GetObjectType implementation.
gdi32: Directly use ntgdi interface to select objects.
gdi32/tests: Add more SelectObject tests.
Jan Sikorski (1):
wined3d: Avoid ending the renderpass when issuing a query.
Nikolay Sivov (8):
include: Add MFP_POSITIONTYPE_100NS symbol.
mfplay: Keep start/stop positions for items.
mfplay: Set start/stop position on source nodes.
mf/session: Send failed event when clearing topologies from closed state.
mf/session: Fix pause command handling from invalid states.
mf/session: Complete start command when called from invalid state.
mf/session: Treat only started/paused/stopped as valid states for start command.
mf/session: Fix typo in a trace message.
Paul Gofman (6):
jscript: Don't list LexicalDeclaration in Statement.
jscript: Initialize variable flags in new_variable_declaration().
jscript: Factor out compiler statement push and pop functions.
jscript: Implement 'let' declaration in 'for' statement.
ntdll/tests: Do not write to fs, gs when testing cleared segment regs on x64.
mshtml: Handle NULL nsstyle in HTMLWindow7_getComputedStyle().
Piotr Caban (2):
msvcrt: Match native sinf results in -Pi/4 - Pi/4 range.
msvcrt: Match native cosf results in -Pi/4 - Pi/4 range.
Qian Hong (4):
ntdll/tests: Test deleting files with an open mapping.
server: Forbid deleting files with an open mapping.
ntdll: Truncate files through the server.
server: Forbid shrinking files which are mapped to memory.
Roman Pišl (2):
kernel32: Implement GetProcessGroupAffinity stub.
ntdll: Don't pretend that the whole address space is reserved on non-i386.
Rémi Bernon (54):
d2d1: Query ID3D11Device1 interface in d2d_device_context_init.
d2d1: Query ID3D11Resource interface in d2d_bitmap_init.
d2d1: Use D3D11 interfaces in CopyFromMemory.
d2d1: Use D3D11 interfaces in d2d_bitmap_init.
d2d1: Use D3D11 interfaces in d2d_device_context_get_surface.
d2d1: Use D3D11 interfaces in d2d_bitmap_create.
mf/session: Complete session_start command even if already started.
hidclass.sys: Support parsing of explicit usage page.
hidclass.sys: Compute report sizes during parsing.
hidclass.sys: Build an alternate value array.
hid: Rewrite HidP_Get*Caps using HidP_GetSpecific*Caps.
hid: Introduce new get_value_caps_range helper for HidP_InitializeReportForID.
hid: Introduce new enum_value_caps helper for HidP_GetSpecificButtonCaps.
d2d1: Use D3D11 interfaces in d2d_bitmap_create_shared.
d2d1: Accept ID3D11Resource in d2d_bitmap_init.
d2d1: Remove pointer indirections in d2d_gradient_create.
d2d1: Use D3D11 interfaces in d2d_gradient_create.
hid: Rewrite HidP_GetSpecificValueCaps using enum_value_caps.
hid: Rewrite HidP_MaxUsageListLength using enum_value_caps.
hid: Rewrite HidP_SetUsages using enum_value_caps.
hid: Rewrite HidP_GetUsages using enum_value_caps.
hid: Rewrite HidP_GetUsagesEx using enum_value_caps.
hid: Introduce new copy_bits helper for HidP_SetUsageValueArray.
hid: Rewrite HidP_GetUsageValueArray using enum_value_caps.
hid: Rewrite HidP_SetUsageValue using enum_value_caps.
hid: Rewrite HidP_GetUsageValue using enum_value_caps.
hid: Rewrite HidP_GetScaledUsageValue using enum_value_caps.
d2d1: Use D3D11 interfaces to create buffers.
d2d1: Use D3D11 interfaces to create input layout.
d2d1: Use D3D11 interfaces to create vertex shader.
d2d1: Use D3D11 interfaces to create pixel shader.
hid: Return HIDP_STATUS_INCOMPATIBLE_REPORT_ID when id mismatches.
hid: Rewrite HidP_MaxDataListLength using enum_value_caps.
hid: Rewrite HidP_GetData using enum_value_caps.
hid: Build link collection nodes in HidP_GetLinkCollectionNodes.
hid: Always return node count in HidP_GetLinkCollectionNodes.
d2d1: Use D3D11 interfaces to create rasterizer state.
d2d1: Use D3D11 interfaces to create blend state.
d2d1: Use D3D11 interfaces to create sampler states.
d2d1: Use D3DDeviceContextState instead of D3D10 state block.
d2d1: Remove unused D3D10 interfaces.
ntoskrnl.exe/tests: Retry timer wait to address spurious failures.
include: Declare KeInitializeSpinLock as static FORCEINLINE.
ntoskrnl.exe/tests: Add some pending / remove tests.
winebus.sys: Introduce new remove_pending_irps helper.
winebus.sys: Handle IRP_MN_SURPRISE_REMOVAL and set removed flag.
ntoskrnl.exe: Implement Ke(Initialize|Insert|Remove)DeviceQueue.
winebus.sys: Add missing keyboard free_device callback.
hidclass.sys: Disable the keyboard device interface on removal.
wineusb.sys: Introduce new remove_pending_irps helper.
wineusb.sys: Handle IRP_MN_SURPRISE_REMOVAL and set removed flag.
wineusb.sys: Return STATUS_DELETE_PENDING when device is removed.
hidclass.sys: Stop accepting IRPs after device removal.
crypt32: Grow item size buffer by more than 1 at a time.
Tim Clem (2):
quartz/tests: Test IGraphBuilder::RenderFile() cleanup on failure.
quartz: Remove the source filter on failure in IGraphBuilder::RenderFile().
Zebediah Figura (83):
ws2_32/tests: Avoid some more test failures on Vista.
ws2_32: Use IOCTL_AFD_POLL in WSAPoll().
ws2_32: Reimplement select() on top of IOCTL_AFD_POLL.
server: Introduce IOCTL_AFD_WINE_GET_INFO.
ws2_32: Use IOCTL_AFD_WINE_GET_INFO.
server: Remove the no longer used get_socket_info request.
wined3d: Do not call wined3d_buffer_get_memory() in wined3d_buffer_init_data().
wined3d: Remove the now redundant "locations" parameter from wined3d_buffer_get_memory().
wined3d: Handle WINED3D_LOCATION_DISCARDED in wined3d_buffer_get_memory().
wined3d: Factor out wined3d_buffer_copy_bo_address().
wined3d: Do not use a staging buffer if discarding a mappable buffer in adapter_vk_copy_bo_address().
ws2_32: Use Win32 getsockname() and getpeername() in SO_BSP_STATE.
ws2_32/tests: Test setting SO_ACCEPTCONN.
ws2_32: Explicitly forbid setting SO_ACCEPTCONN.
ws2_32/tests: Test setting SO_TYPE.
ws2_32: Explicitly forbid setting SO_TYPE.
server: Introduce IOCTL_AFD_WINE_GET_SO_ACCEPTCONN.
ws2_32: Use IOCTL_AFD_WINE_GET_SO_ACCEPTCONN.
ws2_32: Move the getsockopt(SO_BROADCAST) implementation to ntdll.
ws2_32: Move the setsockopt(SO_BROADCAST) implementation to ntdll.
ws2_32/tests: Add some tests for SO_DEBUG.
ws2_32: Make getsockopt(SO_DEBUG) into a stub.
server: Introduce IOCTL_AFD_WINE_GET_SO_ERROR.
ws2_32: Use IOCTL_AFD_WINE_GET_SO_ERROR.
server: Remove the no longer used get_socket_event request.
ws2_32: Explicitly stub setsockopt(SO_ERROR).
ws2_32: Move the getsockopt(SO_KEEPALIVE) implementation to ntdll.
ws2_32: Move the setsockopt(SO_KEEPALIVE) implementation to ntdll.
ntdll/tests: Fix AVX tests on processors that don't support XSAVEOPT.
ntdll/tests: Fix a failure in test_thread_context() under Wine.
ntdll/tests: Mark a test as conditionally succeeding under Wine.
ws2_32: Move the getsockopt(SO_LINGER) implementation to ntdll.
ws2_32: Move the setsockopt(SO_LINGER) implementation to ntdll.
ws2_32: Implement getsockopt(SO_DONTLINGER) on top of Win32 getsockopt(SO_LINGER).
ws2_32: Implement setsockopt(SO_DONTLINGER) on top of Win32 setsockopt(SO_LINGER).
ws2_32: Move the getsockopt(SO_OOBINLINE) implementation to ntdll.
ws2_32: Move the setsockopt(SO_OOBINLINE) implementation to ntdll.
wined3d: Use a wined3d_resource operation to retrieve the resource dimensions in wined3d_device_context_update_sub_resource().
wined3d: Always pass a non-NULL box to context->ops->map().
wined3d: Return the map pitch in wined3d_device_context_map().
qcap/vfwcapture: Set the correct allocator properties when connecting.
wined3d: Pass a wined3d_resource and sub-resource index to wined3d_texture_check_box_dimensions().
wined3d: Move box validation to wined3d_device_context_map().
server: Introduce IOCTL_AFD_WINE_SET_SO_RCVBUF.
server: Introduce IOCTL_AFD_WINE_GET_SO_RCVBUF.
ws2_32: Use IOCTL_AFD_WINE_SET_SO_RCVBUF.
ws2_32: Use IOCTL_AFD_WINE_GET_SO_RCVBUF.
kernel32/tests: Add some tests for SetEndOfFile().
wined3d: Create buffers with a format of WINED3DFMT_R8_UNORM.
wined3d: Use wined3d_buffer_copy_bo_address() in wined3d_cs_exec_update_sub_resource().
wined3d: Pass a wined3d_const_bo_address to wined3d_cs_exec_update_sub_resource().
ws2_32: Handle SO_RCVTIMEO in the server.
ws2_32: Move the getsockopt(SO_REUSEADDR) implementation to ntdll.
ws2_32: Move the setsockopt(SO_REUSEADDR) implementation to ntdll.
winegstreamer: Change the formatting of error and warning messages a bit.
quartz: Do not print an incorrect state warning in MediaFilter_GetState() if a filter has been run asynchronously.
server: Introduce IOCTL_AFD_WINE_SET_SO_SNDBUF.
server: Introduce IOCTL_AFD_WINE_GET_SO_SNDBUF.
ws2_32: Use IOCTL_AFD_WINE_SET_SO_SNDBUF.
ws2_32: Use IOCTL_AFD_WINE_GET_SO_SNDBUF.
ws2_32: Handle SO_SNDTIMEO in the server.
advapi32/tests: Test the type and impersonation level of a linked token.
server: Create linked tokens as impersonation tokens.
ws2_32: Reimplement getsockopt(SO_TYPE) on top of ws_protocol_info().
ws2_32: Use ws_protocol_info() in getsockopt(SO_LINGER).
ws2_32/tests: Add tests for options which can only be set.
ws2_32: Explicitly return WSAENOPROTOOPT for IP membership options in getsockopt().
ws2_32: Move the setsockopt(IP_ADD_MEMBERSHIP) implementation to ntdll.
server: Use a separate request to retrieve the object name.
server: Return STATUS_KEY_DELETED when trying to retrieve the full name of a deleted key.
ntdll/tests: Add more tests for deleted keys.
wined3d: Introduce a prepare_upload_bo device context operation and use it to upload sub-resource data.
wined3d: Implement wined3d_deferred_context_prepare_upload_bo().
d3d11: Forbid map types other than DISCARD and NOOVERWRITE on a deferred context.
wined3d: Use context->ops->prepare_upload_bo() in wined3d_device_context_map() if possible.
wined3d: Implement NOOVERWRITE maps in wined3d_deferred_context_prepare_upload_bo().
wined3d: No longer queue WINED3D_CS_QUEUE_MAP operations through wined3d_device_context_ops.
include: Add a helper macro to define wine AFD control codes.
ws2_32: Move the setsockopt(IP_ADD_SOURCE_MEMBERSHIP) implementation to ntdll.
ws2_32: Move the setsockopt(IP_BLOCK_SOURCE) implementation to ntdll.
ws2_32: Move the getsockopt(IP_DONTFRAGMENT) implementation to ntdll.
ws2_32: Move the setsockopt(IP_DONTFRAGMENT) implementation to ntdll.
wined3d: Print a message when forcing CS serialization.
Zhiyi Zhang (35):
winex11.drv: Cache the current mode for detached outputs.
uxtheme/tests: Test SetWindowTheme() with a non-existent subclass.
uxtheme: Fall back to default class if the specified subclass is not found.
uxtheme: Set last error code for OpenThemeDataEx().
uxtheme: Check window handle for GetWindowTheme().
uxtheme: Check window handle for SetWindowTheme().
comctl32/tests: Add UDS_SETBUDDY tests.
winecfg: Set buddy window for the size up-down control only once.
comctl32/theme_scrollbar: Draw parent background before drawing control parts.
comctl32/treeview: Draw parent background before drawing control parts.
comctl32/toolbar: Remove a redundant theme handle check in TOOLBAR_NCCreate().
comctl32/toolbar: Test that toolbar shouldn't use outside theme handles.
comctl32/toolbar: Don't use outside theme handles.
comctl32/trackbar: Update control parts when style changed.
light.msstyles: Add Classic Blue visual style.
light.msstyles: Add Blue stub visual style.
light.msstyles: Add Button parts.
light.msstyles: Add ComboBox parts.
light.msstyles: Add Edit parts.
light.msstyles: Add List Box parts.
light.msstyles: Add Scroll Bar parts.
light.msstyles: Add Spin parts.
light.msstyles: Add Toolbar parts.
light.msstyles: Add Rebar parts.
light.msstyles: Add Status parts.
light.msstyles: Add ListView parts.
light.msstyles: Add TreeView parts.
light.msstyles: Add Header parts.
light.msstyles: Add Progress parts.
light.msstyles: Add Tab parts.
light.msstyles: Add TrackBar parts.
light.msstyles: Add Tooltip parts.
uxtheme/tests: Test that SetWindowTheme() should send WM_THEMECHANGED instead of posting it.
uxtheme: Send WM_THEMECHANGED instead of posting it in SetWindowTheme().
winecfg: Don't convert font height to points when saving system font metrics.
Ziqing Hui (4):
d3dx10/tests: Test texture returned by D3DX10CreateTextureFromMemory on failure.
d3dx10: Introduce initial D3DX10CreateTextureFromMemory() implementation.
d3dx10: Handle format conversion in D3DX10CreateTextureFromMemory().
d3dx10: Support block compressed formats in D3DX10CreateTextureFromMemory().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.11 is now available.
What's new in this release (see below for details):
- Theming support in all builtin programs.
- All remaining CRT math functions imported from Musl.
- MP3 support requires libmpg123 also on macOS.
- Support for codepage 720 (Arabic).
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.11.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.11.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.11 (total 33):
24172 Microsoft SyncToy 2.1 doesn't start with Wine-Mono
29184 Hogs of War: ground is missing somewhere
30244 Might & Magic Clash of Heroes: fails to start
36165 msvcrt/string tests fail under valgrind
37149 python 3.1.1: test_cmath failed
37858 WHO Anthro (.NET app) installer fails, reporting 'FATAL UNHANDLED EXCEPTION: The specified table does not exist.'
39142 Roblox Client/Server connection is dropped with error "This server has shut down."
40505 PDF Eraser Shows False File Names in File Open dialog with wine-mono
41048 Roller Coaster Rampage fails to start: 'Failed to init XACT' - {0aa000aa-f404-11d9-bd7a-0010dc4f8f81} xactengine2_0.dll
41292 Nexton LC-ScriptEngine freezes, possibly bad dsound notifications
41403 Ri-li 2.0.1 shows black screen instead of actual game content
42215 Pendulumania: Black screen (needs to emulate 8bpp mode in winex11)
42928 EmuMovies Sync 2.x fails login with Wine-Mono
44511 Winecfg - Only partially shows new theme after clicking apply
45202 Stories: The Path of Destinies - multicolored textures
45940 Missing CLSID e018945b-aa86-4008-9bd4-6777a1e40c11 (CLSID_WICPngDecoder2 ?)
46043 Notepad++ v7.5.9 x86 'MarkdownViewer++' v0.8.2 plugin (.NET 4.0 based) causes abnormal program termination with Wine-Mono 4.7.3
47812 Cygwin's strace.exe crashes due to custom TLS corruption
48891 Bash from Cygwin/msys2 terminates after first command
49459 Memu installer fails: wine: Call from 0x7b00f0b7 to unimplemented function wuaueng.dll.DllRegisterServer, aborting
49668 Two Worlds Epic Edition needs {cd0d66ec-8057-43f5-acbd-66dfb36fd78c}, xactengine2_7 to play audio
50041 Amnesia: Rebirth crashes with builtin vcomp140
50520 Multiple applications need WSAIoctl(SIO_BASE_HANDLE) (Rust applications using the Mio or Smol libraries, Starcraft Remastered)
50592 ZynAddSubFX 3.0.3 Demo can't load/open/save presets
50595 Foxit Reader 5.1 crashes on unimplemented function 'msdrm.dll.DRMRegisterContent' when exiting
50615 Excel 2007 needs ICreateTypeInfo2::DeleteFuncDesc()
51184 test_font_metrics() fails in gdi32:font for bitmap fonts on Windows 10 >= 1709
51192 GnuTLS error: Error in the pull function/ Login to Teamspeak, Blizzard... not possible.
51222 Multiple games have rendering issues caused by import of logf from musl (Kingdom Come: Deliverance, Just Cause 4, Wizard101)
51224 Otvdm can't start any Win16 application
51231 WeChat can't display QR code in login dialog.
51262 Since 308a5e7 no 32bit program starts
51273 Starcraft 2 64 bit .exe not starting since 25b093f384
----------------------------------------------------------------
Changes since 6.10:
Akihiro Sagawa (4):
quartz/tests: Introduce commit_allocator helper in vmr7.c.
quartz/tests: Test the close button of the video window.
quartz: Hide video window on WM_CLOSE.
quartz: Notify EC_USERABORT event when closing video window.
Alexandre Julliard (28):
ntdll: Validate the extended context before modifying the other registers.
ntdll: Only restore the modified parts of the syscall frame on x86-64.
ntdll: Only restore the modified parts of the syscall frame on i386.
ntdll: Create a thread to run the ctrl-C routine instead of raising an exception.
ntdll: Fix some exception test failures on ARM.
ntdll: Fix some exception test failures on ARM64.
kernel32: Don't export __chkstk() on ARM64.
ntdll: Allow the dispatcher functions to return to the caller.
ntdll: Always allocate extra stack space for the kernel stack.
ntdll: Switch to the kernel stack for syscalls on i386.
ntdll: Switch to the kernel stack for syscalls on x86-64.
ntdll: Switch to the kernel stack for syscalls on ARM64.
ntdll: Switch to the kernel stack for syscalls on ARM.
ntdll: Simplify the platform-specific dispatcher interface.
ntdll: Don't update cached registers if NtGetContextThread() fails.
ntdll: Move the XSTATE definitions to the platform-specific files.
ntdll: Also pass the TEB to signal_exit_thread().
ntdll: Always use the TEB that was passed to signal_start_thread().
ntdll: Store the current PEB in a global variable.
ntdll: Store the debug info in the TEB block after the 32-bit TEB.
ntdll: Copy the implementation of __wine_dbg_strdup and __wine_dbg_header to the PE side.
ntdll: Don't allow single-stepping through syscalls.
ntdll: Copy the implementation of __wine_dbg_output to the PE side.
ntdll: Add a helper to get the Wow64 TEB.
ntdll: Remove special case for setting permissions on stack pages.
ntdll: Support growing both 32- and 64-bit stacks.
ntdll: Ignore faults caused by alignment check on x86-64.
ntdll/tests: Adapt some of the i386 tests to run on x86-64 as well.
Alistair Leslie-Hughes (6):
msado15/test: Remove Reference count tests.
msado15/tests: Add Field tests.
msado15: Correct field reference value.
msado15: Support VT_I4/I2 for Fields Item property.
msado15: Convert to Integer for field index.
dpnhupnp: Stub DirectPlayNATHelpCreate and DllGetClassObject.
Andrew Eikum (3):
advapi32/tests: Avoid gcc 11 misleading-indentation warning.
comctl32: Avoid gcc 11 maybe-uninitialized warning.
shell32: Always create default known folder directories.
Austin English (1):
dpnhupnp: Add stub dll.
Brendan Shanks (2):
configure: Work around Xcode 12's ld assuming 16KB page sizes.
winecoreaudio: Remove workarounds for Mac OS X 10.4 and 10.5.
Connor McAdams (1):
d3dx9: Remove unnecessary call to D3DXMatrixTranspose.
Damjan Jovanovic (1):
server: The owner of a securable object should have all the standard access rights.
Derek Lesho (2):
mfplat: Fix max buffer length for IMC2/IMC4 formats.
mfplat: Copy all image planes in buffer copies.
Dmitry Timoshkov (3):
gdi32/tests: Test otmEMSquare only for Truetype fonts.
mshtml: Fix typos in traces.
include: Add IAuthenticateEx interface definition.
Esme Povirk (5):
sppc: Stub SLPersistApplicationPolicies.
advapi32: Fix typo.
sechost: Reject string SIDs with too many characters.
sechost: SID strings are case-insensitive.
sechost: Implement hexadecimal SID parsing.
Florian Eder (1):
cmd: Do not change errorlevel when setting environment variables.
François Gouget (9):
urlmon/tests: Fix a typo in a comment.
wininet/tests: Fix an InternetQueryOptionA/W mixup in test_secure_connection().
user32/tests: Use winetest contexts to simplify set_clipboard_data_process().
make_unicode: Add support for the 720 codepage (Arabic, Farsi and Urdu).
wined3d: Avoid an unneeded NULL cast.
gdi32/tests: Add a context to the testJustification() failure message.
gdi32/tests: Use a winetest context for test_font_metrics().
user32/tests: Preserve the initial GetLastError() value for test_ClipboardOwner().
user32/tests: Use the caller line number for open_clipboard() & co.
Gijs Vermeulen (3):
vcomp: Implement omp_get_num_procs().
ntdll: Avoid declaration-after-statement warning.
secur32: Default to building with GnuTLS support on macOS, if present.
Giovanni Mascellani (5):
mf/session: Fix computing fastest and slowest presentation rates.
winex11.drv: Allow keyboard layout score to be negative.
winex11.drv: Do not pollute logs with misencoded bytes.
mf/session: Reset END_OF_PRESENTATION flags when stopped.
winegstreamer: Expose the MF_MT_VIDEO_ROTATION attribute.
Haidong Yu (2):
shell32: Fix a memory leak.
shell32: Fix a memory leak.
Hans Leidekker (4):
winhttp: Fix a buffer size check.
winhttp: Remove redundant parentheses.
winhttp: Use CRT memory allocators.
secur32: Translate errors from push/pull callbacks.
Henri Verbeet (6):
d3d11/tests: Add a test for image UAV clears.
wined3d: Introduce wined3d_mask_from_size().
wined3d: Implement OpenGL image UAV clears using ARB_clear_texture.
d3d11: Implement d3d11_device_context_ClearUnorderedAccessViewFloat().
wined3d: Use the texture level count to calculate sub-resource indices for OpenGL mip-map generation.
wined3d: Use the texture level count to calculate sub-resource indices for Vulkan mip-map generation.
Hiroki Awata (1):
dsound: Notify DSBPN_OFFSETSTOP earlier.
Hugh McMaster (11):
regedit: Allow deletion of selected values without focus.
reg/tests: Test how values are overwritten when copying.
reg/tests: Modify delete_key() to support use of RegDeleteKeyEx().
reg/tests: Update reg_open() and reg_open_() definitions.
reg/tests: Modify verify_key() to support opening of registry views.
reg/tests: Modify verify_key_nonexist() to support registry views.
reg/tests: Update delete_value() declaration to deconstify 'const HKEY'.
reg/tests: Modify add_key() to support key creation in registry views.
reg/tests: Test key and value creation in 32-bit and 64-bit registry views.
reg: Support the use of registry views during the 'add' operation.
reg/tests: Move 'delete' syntax tests into a separate function.
Jacek Caban (2):
gdi32: Fix SetPixel error return value.
win32u: Add stub DLL.
Jactry Zeng (3):
riched20/tests: Lock hGlobal before use.
riched20: Allow to insert OLE object at specified offset.
riched20/tests: Add more tests for testing EM_GETTEXTEX with OLE objects.
Jan Sikorski (2):
wined3d: Fix typo in wined3d_texture_vk_prepare_texture().
wined3d: Don't pass a 3D texture view's depth range as layer range to Vulkan.
Kalen Alwardt (1):
ntdll: Export ZwFilterToken().
Nguyễn Chính Hữu (1):
wined3d: Add GPU information for NVIDIA GT 1030.
Nikolay Sivov (17):
dxva2: Accept AYUV as input format.
dxva2: Check input stream format in GetVideoProcessorDeviceGuids().
mfplat/buffer: Fix maximum length for YV12 format.
dxva2/tests: Remove a test failing on system with hw dxva devices support.
d2d1: Cache sampler state objects at device context.
d2d1: Remove unused argument from constant buffer initialization helper.
d2d1: Reuse PS constant buffer object.
d3d11: Fix freed memory access when releasing device context (Coverity).
d2d1: Reuse VS constant buffer object.
winegstreamer: Let async command handle request token.
mf: Move presentation clock implementation to a separate file.
mf/session: Reset per-node end of stream flags when stopped.
mf/session: Reset topology status back to READY when stopped.
mf: Use CRT allocation functions.
include: Add IMFWorkQueueServicesEx definition.
mfplay: Create media item on player creation, when url is specified.
mfplay: Start playback on player creation automatically, when enabled.
Paul Gofman (8):
jscript: Parse 'let' and 'const' variable declarations.
shell32: Don't specify the startup directory for CreateProcessW() in SHELL_ExecuteW().
jscript: Factor local_ref_scopes_t structure out of function_code_t.
jscript: Enumerate with and block scopes.
jscript: Support block scope variables.
jscript: Support nested scopes for functions defined inside.
mshtml/tests: Add test for multiple JS scope instances.
mshtml/tests: Add a test for JS functions scope.
Piotr Caban (11):
msvcrt: Fix logf implementation.
msvcrt: Import tgamma implementation from musl.
msvcrt: Import tgammaf implementation from musl.
msvcrt: Import fmaf implementation from musl.
msvcrt: Import exp2f implementation from musl.
msvcrt: Import expf implementation from musl.
msvcrt: Import powf implementation from musl.
msvcrt: Import exp2 implementation from musl.
msvcrt: Import exp implementation from musl.
msvcrt: Fix math error arguments in powf.
msvcrt: Import pow implementation from musl.
Roberto Pungartnik (1):
po: Update Brazilian Portuguese translation.
Roman Pišl (1):
ntdll: Allow loading of native libraries for Win16.
Rémi Bernon (41):
hid/tests: Don't print buttons after HidP_GetUsages failed.
hidclass.sys: Handle failures when parsing descriptor.
hidclass.sys: Remove Delim member from struct caps.
hidclass.sys: Use HIDP_VALUE_CAPS instead of struct caps.
hidclass.sys: Factor all HIDP_VALUE_CAPS debug helpers.
hid: Use caps.BitSize to differenciate buttons from values.
include: Add HID haptics usage page.
hidclass.sys: Don't crash when no buffer was provided.
xinput1_3: Use msvcrt allocation functions.
xinput1_3: Check for HID failures and print warnings.
xinput1_3: Store HIDP_CAPS in hid_platform_private struct.
xinput1_3: Use input report length from HIDP_CAPS.
xinput1_3: Allocate output report buffer on the heap.
hidclass.sys: Fix incorrect feature report debug print.
hidclass.sys: Dump HID descriptor with 16 byte columns.
hidclass.sys: Use realloc instead of HeapReAlloc.
ntoskrnl.exe/tests: Silent a todo_wine failing test after a while.
ntoskrnl.exe/tests: Use HID helper macros to write report descriptors.
ntoskrnl.exe/tests: Add some buttons and hatswitch controls.
hid: Check preparsed data magic in HidP_GetLinkCollectionNodes.
ntoskrnl.exe/tests: Add some HidP_Get(Specific)ButtonCaps tests.
ntoskrnl.exe/tests: Add some HidP_Get(Specific)ValueCaps tests.
ntoskrnl.exe/tests: Add some HidP_GetLinkCollectionNodes tests.
ntoskrnl.exe/tests: Add some HidP_InitializeReportForID tests.
ntoskrnl.exe/tests: Don't call CertFreeCertificateContext on cleanup.
hid: Implement HidP_SetUsageValueArray stub.
ntoskrnl.exe/tests: Add tests with and without report IDs.
ntoskrnl.exe/tests: Add more reports with complex HID syntax.
ntoskrnl.exe/tests: Add some HidP get/set values tests.
ntoskrnl.exe/tests: Add some HidP get/set usages tests.
ntoskrnl.exe/tests: Add some HidP_GetData tests.
hidclass.sys: Simplify signed / unsigned item value parsing.
hidclass.sys: Use a single switch to parse all item types.
hidclass.sys: Introduce new hid_parser_state struct.
hidclass.sys: Add a stack to parser_state to store global items.
hidclass.sys: Use the stack to store collection items.
hidclass.sys: Set BitField item to current value.
hidclass.sys: Create link collection caps during parsing.
hidclass.sys: Remove unused struct feature members.
hidclass.sys: Remove unused struct collection members.
hidclass.sys: Split feature parsing to separate helper.
Stefan Dösinger (2):
user32: Release the icon frame in CopyImage.
user32: Delete info.hbmColor and hbmMask after copying.
Torge Matthies (1):
winex11.drv: Avoid race condition in X11 error handling.
Vijay Kiran Kamuju (2):
msdrm: Add stub DRMRegisterContent function.
windowscodecs: Add initial support for WICPngDecoder2.
Yeshun Ye (1):
iphlpapi: Fix the field 'AdapterName' of IP_ADAPTER_INFO returned by GetAdaptersInfo.
Zebediah Figura (67):
configure: Always warn on missing GStreamer if --with-gstreamer was specified.
configure: Also warn on missing GStreamer if --without-quicktime was specified.
ws2_32: Use getifaddrs() and if_nametoindex() directly in interface_bind().
ws2_32: Use IOCTL_WINE_AFD_COMPLETE_ASYNC in SIO_ADDRESS_LIST_QUERY.
server: Don't rely on async_is_blocking() to determine whether IOCTL_AFD_WINE_ADDRESS_LIST_CHANGE should block.
ws2_32: Wait for synchronous ioctl completion in server_ioctl_sock().
ws2_32/tests: Test passing an output buffer to FIONBIO.
ws2_32: Explicitly ignore the output buffer in FIONBIO.
ntdll: Introduce IOCTL_AFD_WINE_GET_INTERFACE_LIST.
ws2_32: Use IOCTL_AFD_WINE_GET_INTERFACE_LIST.
ntdll: Introduce IOCTL_WINE_AFD_KEEPALIVE_VALS.
ws2_32: Use IOCTL_WINE_AFD_KEEPALIVE_VALS.
ws2_32: Fix the indentation of SIO_ROUTING_INTERFACE_QUERY.
ws2_32: Use IOCTL_WINE_AFD_COMPLETE_ASYNC in SIO_ROUTING_INTERFACE_QUERY.
ws2_32: Use IOCTL_AFD_WINE_COMPLETE_ASYNC for unimplemented ioctls.
ws2_32: Return WSAEOPNOTSUPP in SIO_FLUSH.
ws2_32: Return WSAEOPNOTSUPP in FIOASYNC.
l3codeca.acm: Remove the Mac OS AudioToolbox backend.
l3codeca.acm: Call mp3_horse() directly.
l3codeca.acm: Simplify error handling in MPEG3_StreamOpen().
l3codeca.acm: Store the mpg123 handle directly as the ACM driver data.
ws2_32/tests: Add more tests for calling functions on a connecting socket.
server: Return STATUS_INVALID_PARAMETER when trying to call connect() on a socket with an active ConnectEx() async.
server: Fail with WSAEINVAL or WSAEALREADY when trying to connect a socket that is already connecting via nonblocking connect().
ws2_32: Use IOCTL_AFD_WINE_COMPLETE_ASYNC in SIO_UDP_CONNRESET.
ws2_32: Implement SIO_BASE_HANDLE.
server: Do not return the socket state from get_socket_event.
server: Make FD_WINE_NONBLOCKING into a separate field.
server: Use separate fields to track socket shutdown state.
server: Use an enum to store socket connection state.
server: Do not bother clearing events in IOCTL_AFD_WINE_CONNECT.
server: Do not bother clearing events in IOCTL_AFD_LISTEN.
server: Free the old process image name if a second process image is mapped (Valgrind).
server: Use AFD_POLL_* flags internally.
server: Store the socket errors as an array of Unix errno values.
server: Implement IOCTL_AFD_EVENT_SELECT.
ws2_32: Use IOCTL_AFD_EVENT_SELECT.
ws2_32/tests: Add some tests for IOCTL_AFD_EVENT_SELECT.
ntdll: Reserve space for the whole 64-bit YMM context in struct x86_thread_data.
qcap/tests: Add some tests for filter state on the video capture filter.
qcap/tests: Add tests for allocator management by the video capture filter.
qcap/vfwcapture: Do not fail vfw_capture_init_stream() if IMemAllocator::SetProperties() fails.
server: Implement IOCTL_AFD_GET_EVENTS.
server: Do not poll sockets for POLLPRI unless we are selecting for AFD_POLL_OOB.
ws2_32: Use IOCTL_AFD_GET_EVENTS in WSAEnumNetworkEvents().
ws2_32/tests: Add some tests for IOCTL_AFD_GET_EVENTS.
server: Introduce IOCTL_AFD_WINE_MESSAGE_SELECT.
ws2_32: Use IOCTL_AFD_WINE_MESSAGE_SELECT.
server: Remove the no longer used set_socket_event request.
ws2_32/tests: Add a couple more tests for getsockname().
server: Partially implement IOCTL_AFD_BIND.
server: Implement IOCTL_AFD_GETSOCKNAME.
server: Return the socket address from IOCTL_AFD_BIND.
ws2_32/tests: Add some tests for IOCTL_AFD_BIND and IOCTL_AFD_GETSOCKNAME.
server: Return STATUS_ADDRESS_ALREADY_ASSOCIATED from IOCTL_AFD_BIND if the socket is already bound.
ws2_32: Reimplement bind() and getsockname() on top of IOCTL_AFD_BIND and IOCTL_AFD_GETSOCKNAME respectively.
server: Correctly access the sir_lsap_sel field.
ws2_32: Check if the socket is bound in listen() in the server.
ws2_32: Pass a Win32 socket address to IOCTL_AFD_WINE_CONNECT.
ws2_32: Check if the socket is bound in ConnectEx() in the server.
ws2_32: Move the getpeername() implementation to ntdll.
ntdll/tests: Relax tests for RtlWaitOnAddress() timeout.
ws2_32: Remove some unused declarations.
ws2_32: Make the indentation in WSAAccept() consistent with the rest of the file.
server: Introduce IOCTL_AFD_WINE_DEFER.
ws2_32: Use IOCTL_AFD_WINE_DEFER.
server: Remove the no longer used set_socket_deferred request.
Zhiyi Zhang (27):
gdi32: Return correct color depth for display DCs in GetDeviceCaps().
gdi32: Implement MFDRV_SetLayout().
gdi32: Use a common helper for emf StretchBlt and AlphaBlend.
gdi32: Add more emf StretchBlt tests.
write: Use correct wordpad.exe path.
control: Enable visual styles.
dxdiag: Enable visual styles.
explorer: Enable visual styles.
extrac32: Enable visual styles.
msiexec: Enable visual styles.
msinfo32: Enable visual styles.
notepad: Enable visual styles.
oleview: Enable visual styles.
regedit: Enable visual styles.
taskmgr: Enable visual styles.
view: Enable visual styles.
wineboot: Enable visual styles.
winefile: Enable visual styles.
winemine: Enable visual styles.
winevdm: Enable visual styles.
winver: Enable visual styles.
wordpad: Enable visual styles.
gdi32: Partially implement HALFTONE stretch mode.
clock: Enable visual styles.
uninstaller: Enable visual styles.
winedbg: Enable visual styles.
winetest: Enable visual styles.
Ziqing Hui (4):
d3dx10/tests: Check more members of texture descriptor.
d3dx10/tests: Use winetest_push_context.
d3dx10/tests: Test subresource data for created texture.
windowscodecs/tests: Use winetest_push_context for DDS tests.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 6.0.1 is now available.
What's new in this release (see below for details):
- Various bug fixes
- Add support for wine64 on Apple M1
- Translation updates
- Documentation updates
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.0/wine-6.0.1.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.0/wine-6.0.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.0.1 (total 63):
3591 py2exe needs partial imagehlp.BindImageEx implementation
16676 RTG Bills 2.x (VB6 app) reports 'ADO error 1BD Object doesn't support this action' on startup (msado15 'connection_GetIDsOfNames' is a stub)
21014 Dark Sector no Sound
22635 Earth 2160 (GOG.com) can't recognize serial number
28786 Wine File Explorer tree does not expand when clicked on plus '+' signs
30062 Deer Hunter demo: unable to start a new game (map view unusable)
35637 Seagate Crystal Enterprise 8.0: 'inputfileserver.exe' service needs msvcirt.dll.??0fstream@@QAE@XZ
43422 Shadow Warrior 2: Floors are not rendered
44038 RPCS3 emulator crashes due to 'kernel32.SetFileInformationByHandle' lacking support of 'FileEndOfFileInfo' info class
44629 Process Hacker can't enumerate handles [needs NtQuerySystemInformation(SystemExtendedHandleInformation)]
45046 Skyrim SE: Shadow artifacts (missing handling of 'precise' shader modifier)
45132 CommonObjects tool (.NET app) from Google sandbox-attacksurface-analysis-tools v1.1.x needs 'ntdll.NtQuerySystemInformation' to support 'SystemExtendedHandleInformation'
46709 VarFormatCurrency doesn't handle an already formatted string.
46962 Macromedia Director Player 4.x based games (16-bit NE) fail to run: "This program requires at least 4MB free memory to run." (The Rock)
47507 Regression: can't return to full-screen Civilization IV BTS window after Alt+Tab-ing to desktop since wine 4.10
48563 Runaway: A Twist of Fate renders its cursor incorrectly
48618 Multiple applications show black client area on startup (Wargaming.net Game Center, Electron based apps)('--disable-gpu' command line parameter is a workaround)
48870 Aldi (Buhl) Steuer 2019/2020 installer crashes
49531 Multiple Qt5 applications spam the console continuously with 'fixme:netprofm:connection_GetAdapterId' ('INetworkConnection::GetAdapter' returns incorrect adapter GUID)(Futubull 10.x, Melodics V2, Topaz Video Enhance AI 1.x)
50033 WMI class SystemRestore is missing
50086 user32:monitor tests timeout
50123 The Elder Scrolls V: Skyrim SE has rendering glitches with vulkan renderer
50150 ODBC applications fail to create DSNs due to 'odbccp32.SQLWriteDSNToIni' stub
50256 Animate VST plugin activation doesn't work: wbem_services_ExecQuery gets no network adapters
50357 Star Stable Online crashes with unimplemented function dcomp.dll.DCompositionCreateDevice2
50376 Banished crashes when Antialiasing set to 3x MSAA with Vulkan renderer
50377 Banished cast shadows are broken with Vulkan renderer
50379 The Witcher 3 has broken rendering with Vulkan renderer
50386 Sniper Elite V2 some objects aren't rendered with Vulkan renderer
50387 Batman: Arkham Origins has broken dynamic shadows with Vulkan renderer
50401 Multiple Adobe products crash on unimplemented function msvcp{100,110,120,140}.dll._Wcsxfrm (Audition CS6, Audition 2020)
50407 Multiple Adobe CC products fail to start, reporting 'err:module:LdrInitializeThunk "CRClient.dll" failed to initialize' ('_Syserror_map' should return non-NULL string for unknown errors)
50409 Adobe Audition 2020 crashes on startup (msvcrt strftime_impl uses __lc_time_data struct WCHAR members but only ANSI members have been initialized by _Gettnames)
50424 std::mutex crashes on creation
50441 Steel Series Engine 3 systray icon does not respond to mouse clicks
50459 Studio One 5 crashes on unimplemented function dcomp.dll.DCompositionCreateDevice
50485 Still Life 2 crashes when CSMT is disabled
50486 The Sims 3 launcher hangs
50508 ACAT Phrase, part of Intel Assistive Context-Aware Toolkit (ACAT) v1.00.0 (.NET 4.5 app) crashes on unimplemented function 'uiautomationcore.dll.UiaRegisterProviderCallback'
50515 SofTalk 1.56 doesn't speak continuously after punctuation marks.
50517 Apps with GUI can't work on Apple Silicon Mac
50528 [Stasis 2]Broken rendering with Vulkan
50562 WRC 5 crashes on launch with Vulkan renderer
50563 The Witcher 3: Wild Hunt has missing sunlight with Vulkan renderer
50569 World of Tanks ground texture is black rendered
50580 iTunes 12.11.0.26 installer doesn't recognize WinVer 'Windows 10' setting (WMI 'Win32_OperatingSystem' class uses 'GetVersionEx' API to retrieve OS version info, a deprecated API in Windows 10)
50581 Far Manager v3.0: cursor position is off by one
50599 Game Protect Kit (GPK) 'SDGame32.sys' kernel driver crashes on unimplemented function 'ntoskrnl.exe.KdDisableDebugger' (Dragon Nest)
50602 Far Manager redraws incorrectly after console window is resized
50610 WMI 'Win32_OperatingSystem' OS caption property descriptions for Windows 8 and 8.1 are reversed
50620 Multiple applications crash due to DHTMLEdit 'IOleObject::GetMiscStatus' stub (Atomic Mail Sender 4.25, RSSeditor 0.9.54, High Impact eMail 5)
50632 Neverwinter: Broken graphics (texturing)
50641 Wine cmd handles incorrectly if-for on a single line
50642 Wine cmd handles incorrectly if-set when expanding variable with brackets
50672 .toString() implementation VT_CY behaves as if .toLocaleString() was used
50698 ::wcsrtombs does not NULL "const wchar_t ** _PSource" parameter in Wine.
50701 Multiple 32-bit ARM Thumb-2 applications cause loader to output warnings during relocation processing (Miranda, Notepad2)
50704 QueueUserAPC() Has Incorrect Error Set When Called On Terminating Thread
50740 The Suffering (Midway Games) crashes due to missing wmvcore 'IWMSyncReader2', CLSID '{faed3d21-1b6b-4af7-8cb6-3e189bbc187b}'
50744 continuous spamming of fixme:msctf:InputProcessorProfileMgr_GetActiveProfile in console
50781 cl.exe fails to open program database
50790 No display found when using winemac.drv in a VM
50967 sc.exe doesn't understand the start command and other parameters
----------------------------------------------------------------
Changes since 6.0:
Akihiro Sagawa (3):
winmm/tests: Expect TIME_BYTES format for TIME_MS request.
winmm: Get rid of TIME_MS format support in waveOutGetPosition().
krnl386.exe: Cap GetFreeSpace value to 2GB.
Alexandre Julliard (5):
msvcp: Fix some spec file discrepancies.
ntdll: Avoid sign conversion warnings in Thumb-2 relocation processing.
start: Avoid duplicate backslashes in command line.
make_unicode: Use codepage 949 to add default mappings to codepage 20949.
user32/tests: Remove todo from a test that seems to succeed reliably now.
Alistair Leslie-Hughes (3):
dsound: IDirectSoundBuffer8 GetStatus return DSBSTATUS_LOCSOFTWARE for deferred buffers.
odbccp32: Implement SQLWriteDSNToIni/W.
msado15: Implement Dispatch functions in _Connection.
Andrew Sheldon (1):
wined3d: Add GPU information for Radeon RX 6800(XT) / 6900 XT.
Andrey Gusev (1):
wined3d: Add AMD Radeon RX 5500M.
Austin English (1):
ntoskrnl.exe: Add KdDisableDebugger/KdEnableDebugger stubs.
Bernhard Kölbl (2):
netprofm: Set correct GUIDs for network connections.
msvcrt: Update source pointer in wcsrtombs in C locale.
Bernhard Reiter (1):
imagehlp: Partially implement BindImageEx().
Brendan Shanks (5):
loader: On Mac, move the top-down allocations area down to avoid Rosetta regions.
loader: On Mac, reserve an area starting at 4GB to force Rosetta's allocations higher.
winemac.drv: Use Metal to get a display's GPU info if possible.
winemac.drv: Fix crash when building against Metal-capable SDK but running on older OS X.
winemac.drv: Handle non-PCI GPUs correctly.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Chao Long (1):
wmic: Add missing aliases.
Christian Costa (1):
d3dx9: Return D3DFMT_A8R8G8B8 in D3DXGetImageInfoFromFileInMemory for 32 bpp BMP with alpha.
Damjan Jovanovic (1):
mmsystem: Win16 DllEntryPoint uses HINSTANCE16, not HINSTANCE.
Dmitry Kislyuk (1):
msctf: Quiet a spammy fixme in InputProcessorProfileMgr_GetActiveProfile.
Dmitry Timoshkov (4):
wbemprox: Add class SystemRestore stub implementation.
wbemprox: Flesh out a bit SystemRestore::Enable() implementation.
kernel32/tests: Add a test for calling QueueUserAPC() on a terminated thread.
server: Set error to STATUS_UNSUCCESSFUL when the server fails to queue APC for a thread.
Floris Renaud (6):
documentation: Change obsolete Debian and Red Hat packages.
documentation: Add Dutch README translation.
po: Update Dutch translation.
po: Fix Dutch spelling errors.
po: Update Dutch translation.
po: Update Dutch translation.
Gijs Vermeulen (2):
msvcirt: Implement remainder of fstream class.
wmvcore: Upgrade to IWMSyncReader2.
Giovanni Mascellani (1):
dwrite: Do not segfault when there are no typographic features to return.
Hans Leidekker (7):
winhttp: Avoid a crash when the connection is closed while handling a redirect.
wbemprox: Implement Win32_NetworkAdapter.GUID.
wbemprox/tests: Add tests for Win32_NetworkAdapter/Configuration.
wbemprox: Handle escaped backslashes in LIKE queries.
wbemprox: Implement Win32_NetworkAdapter.ServiceName.
wbemprox: Report the real OS version.
wbemprox: Fix Windows 8/8.1 caption.
Haoyang Chen (1):
d2d1: Fix text position in DrawText().
Henri Verbeet (12):
wined3d: Implement the "precise" flag in the GLSL shader backend.
ddraw: Use BitBlt() for exclusive mode frontbuffer updates if the swapchain window is not in the foreground.
wined3d: Properly convert Vulkan sample count format information.
wined3d: Add some barriers between resource usage on different bind points.
wined3d: Implement NULL constant buffer views for the Vulkan backend.
wined3d: Always include any depth/stencil attachment in the Vulkan framebuffer.
wined3d: Use glFinish() for synchronisation when cleaning up a destroyed context in wined3d_context_gl_cleanup().
wined3d: Create the backbuffer rendertarget view only after calling adapter_init_3d().
d3d11/tests: Add format compatibility tests for DXGI_FORMAT_R9G9B9E5_SHAREDEXP.
wined3d: Allow resource copies between block-compatible formats.
wined3d: Introduce a backup path for swapchain presents using GDI.
wined3d: Set the "compareEnable" field of struct VkSamplerCreateInfo to either 0 or 1.
Jacek Caban (3):
kernelbase: Support FileEndOfFileInfo in SetFileInformationByHandle.
conhost: Avoid assumption about the exact Unix cursor position after writing to the last column.
oleaut32: Use C locale in VARIANT_BstrFromReal.
Jan Sikorski (2):
wined3d: Align vertex attribute offsets to their size, if smaller than 4.
winemac.drv: Include depth32+stencil pixel formats in enumeration.
Martin Storsjo (2):
include: Don't use __attribute__((pcs("aapcs-vfp"))) when building in PE mode.
msvcrt: Fix reading BOM-less files opened with ccs=unicode.
Matteo Bruni (2):
wined3d: Use VK_FORMAT_D24_UNORM_S8_UINT when available.
wined3d: Correctly handle modifiers on instructions with multiple destination registers.
Michael Müller (1):
ntdll: Implement NtQuerySystemInformation(SystemExtendedHandleInformation).
Michael Stefaniuc (1):
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
Nikolay Sivov (7):
dcomp: Add DCompositionCreateDevice2().
dcomp: Add DCompositionCreateDevice() stub.
d2d1: Pass zeros as text layout size for inverted rectangles in DrawText().
explorerframe: Do not block clicks on the item button.
oleaut32/tests: Remove workarounds in VarFormat* tests.
oleaut32: Handle preformatted strings in VarFormatCurrency().
sc: Fix typos in CLI arguments parsing.
Paul Gofman (1):
dbghelp: Fix unwind opcodes on x64.
Piotr Caban (4):
msvcp90: Add _Wcsxfrm implementation.
ucrtbase: Fix _Syserror_map behavior on unknown error.
msvcr110: Copy utf16 strings in _Gettnames.
concrt140: Add arm exports.
Roman Pišl (5):
conhost: Fix copy-paste error when setting windows size.
conhost: Improve notification when resizing window.
ntdll: Don't set error status if volume serial number is missing.
cmd: Fix handling of nested if-for expressions on a single line.
cmd: Fix handling of brackets in if-set expressions on a single line.
Rémi Bernon (2):
plugplay: Broadcast WM_DEVICECHANGE message asynchronously.
winedbg: Don't dereference possibly NULL thread pointer.
Sanghoon Park (1):
make_unicode: Add support for codepage 20949 (Korean Wansung).
Vijay Kiran Kamuju (2):
uiautomationcore: Add stub UiaRegisterProviderCallback function.
dhtmled.ocx: Implement IOleObject::GetMiscStatus function.
Zebediah Figura (7):
gdi32: Do not compare face file names in insert_face_in_family_list() if either is NULL.
ntdll: Treat '>' the same as '?' in match_filename().
winemac: Send systray messages with SendNotifyMessage().
winex11: Send systray messages with SendNotifyMessage().
imagehlp/tests: Link directly to imagehlp and psapi.
imagehlp/tests: Rewrite test_bind_image_ex() using a DLL resource.
explorer: Send systray messages with SendNotifyMessage().
Zhiyi Zhang (3):
user32: Send a WM_ACTIVATE message after restoring a minimized top level window.
user32/tests: Add optional messages to test sequences.
user32/tests: Do not change adapters to every available modes.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 6.10 is now available.
What's new in this release (see below for details):
- Mono engine updated to version 6.2.0, with upstream updates.
- Shell folders naming scheme follows recent Windows.
- WinePulse library converted to PE.
- More math functions from Musl in the C runtime.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.10.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.10.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.10 (total 25):
15781 Multiple Office/MSAccess applications fail on startup due to 'ICreateTypeInfo2_fnDeleteImplType' stub (AllInOne-Office 4.x/5.11, Acclaim Cashbook)
29903 Multiple games and applications fail to enumerate processes due to 'wtsapi32.WTSEnumerateProcessesW' stub (Visual Studio 2005, .NET 2.0 SDK DbgCLR, Akamai DL Manager, Dekaron)
31310 TIE: Fighter: Collectors Edition (1998 Tie Fighter collectors series, remake of the original 1995 DOS version) crashes on startup
34746 Dino Crisis Demo doesn't play video sequences even though Indeo codecs are installed
36010 Changing font resolution on winecfg changes default main font to Tahoma
41253 GZDoom Builder 2.3 (.NET 3.5 app) crashes with Wine-Mono when trying to open new project or existing map
46320 Multiple applications and games need support for Windows Vista+ User Shell Folder layout, specifically 'Local AppData' (Amazon Kindle for PC)
47180 Nocturne unhandled exception bug on startup
47915 League of Legends 9.20: Crash after champ select
48043 user32:dce has a pair of random failures
48094 Simplify debugging test timeouts
48507 osu! icons in the setting and music player are not being rendered
49663 Performance regression in TrackMania Nations Forever
49801 Freight Yard Manager 5.x crashes on start with wine-mono
50147 Microsoft WebView2 "evergreen bootstrapper"/installer needs IStream::CopyTo()
50224 Grand Theft Auto 4: Crashes when starting the game
50366 Starcraft Remastered fails to create a local LAN game (needs undocumented socket "recv" ioctl 0x12014)
50613 several Wine Mono tests fail to load a referenced assembly on x86_64
50974 Multiple applications fail to open \Device\Afd\xxx with non-empty final element (Rust applications using the Mio or Smol libraries, Starcraft Remastered)
50975 Multiple applications need an implementation of undocumented socket "poll" ioctl 0x12027 (Rust applications using the Mio or Smol libraries, Starcraft Remastered)
50987 dinput8:device fails on the w10pro64_fr TestBot VM
50988 New ProcessBasicInformation() failure in kernel32:process
50989 ntdll:time: New intermittent QpcSystemTimeIncrement failure
51188 test_user_shared_data() fails in ntdll:virtual
51209 Regression: Wine-mono installers in the parent folder of build trees can not be found
----------------------------------------------------------------
Changes since 6.9:
Alex Henrie (5):
kernel32: Fix return type of GetMaximumProcessorGroupCount.
kernel32: Reimplement GetActiveProcessorGroupCount on top of GetLogicalProcessorInformationEx.
kernel32: Reimplement GetActiveProcessorCount on top of GetLogicalProcessorInformationEx.
kernel32: Reimplement GetMaximumProcessorCount on top of GetLogicalProcessorInformationEx.
kernel32: Reimplement GetMaximumProcessorGroupCount on top of GetLogicalProcessorInformationEx.
Alexandre Julliard (22):
ntdll: Replace __wine_make_process_system by a Wine-specific NtSetInformationProcess() class.
ntdll: Store debug options in the PEB memory block.
ntdll: Fetch the debug channels from the PEB memory block on the PE side.
taskmgr: Fetch the debug channels from the PEB memory block.
ntdll: Always put the pthread stack at the top of the 64-bit stack if there's one.
server: Use a standard user APC also for timers.
ntdll: Pass the result status to call_user_apc_dispatcher().
ntdll: Implement NtTestAlert().
ntdll: Pass an extra context arguments to APC functions on 64-bit.
ntdll: Fill the Wow64 PEB and process parameters.
ntdll: Free the initial process parameters once they are copied.
ntdll: Remove no longer used syswow64 directory string.
kernel32: Fix GetLogicalProcessorInformationEx() usage.
winebuild: Store all parameters on the stack for syscall thunks on ARM.
winebuild: Add support for multiple syscall descriptor tables.
ntdll: Store exception jump buffer in the per-thread data.
ntdll: Get rid of raise_func_trampoline() on x86-64.
ntdll: Use a single syscall dispatcher controlled by global flags on x86-64.
ntdll: Use a single syscall dispatcher controlled by global flags on i386.
ntdll: Get rid of signal_init_syscalls().
ntdll: Use appropriate context constants where possible.
kernelbase: Move CopyContext() implementation to ntdll.
Alistair Leslie-Hughes (3):
wbemprox: Support only getting type in record_get_value.
wbemprox: Support using record in IWbemClassObject Next.
gdi32: Don't override FontSubstitutes on a DPI only change.
Andrew Eikum (5):
shell32: Use stored registry path for known folder symlinks.
shell32: Use winvista+ AppData paths.
shell32: Calculate known folder paths from parent and relative path.
shell32/tests: Add tests to show relative known folder paths match SHGetKnownFolderPath.
shell32: Use correct environment substitution for FOLDERID_Public.
Anton Baskanov (6):
quartz/tests: Test that IMediaPosition is also checked when renderers are counted.
quartz: Check for IMediaPosition when counting renderers.
strmbase: Don't reset EOS on renderer paused->running state transition.
strmbase: Defer EC_COMPLETE until the renderer is running.
quartz/dsoundrender: Don't reset EOS on paused->running state transition.
quartz/dsoundrender: Defer EC_COMPLETE until running.
Arkadiusz Hiler (1):
dinput8: Use scan codes to test uAppData.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Austin English (1):
readme: Document Libera Chat migration.
Damjan Jovanovic (4):
shell32: Fix a lock leak.
shell32: Support the CF_HDROP format too when pasting from the context menu.
shell32: Use the paste_pidls() helper function for the CFSTR_SHELLIDLISTW format too.
msxml3/tests: Add some regex tests.
Daniel Lehman (2):
ntdll/tests: Clean up temp file.
ntdll: Silence clang warning.
Dmitry Timoshkov (4):
msxml3: Implement ::get_attributes() for "xml" processing instruction node.
msxml3: Implement IXMLDOMNamedNodeMap::getNamedItem() for a processing instruction node.
msxml3: When saving XML use encoding specified in the processing instruction.
wininet: Reset buffer size before each call to HTTP_HttpQueryInfoW.
Esme Povirk (4):
gdiplus: Implement reference counting for private font families.
mscoree: Update Wine Mono to 6.2.0.
sppc: Add stub dll.
slc: Move shared exports to sppc.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (12):
ucrtbase/tests: Add the trailing linefeed to an ok() message.
kernel32/tests: Fix the spelling of an ok() message.
ntdll: Update the STATUS_NO_SUCH_DEVICE error mapping.
ntdll/tests: Fix the XState AllFeatureSize check on old CPUs.
user32/tests: Fix a typo in a comment.
user32/tests: Trace GetLastError() when OpenClipboard() fails in edit.
ole32: Fix the spelling of a comment.
user32: Debugstr_format() should not modify the last error.
user32/tests: Use wine_{push,pop}_context() to simplify test_synthesized().
user32/tests: Use winetest contexts to simplify test_string().
user32/tests: Protect OpenClipboard() from interference.
user32/tests: Protect GetOpenClipboardWindow() from interference.
Giovanni Mascellani (2):
mf/samplegrabber: Handle paused state.
winegstreamer: Improve reported supported rates values for the media source.
Hans Leidekker (3):
webservices: Buffer whole messages to be sent.
webservices: Properly initialize messages.
webservices: Support IPv6 address format in WsDecodeUrl.
Haoyang Chen (1):
rsaenh: Fix a typo in a comment.
Henri Verbeet (1):
wined3d: Allow zero width/height for fullscreen swapchains as well in wined3d_swapchain_resize_buffers().
Hugh McMaster (7):
reg: Remove two unused string resources.
reg: Group resource IDs by source location.
reg: Partially implement the 'copy' command.
reg: Support recursion in the 'copy' command.
reg: Fail if the source and destination keys are the same when copying.
reg/tests: Test whether the 'copy' command copies user-defined key classes.
reg: Prompt the user to confirm whether they want to overwrite existing values when copying a key.
Jacek Caban (26):
winepulse: Move pulse_get_position to unix lib.
winepulse: Simplify checks for stream being initialized.
winepulse: Move pulse_is_started to unix lib.
winepulse: Simplify IAudioStreamVolume::SetChannelVolume implementation.
winepulse: Simplify IAudioStreamVolume::GetChannelVolume implementation.
winepulse: Allocate ACImpl volumes when channel count is known.
winepulse: Build with msvcrt.
ntdll: Make get_machine_wow64_dir static.
ntdll: Use DECLSPEC_HIDDEN for a few more symbols.
winepulse: Use event handle to signal main loop readiness.
winepulse: Use a critical section for PE-side locking.
winepulse: Use native memory allocators where possible.
winepulse: Use NtAllocateVirtualMemory for tmp_buffer.
winepulse: Use NtAllocateVirtualMemory for local_buffer.
d3dcompiler: Use return value in read_dword.
winevulkan: Reflect USE_STRUCT_CONVERSION in _host typedefs.
winevulkan: Remove no longer needed #ifdefs from dispatch tables.
winevulkan: Remove no longer needed #ifdefs.
winevulkan: Directly use host vkGetPhysicalDeviceProperties in wine_vkCreateDevice.
winevulkan: Make core function thunks static.
winegcc: Use -soname for unix libs.
winegcc: Link unix libs directly to native libraries.
ntdll: Introduce wine_unix_call.
makedep: Make unix libs depend on ntdll.so.
winepulse: Wrap unix call parameters in structs.
winepulse: Use syscall interface to call unix lib.
Jactry Zeng (4):
riched20/tests: Simplify tests of IRichEditOle_InsertObject() by improving CHECK_REOBJECT_STRUCT().
riched20/tests: Add INSERT_REOBJECT() for simplifying tests of IRichEditOle_InsertObject().
riched20/tests: Test IRichEditOle_InsertObject() with specified character position.
riched20/tests: Test ITextServices_TxGetText() with OLE obejct.
Jefferson Carpenter (2):
msxml3: Null check newChild in DOMDocument insertBefore.
msxml3: Null check newNode in domelem insertBefore.
Jiangyi Chen (1):
gdi32: Delete the external font reg key when face's name matches but the file path does not.
Lauri Kenttä (1):
po: Update Finnish translation.
Matteo Bruni (6):
d3dcompiler: Fix typo in struct d3dcompiler_shader_reflection.
wined3d: Don't skip FFP vertex pipeline state handlers when STATE_VDECL is dirty.
wined3d: Rename gen_ffp_frag_op().
wined3d: Avoid Y correction on dFdy when using FBO ORM.
wined3d: Remove access to gl_info from find_ps_compile_args().
wined3d: Don't pass the swizzle map to find_vs_compile_args() separately.
Michael Stefaniuc (1):
fusion/tests: Use wide-char string literals.
Nikolay Sivov (22):
mfplat/allocator: Apply default bindflags only for RGBA formats.
evr/mixer: Preserve output stream types order.
evr/mixer: Return cloned instances for output type candidates.
evr/mixer: Test format only when setting output type.
mfplat: Add some attributes for tracing.
mf/session: Do not drop pending commands when clearing current presentation.
mfplay: Enable source type enumeration.
mf/topology: Implement MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES connection method.
mfmediaengine: Add missing initialization of vertex buffer components (Coverity).
propsys: Add support for VT_VECTOR|VT_UI1 type in PropVariantCompareEx().
evr/mixer: Set aperture attributes for output type candidates.
evr/presenter: Use correct sample size attribute value when setting output mixer type.
evr/presenter: Make sure to use positive stride for output mixer types.
mfplat: Implement MFInitVideoFormat_RGB().
evr: Add a forward for MFGetStrideForBitmapInfoHeader().
mfmediaengine: Enable source type enumeration.
msctf: Maintain context reference in ranges.
msctf/range: Remove unused argument from range creation helper.
msctf/range: Update to ITfRangeACP.
msctf: Add ITextStoreACPServices::CreateRange().
mfplat: Remove remaining typedef for bytestream object structure.
winegstreamer: Fix assert condition.
Paul Gofman (4):
ntdll/tests: Do not test old xstate structure details in test_user_shared_data().
server: Check for system regs before suspending for ptrace.
ntdll/tests: Don't consider zero 'AllFeatures' value in USD broken.
server: Do not allow parenting non-empty job.
Piotr Caban (37):
msvcrt: Remove cos from unixlib.
msvcrt: Import tan implementation from musl.
msvcrt: Import cosf implementation from musl.
msvcrt: Import sinf implementation from musl.
msvcrt: Import tanf implementation from musl.
msvcrt: Update search position when no token was found in strtok.
msvcrt: Import acoshf implementation from musl.
msvcrt: Import acosh implementation from musl.
msvcrt: Import asinhf implementation from musl.
msvcrt: Import asinh implementation from musl.
msvcrt: Import atanf implementation from musl.
msvcrt: Import atanh implementation from musl.
user32: Depend on SetWindowPos to refresh window manager hints in SetWindowRgn.
msvcrt: Import expm1 implementation from musl.
msvcrt: Import expm1f implementation from musl.
msvcrt: Import cosh implementation from musl.
msvcrt: Import coshf implementation from musl.
msvcrt: Import sinh implementation from musl.
msvcrt: Import sinhf implementation from musl.
msvcrt: Import tanh implementation from musl.
msvcrt: Import tanhf implementation from musl.
msvcrt: Use __scalbn helper in ldexp implementation.
msvcrt: Import fma implementation from musl.
msvcrt: Import frexp implementation from musl.
msvcrt: Import frexpf implementation from musl.
msvcrt: Import _hypot implementation from musl.
msvcrt: Import _hypotf implementation from musl.
msvcrt: Import log implementation from musl.
msvcrt: Import logf implementation from musl.
msvcrt: Import log1p implementation from musl.
msvcrt: Import log1pf implementation from musl.
msvcrt: Import log10 implementation from musl.
msvcrt: Import log10f implementation from musl.
msvcrt: Import log2f implementation from musl.
msvcrt: Import log2 implementation from musl.
msvcrt: Import lgamma implementation from musl.
msvcrt: Import lgammaf implementation from musl.
Roberto Pungartnik (3):
po: Update Brazilian Portuguese translation.
ntdll: Fix IOCTL_AFD_WINE_SENDMSG irda member misreference.
po: Update Brazilian Portuguese translation.
Robin Ebert (1):
ntdll: Fix a file descriptor leak.
Rémi Bernon (52):
kernelbase: Don't strip leading dots in relative paths.
msvcrt: Set next_token when str is empty in wcstok_s.
dssenh/tests: Add CryptAcquireContextA last error check.
dssenh: Return NTE_BAD_KEYSET when key cannot be opened.
dssenh: Only fill hash buffer when it's provided.
dinput8/tests: Flush events after creating window.
dinput: Use IDirectInputDevice8W interface consistently.
dinput: Use generic WtoA wrappers when possible.
dinput: Move IDirectInputDeviceA wrappers to ansi.c.
dinput/tests: Check IDirectInputDevice_EnumObjects error codes.
dinput: Implement IDirectInputDevice_EnumObjects WtoA conversion.
dinput/tests: Check IDirectInputDevice2AImpl_GetObjectInfo error codes.
dinput: Factor out IDirectInputDevice_GetObjectInfo WtoA conversions.
dinput: Implement IDirectInputDevice_GetEffectInfo WtoA conversion.
dinput: Implement IDirectInputDevice_EnumEffects WtoA conversion.
dinput: Implement IDirectInputDevice_EnumEffectsInFile WtoA conversion.
dinput: Implement IDirectInputDevice_WriteEffectToFile WtoA conversion.
dinput: Implement IDirectInputDevice_GetImageInfo WtoA conversion.
dinput: Factor out IDirectInputDevice_GetCapabilities WtoA conversions.
dinput: Factor out IDirectInputDevice_GetDeviceState WtoA conversions.
dinput: Factor out IDirectInputDevice_GetDeviceInfo WtoA conversions.
dinput: Factor out IDirectInputDevice_BuildActionMap WtoA conversions.
dinput: Factor out IDirectInputDevice_SetActionMap WtoA conversions.
dinput: Make device creation error handling consistent.
dinput: Introduce direct_input_device_alloc helper.
dinput: Factor out IDirectInputDevice ansi vtable.
dinput: Prefer IDirectInputW interfaces over IDirectInputA.
dinput: Move IDirectInput8 WtoA wrappers to ansi.c.
dinput: Move IDirectInput7 WtoA wrappers to ansi.c.
dinput: Factor out device creation interface queries.
dinput: Remove the need for ANSI enum_device callback.
dinput: Prevent a device interface leak when enumerating.
dinput: Free axis_map when joystick device is freed.
dinput: Rename wReserved to wReportId in DIDEVICEOBJECTINSTANCE.
server: Add hardware_msg_data size for variable size messages.
user32: Inform rawinput_from_hardware_message of available buffer size.
user32: Implement WM_INPUT / RIM_TYPEHID message dispatch.
server: Support variable sized hardware_msg_data allocation.
server: Send HID report data with the WM_INPUT messages.
include: Add HID generic multi axis controller usage.
include: Add HID vendor defined usage pages.
winebus.sys: Use macros to define HID reports.
hidclass.sys: Use msvcrt allocation functions.
hidclass.sys: Use nameless unions.
hid: Use nameless unions.
user32: Use nameless unions in rawinput.c.
hidclass.sys: Factor HIDP_BUTTON_CAPS with HIDP_VALUE_CAPS.
winebus.sys: Add some buttons to HID mouse input report.
winebus.sys: Add some buttons to HID keyboard input report.
mmdevapi: Make MMDevEnumerator a static variable.
mmdevapi: Load devices on driver initialization.
mmdevapi: Use a struct list to keep device list.
Zebediah Figura (65):
server: Don't change the status of an already terminated async.
ntdll: Avoid accessing the I/O status block in wait_async().
ntdll: Move struct async_fileio to unix_private.h.
ntdll: Implement IOCTL_AFD_RECV.
ws2_32/tests: Add some tests for IOCTL_AFD_RECV.
user32: Handle monochrome icons in CreateIcon() and CreateCursor() instead of CreateIconIndirect().
user32: Implement stretching of cursor and icon objects in CopyImage().
user32: Reimplement CopyIcon() on top of CopyImage().
user32: Implement InternalGetWindowIcon().
d3d11/tests: Add a couple of extra tests for SRV/RTV conflict.
wined3d: Check for SRV/RTV binding conflicts per wined3d_state.
d3d11/tests: Add some tests for Map() on deferred contexts.
d3d11/tests: Add some tests for UpdateSubresource() on a deferred context.
user32: Blit the right bitmap when stretching monochrome icons in CopyImage().
ws2_32/tests: Add some tests for opening the Afd device.
server: Allow opening the Afd device with a file name.
ntdll: Implement IOCTL_AFD_POLL.
ws2_32/tests: Add tests for IOCTL_AFD_POLL.
wined3d: Fix a spelling error in a comment.
wtsapi32: Implement WTSEnumerateProcessesW().
server: Mark the socket as cacheable when it is connected, marked listening, or created as connectionless.
server: Pass -1 to set_fd_events() if the socket is not yet initialized or a not yet used TCP socket.
server: Clear FD_OOB instead of FD_READ when receiving OOB data.
ntdll: Introduce IOCTL_AFD_WINE_RECVMSG.
ws2_32: Use IOCTL_AFD_WINE_RECVMSG in WS2_recv_base().
ntdll: No longer export __wine_locked_recvmsg().
ntdll: Introduce IOCTL_AFD_WINE_SENDMSG.
ws2_32: Use IOCTL_AFD_WINE_SENDMSG in WS2_sendto().
wined3d: Store the framebuffer state inline in struct wined3d_cs_clear.
d3d11: Implement ID3D11Device::CreateDeferredContext().
d3d11: Implement ID3D11Device1::CreateDeferredContext1().
wined3d: Keep a list of acquired resources in struct wined3d_deferred_context.
d3d11: Implement ID3D11DeviceContext::ClearState() using a single CS op.
d3d11: Implement ID3D11DeviceContext::FinishCommandList().
wined3d: Implement restoring context in wined3d_deferred_context_record_command_list().
d3d11: Implement ID3D11DeviceContext::ExecuteCommandList().
ntdll: Quiet some noisy ETW FIXMEs.
ntdll: Introduce IOCTL_AFD_WINE_TRANSMIT.
ws2_32: Use IOCTL_AFD_WINE_TRANSMIT.
ws2_32/tests: Separate and expand tests for FIONREAD and SIOCATMARK.
ws2_32/tests: Add more tests for FIONBIO.
ws2_32/tests: Expand tests for SIO_KEEPALIVE_VALS.
ws2_32/tests: Call getsockname() on the right socket.
ws2_32/tests: Fix some more test failures on Vista and older.
ws2_32/tests: Add some tests for unsupported socket ioctls.
ws2_32/tests: Add more tests for SIO_GET_EXTENSION_FUNCTION_ADDRESS.
ws2_32/tests: Expand tests for SIO_ROUTING_INTERFACE_QUERY.
ws2_32/tests: Fix yet another test failure with Vista or older.
ws2_32/tests: Expand tests for SIO_ADDRESS_LIST_QUERY.
ws2_32/tests: Expand tests for SIO_GET_INTERFACE_LIST.
ws2_32: Always return WSAEFAULT from WSAIoctl() if ret_size is NULL.
ws2_32: Use socket_apc for WSAIoctl() completion.
Revert "ntdll: Preserve syscall frame when calling async IO system APC.".
server: Introduce IOCTL_AFD_WINE_FIONBIO.
ws2_32: Use IOCTL_AFD_WINE_FIONBIO.
server: Remove the no longer used enable_socket_event request.
ntdll: Introduce IOCTL_WINE_AFD_COMPLETE_ASYNC.
ws2_32: Use IOCTL_WINE_AFD_COMPLETE_ASYNC in SIO_GET_EXTENSION_FUNCTION_POINTER.
ws2_32: Fail with WSAEINVAL if a requested extension function is not found.
ntdll: Introduce IOCTL_AFD_WINE_FIONREAD.
ws2_32: Use IOCTL_AFD_WINE_FIONREAD.
ntdll: Introduce IOCTL_AFD_WINE_SIOCATMARK.
ws2_32: Use IOCTL_AFD_WINE_SIOCATMARK.
winebuild: Fix a typo in a comment.
ws2_32/tests: Add more tests for sockets that cannot be accepted into.
Zhiyi Zhang (3):
winex11.drv: Always add MWM_FUNC_CLOSE to enabled windows.
kernel32/tests: Test GetFileAttributesExW() with a NT path not in canonical form.
appwiz.cpl: Canonicalize paths before passing them to GetFileAttributesW().
Ziqing Hui (9):
windowscodecs/tests: Introduce create_and_init_encoder.
windowscodecs/tests: Add more test data for IWICDdsEncoder_SetParameters.
windowscodecs/tests: Test CreateNewFrame for DDS encoder.
windowscodecs: Implement IWICDdsEncoder_CreateNewFrame.
windowscodecs: Implement DdsEncoder_CreateNewFrame on top of DdsEncoder_Dds_CreateNewFrame.
windowscodecs/tests: Call SetParameters in create_and_init_encoder.
windowscodecs: Implement DdsFrameEncode_Initialize.
windowscodecs/tests: Test DDS encoder pixel format.
windowscodecs: Implement DdsFrameEncode_SetPixelFormat.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.9 is now available.
What's new in this release (see below for details):
- WPCAP library converted to PE.
- Support for paper forms in the print spooler.
- More math functions from Musl in the C runtime.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.9.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.9.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.9 (total 25):
20439 TroopMaster hangs on startup
24631 comctl32:listview NM_HOVER tests sometimes fail
28083 Agenda Circling Forth GPU particle demo:bunch of fixme and errors
32749 Implement atl100.dll.AtlAxDialogBoxW to show error dialogs (Visual Studio 2010 (10.0) Express Edition)
33846 crash on unimplemented function OpenCL.dll.clRetainDevice (clinfo)
34314 Touhou Danmakufu 0.12m crashes on start (DMUSIC_CreateMidiOutPortImpl is a stub)
34756 32-bit Visual C++ 2010 Express full installer throws an exception with wine-mono
43377 msxml3:domdoc Crashes in wow64 due to double free of properties
44813 Some applications fail when calling ntdll.NtReadFile on a directory (expect STATUS_INVALID_DEVICE_REQUEST)
47150 Overwatch freezes when new menu music starts playing
47866 comctl32:datetime: Fails in the Arabic locale
47872 gdiplus:font fails in Japanese locale on Windows 10
48054 gdi32:bitmap fails on Windows XP and 2003
48061 WineTest: get_subtests() fails randomly
50086 user32:monitor tests timeout
50830 Process Hacker 2.38 crashes on unimplemented function advapi32.dll.LsaEnumerateAccounts
50843 infosoft:infosoft has 2 failures on all Windows version up to Win10 1507
50844 infosoft:infosoft crashes on Windows 10 1607+
50853 Elgato Stream Deck 4.9.3 (.NET 4.5 app) installer: 'WINE_MONO_TRACE=all' crashes Wine-Mono
51047 Significant performance regression in The Sims 2
51080 DCS World updater - not detecting selected windows version
51101 Regression in PGVDemo: C:\\windows\\Microsoft.NET\\Framework64\\v2.0.50727\\mscorwks.dll could not be loaded
51117 Silverlight_x64.exe (part of LEGO MINDSTORMS EV3 Home Edition installer) crashes
51131 The 64-bit msxml3:domdoc crashes on Windows
51151 The 64-bit psapi:psapi_main fails in Wine
----------------------------------------------------------------
Changes since 6.8:
Alexandre Julliard (19):
include: Remove context definitions for obsolete platforms.
include: Define all the context structures on all platforms.
ntdll: Implement RtlWow64GetCpuAreaInfo().
ntdll/tests: Don't skip all tests if a function is missing.
ntdll/tests: Add tests for Wow64 TEB and PEB information.
server: Send TEB and PEB in the process_init_done request.
ntdll: Always send the native TEB pointer to the server.
ntdll: Always send the native PEB pointer to the server.
ntdll: Add a helper function to set the thread id.
ntdll: Allocate a separate 64-bit stack for Wow64 threads.
ntdll: Only check the is_wow64 flag on 32-bit platforms.
ntdll: Store the Wow64 context at the top of the 64-bit stack.
ntdll: Make the server context conversion functions generic.
ntdll: Pass a server context to server_select().
ntdll: Export RtlWow64Get/SetThreadContext() on all 64-bit platforms.
ntdll: Add platform-specific helpers for getting/setting the Wow64 context.
kernelbase: Fix PEB address for Wow64.
ntdll/tests: Only load RtlWow64GetCpuAreaInfo() on 64-bit.
kernelbase: Fix process access rights in DebugActiveProcess().
Alistair Leslie-Hughes (1):
include: Add IXMLHTTPRequest2/3 interfaces.
Andrew Eikum (2):
shell32: Avoid gcc 11 misleading-indentation warning.
windowscodecs: Avoid types deprecated in libtiff 4.3.
Aurimas Fišeras (3):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Biswapriyo Nath (1):
include: Add more PROPERTYKEY declarations in propkey.h.
Brendan Shanks (1):
wined3d: Add GPU information for Intel UHD Graphics 630.
Derek Lesho (5):
winegstreamer: Ensure that the source reports both PCM and floating point audio formats.
winevulkan: Add support for unwrapping handles in thunks.
winevulkan: Use automatically-generated thunk for vkCmdExecuteCommands.
winevulkan: Use automatically-generated thunk for vkQueueSubmit.
winevulkan: Specify which structures to ignore in STRUCT_CHAIN_CONVERSIONS.
Dmitry Timoshkov (3):
msxml3/tests: Execute ProcessingInstruction tests before other tests to avoid crashes under 64-bit Windows.
msxml3/tests: Add some tests for IVBSAXContentHandler::startElement() and IVBSAXContentHandler::endElement().
msxml3: IVBSAXContentHandler::startElement() should also check *namespaceURI for NULL.
Dongwan Kim (1):
gdiplus: Implement GdipEnumerateMetafileSrcRectDestRectI.
Esme Povirk (1):
slc: Return a non-zero handle from SLOpen.
Floris Renaud (1):
po: Update Dutch Translation.
François Gouget (16):
infosoft/tests: Fix the infinite loop and crash on Windows 10 1607+.
infosoft/tests: Improve the failure messages.
infosoft/tests: Fix the pfnFillTextBuffer() return value.
infosoft/tests: Fix refilling the text buffer.
kernel32/tests: Fix the spelling of a comment.
urlmon/tests: Fix the spelling of a comment.
winevulkan: Fix the spelling of a make_vulkan comment.
advapi32/tests: Trace GetLastError() when an event log API fails.
advapi32/tests: Trace failures to open the event log.
mshtml/tests: Fix the spelling of an ok() message.
advapi32/tests: Time zones should have both MUI and regular strings.
user32/tests: Avoid copying the clipboard buffer sizes everywhere.
user32/tests: Fix the clipboard CF_LOCALE test.
schedsvc: Fix the spelling of a comment.
user32/tests: Fix the clipboard format id vs. atom table checks.
mstask/tests: Work around race conditions with the task scheduler process.
Giovanni Mascellani (1):
winegstreamer: Advertise support for thinned or reverse playback.
Hans Leidekker (22):
wpcap: Move pcap support to a new Unix library.
wpcap: Implement some more functions.
wpcap: Build with msvcrt.
wpcap: Use CRT memory allocators.
wpcap: Get rid of the wine_ prefix.
ws2_32: Add support for hints in GetAddrInfoExW.
webservices: Implement WsGetChannelProperty(WS_CHANNEL_PROPERTY_STATE).
webservices/tests: Wait for the listener to be ready.
webservices: Create the connection in WsOpenChannel.
webservices/tests: Add an async client test.
webservices: Implement WsAbortChannel.
webservices: Always queue an async in WsReceiveMessage and WsRequestReply.
webservices: Add async support in WsShutdownSessionChannel.
webservices: Add async support in WsCloseChannel.
webservices: Add async support in WsOpenChannel.
webservices: Add async support in WsSendMessage.
webservices: Add async support in WsSendReplyMessage.
webservices: Add async support in WsReadMessageStart.
webservices: Add async support in WsReadMessageEnd.
webservices: Add async support in WsWriteMessageStart.
webservices: Add async support in WsWriteMessageEnd.
webservices: Return WS_S_END when we receive an end frame.
Haoyang Chen (2):
gdi32: Fix a memory leak.
gdiplus: Avoid filtering of special characters.
Henri Verbeet (1):
winedump: Make print_longlong() work on 64-bit.
Hugh McMaster (12):
reg: Fail if access is denied when deleting registry data.
reg: Update the STRING_VALUEALL_FAILED resource string.
reg: Update an error message.
reg/tests: Add further syntax tests for the 'copy' command.
reg/tests: Add data tests for the 'copy' command.
reg/tests: Add missing return code checks.
reg/tests: Add complex data and hex type tests for the 'copy' command.
reg/tests: Add more data tests for the 'copy' command.
reg/tests: Add key and value order tests for the 'copy' command.
reg: Fix a typo in a function definition.
reg: Add initial support for the 'copy' command.
reg: Fail if one or more arguments follow a help switch.
Huw D. M. Davies (7):
include: Add winspool form string type defines.
winspool: Forward the unicode forms functions to localspl.
localspl: Implement EnumForms().
localspl: Implement GetForm().
winspool: Forward GetFormA() to GetFormW().
winspool: Forward EnumFormsA() to EnumFormsW().
winspool/tests: Add tests for GetFormA().
Jacek Caban (33):
winebuild: Use clang -print-prog-name to find LLVM tools.
winepulse: Move synchronization functions to unix lib.
winepulse: Move pulse_test_connect to unix lib.
winepulse: Move pulse main loop to unix lib.
winepulse: Store channel count directly in ACImpl.
winepulse: Introduce pulse_stream struct.
winepulse: Move pulse stream destruction to unix lib.
winepulse: Move pulse stream initialization to unix lib.
winegcc: Use msvcrt by default for PE targets.
configure: Try using pure clang as a cross compiler when mingw is not available.
winepulse: Move pulse_read to unix lib.
winepulse: Move pulse_stop to unix lib.
winepulse: Store volume levels in pulse_stream.
winepulse: Adjust pulse stream volumes for master volume.
winepulse: Adjust pulse stream volumes for session volumes.
winepulse: Set pulse master volume to 0 when session is muted.
winepulse: Move mult_* functions to separated file.
winepulse: Move pulse_write to unix lib.
winepulse: Move timer loop to unix lib.
msvcrt: Add sincos to importlib.
winepulse: Move pulse_start to unix lib.
winepulse: Move pulse_reset to unix lib.
winepulse: Move pulse_get_render_buffer to unix lib.
winepulse: Move release_render_buffer to unix lib.
winepulse: Move pulse_set_event_handle to unix lib.
winepulse: Move pulse_get_buffer_size to unix lib.
winepulse: Move pulse_get_latency to unix lib.
winepulse: Move pulse_get_current_padding to unix lib.
winepulse: Move pulse_get_capture_buffer to unix lib.
winepulse: Move pulse_release_capture_buffer to unix lib.
winepulse: Move pulse_get_next_packet_size to unix lib.
winepulse: Move pulse_get_frequency to unix lib.
vulkan-1/tests: Don't destroy device if it wasn't created.
Liam Middlebrook (2):
winevulkan: Allow some experimental VK extensions to be translated.
winevulkan: Update to VK spec version 1.2.178.
Louis Lenders (2):
kernel32: Remove entry for BasepDebugDump.
advapi32: Add stub for LsaEnumerateAccounts.
Martin Storsjo (2):
widl: Allow switching between 32 and 64 bit ARM with the -m32/64 option.
widl: Pick up the target arch from a prefix on argv[0].
Nikolay Sivov (9):
dwrite: Check for allocation failures of glyph buffers.
mfplat: Use CRT allocation functions.
include: Add missing prototypes to mfapi.h.
mfmediaengine: Keep latest video frame buffer.
mfmediaengine: Keep device manager reference.
mfmediaengine: Explicitly store output video format.
mfmediaengine: Initial implementation of TransferVideoFrame() for ID3D11Texture2D destination.
dwrite/tests: Add some tests for HitTestTextRange().
dwrite/layout: Remove duplicated helper.
Paul Gofman (9):
kernel32/tests: Use sizeof(STARTUPINFOEX) for STARTUPINFOEX.STARTUPINFO.cb in process tests.
wbemprox: Check for method existence in class_object_GetMethod().
wbemprox: Partially implement Win32_Process.Create method.
server: Support nested jobs.
server: Send completions for existing job processes when adding completion port.
kernelbase: Support PROC_THREAD_ATTRIBUTE_JOB_LIST in UpdateProcThreadAttribute().
kernelbase: Pass PROC_THREAD_ATTRIBUTE_JOB_LIST to NtCreateUserProcess().
ntdll: Validate job handles at process creation.
server: Support process job lists.
Piotr Caban (50):
msvcrt: Don't compile msvcr120 math functions in older versions.
msvcrt: Import rint implementation from musl.
msvcrt: Import rintf implementation from musl.
msvcrt: Implement lrint using rint function.
msvcrt: Implement lrintf using rintf function.
msvcrt: Implement llrint using rint function.
msvcrt: Implement llrintf using rintf function.
msvcr120: Fix setting status word in fesetenv.
msvcr120: Add feupdateenv implementation.
msvcr120: Add feupdateenv tests.
msvcr120: Add feraiseexcept implementation.
msvcr120: Don't modify fenv_t members in math functions.
msvcr120: Don't modify fenv_t members in _except1.
ucrtbase: Store sse and x87 status in fegetenv function family.
ucrtbase: Store sse and x87 exception in fexcept_t.
include: Fix denormals handling in _fpclassf inline implementation.
msvcrt: Import neabyintf implementation from musl.
msvcrt: Import neabyint implementation from musl.
msvcrt: Import nextafter implementation from musl.
msvcrt: Import nextafterf implementation from musl.
msvcrt: Call nextafter in nexttoward implementation.
msvcrt: Import nexttowardf implementation from musl.
msvcrt: Import cbrtf implementation from musl.
msvcrt: Import cbrt implementation from musl.
msvcrt: Import ceil implementation from musl.
msvcrt: Import ceilf implementation from musl.
msvcrt: Import floorf implementation from musl.
msvcrt: Import floor implementation from musl.
msvcrt: Import truncf implementation from musl.
msvcrt: Import trunc implementation from musl.
msvcrt: Import fmod implementation from musl.
msvcrt: Import fmodf implementation from musl.
msvcrt: Import modf implementation from musl.
msvcrt: Import modff implementation from musl.
msvcrt: Import remquo implementation from musl.
msvcrt: Import remquof implementation from musl.
ucrtbase: Copy fenv tests from msvcr120.
msvcrt: Import remainder implementation from musl.
msvcrt: Import remainderf implementation from musl.
msvcrt: Import erfcf implementation from musl.
msvcrt: Import erff implementation from musl.
msvcrt: Import erfc implementation from musl.
msvcrt: Import erf implementation from musl.
msvcp90: Depend on compiler in _Getcvt implementation if possible.
msvcp90: Depend on compiler in _Getcoll implementation if possible.
msvcp90: Depend on compiler to handle returning struct in _Getctype.
msvcrt: Import _logb implementation from musl.
msvcrt: Import _logbf implementation from musl.
msvcrt: Import sin implementation from musl.
msvcrt: Import cos implementation from musl.
Rémi Bernon (21):
hidclass.sys: Use __wine_send_input to send device notifications.
server: Add rawinput union to hw_input_t / INPUT_HARDWARE.
server: Add RIM_TYPEHID type / hid member to rawinput union.
user32: Send WM_INPUT_DEVICE_CHANGE / RAWINPUT to the server.
server: Add process argument to find_rawinput_device.
server: Add an explicit message field in rawinput_message.
server: Add support for RIDEV_DEVNOTIFY rawinput flag.
server: Broadcast rawinput messages when desktop is NULL.
server: Implement WM_INPUT_DEVICE_CHANGE message dispatch.
user32: Update keyboard / mouse rawinput device paths.
hidclass.sys: Send rawinput messages with HID report.
user32/tests: Skip inconsistent OemKeyScan tests on non-us keyboard.
user32/tests: Initialize the cursor position in test_GetRawInputBuffer.
user32/tests: Recreate the window to make it more likely to have focus.
user32: Factor IsRectEmpty driver check in ShowWindow.
user32: Add a default ShowWindow implementation.
user32: Return WAIT_TIMEOUT in nulldrv_MsgWaitForMultipleObjectsEx.
user32: Duplicate klid to HKL high word in LoadKeyboardLayoutW.
explorer: Create systray for the null graphics driver.
user32: Add a default WindowPosChanging implementation.
user32/tests: Use int for wait_move_event delay type.
Shawn M. Chapla (1):
wine.inf: Don't use DDE for winebrowser by default.
Stefan Dösinger (1):
winemac.drv: Set view.WantsBestResolutionOpenGLSurface.
Zebediah Figura (71):
d3dcompiler/tests: Use winetest_push_context().
server: Avoid calling get_unix_fd() in IOCTL_AFD_CREATE.
server: Do not call sock_reselect() on an uninitialized socket.
ws2_32/tests: Clean up and expand tests for WSAPoll().
ws2_32/tests: Add a couple of tests for passing empty buffers to recv().
ws2_32/tests: Test calling ConnectEx() on a socket which is being accepted into.
wined3d: Use the correct device context ops in wined3d_device_context_issue_query().
d3d11: Rename d3d11_immediate_context to d3d11_device_context.
d3d11: Store a d3d_device pointer in struct d3d11_device_context.
ws2_32/tests: Do not close the port passed to CreateIoCompletionPort separately from the port returned.
ws2_32/tests: Add more tests for connect() and ConnectEx() with completion ports.
ws2_32/tests: Add some tests for shutdown().
sechost: Allow hexadecimal and string rights flags to be interleaved.
ws2_32/tests: Clean up and expand tests for DisconnectEx().
ws2_32/tests: Add some tests for shutdown with completion ports.
server: Add a helper to post socket events.
server: Rename "pmask" to "pending_events".
server: Rename "hmask" to "reported_events".
d3d11/tests: Add more tests for state clear and restore via FinishCommandList and ExecuteCommandList.
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_feature_level().
wined3d: Pass a wined3d_device_context to wined3d_cs_push_constants().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_texture().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_texture_state().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_sampler_state().
quartz/dsoundrender: Remove the no longer used "play_time" field.
ntdll: Use %I64x instead of %lx to trace 64-bit values.
server: Reset the reported event mask in set_socket_event only when using window messages.
ws2_32/tests: Verify that recv() does not reset a pending FD_CLOSE.
server: Do not send messages for events that are not currently being selected for.
ws2_32: Clear FD_OOB instead of FD_READ when receiving OOB data.
server: Post socket events only if selecting for them.
server: Poll for FD_CLOSE even if we cannot receive more data.
server: Always clear pending messages in sock_wake_up().
include: Rename Wine-specific socket ioctls.
include: Use FILE_ANY_ACCESS for wine-specific socket ioctls.
server: Implement IOCTL_AFD_LISTEN.
ws2_32: Use IOCTL_AFD_LISTEN.
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_transform().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_clip_plane().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_material().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_light_enable().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_light().
quartz/tests: Remove the no longer used TestFilterImpl structure.
quartz/tests: Use CRT memory allocators.
server: Also clear pending events in set_socket_event.
winegstreamer: Use a static buffer to enumerate stream types in media_stream_init_desc().
include: Print context information after the message type.
wined3d: Make wined3d_texture_set_map_binding() static.
wined3d: Pass a wined3d_device_context to wined3d_device_set_light().
wined3d: Pass a wined3d_device_context to wined3d_device_set_render_state().
wined3d: Pass a wined3d_device_context to wined3d_device_set_state().
quartz/tests: Avoid testing the result of GetQueueStatus().
quartz/tests: Fix some test failures related to thread timing.
ws2_32: Cache the synchronous I/O event in the per-thread data.
ws2_32: Remove a leftover cast.
server: Allow polling on an fd after it was removed.
server: Introduce IOCTL_AFD_WINE_CONNECT.
ws2_32: Use IOCTL_AFD_WINE_CONNECT in ConnectEx().
ws2_32: Use IOCTL_AFD_WINE_CONNECT in connect().
winegstreamer: Shut down the read thread before releasing the IMFByteStream.
winegstreamer: Make the file_size field of struct parser into a local variable.
advapi32: Quiet a couple of noisy FIXMEs.
ntdll/tests: Fix a copy-paste error in an ok message.
ws2_32: Do not use SHUT_RD.
server: Introduce IOCTL_AFD_WINE_SHUTDOWN.
ws2_32: Use IOCTL_AFD_WINE_SHUTDOWN in WS2_DisconnectEx().
ws2_32: Use IOCTL_AFD_WINE_SHUTDOWN in WS_shutdown().
wined3d: Use wined3d_device_context functions internally where possible.
wined3d: Remove no longer used wined3d_device functions.
ws2_32/tests: Extend WSARecvMsg() tests a bit.
ws2_32/tests: Add some tests for SO_RCVTIMEO.
Zhiyi Zhang (12):
include: Add fUseStandardBidi field in SCRIPT_CONTROL.
user32: Use wait_graphics_driver_ready() in load_desktop_driver().
winedump: Dump the distance array for EMR_EXTTEXTOUTW records.
user32/tests: Do not change adapters to every available modes.
winex11.drv: Support reporting emulated display depth.
user32/tests: Add display DC color depth tests.
user32: Optimize getting monitor count with GetSystemMetrics().
user32: Optimize getting primary monitor rectangle with GetSystemMetrics().
user32: Optimize getting virtual screen rectangle with GetSystemMetrics().
user32: Use get_primary_monitor_rect() helper.
user32: Add a cache for EnumDisplayDevicesW().
winex11.drv: Add a cache for querying XRandR 1.4 current modes.
Ziqing Hui (4):
windowscodecs: Add stub for IWICDdsEncoder.
windowscodecs/tests: Test DDS parameters for encoder.
windowscodecs: Implement IWICDdsEncoder_GetParameters.
windowscodecs: Implement IWICDdsEncoder_SetParameters.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.8 is now available.
What's new in this release (see below for details):
- Libraries installed into architecture-specific subdirectories.
- Secur32 library converted to PE.
- Support for Map object in JavaScript.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.8.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.8.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.8 (total 35):
11833 GroupMail 5.x crashes when creating new message
19756 Date/time picker doesn't notify app about checkbox changes (TaskCoach: Cannot add new task with a due date)
22327 Cannot install PGV demo for Windows using a clean wineprefix.
24893 File/folder context menus have missing options (Explorer++, Double Commander)
26189 Crysis Wars Dedicated Server no longer shows console on start under X
28372 Ubuntu Skin Pack 5.0-XP installer crashes
35102 Qvodplayer 3.5 Crashes on start
35539 Proteus 8 demo fails to install
37375 Visual C++ 2005 Express SP1 install fails
39841 IShellFolder.CreateViewObject() doesn't support IID_IContextMenu (Double Commander "Error: invalid parameter" when right-clicking on an empty space)
40227 LibreOffice 5.1.0 crashes when trying to run any Office program
40382 CUEcards 2000 (v2.37) takes a lot of time to return with search results
40823 Stone Giant demo crashes after launch
41318 Sins of a Solar Empire: Rebellion requires binormal vectors support in D3DXComputeTangentFrameEx
46948 Characters in The Sims Complete Collection render completely white
49697 Age of Empires II (SafeDisc 1.x) fails to start since 3.0-rc
49763 ALOTInstaller crashes
49977 FIFA 11 Demo fifaconfig crashes when pressing Exit button
49989 Samsung Dex installer crashes
50006 The intro in The Sims Complete Collection gets played too fast
50026 Powershell Core needs ntdll.RtlQueryProcessPlaceholderCompatibilityMode when run in win10 mode
50117 winedbg --gdb doesn't work
50396 Sacred Gold: wrong z-order or something else
50503 Diablo 1: Game crashes after intro videos
50961 Swtor game crash on splash screen 6.6
50963 NtCreateUserProcess occasionally fails with STATUS_IMAGE_NOT_AT_BASE
50980 Royal Quest: "out of memory" and other errors
50992 Star Citizen crashes on unimplemented function advapi32.dll.QueryTraceA
51028 Solid Edge 2021 Academic Edition: crash on startup
51041 Scalable fonts with fsCsb[0] == 0 are not enumerated correctly
51057 `winetricks -q mfc42` fails
51067 ToolTaskTest:Execute_2 test fails on x86_64
51070 Wine fails to create or update prefix
51076 demangle_datatype in ucrtbase crash in vc2019 x86 mode
51082 Regression: Powershell Core installs in wrong directory
----------------------------------------------------------------
Changes since 6.7:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (1):
kernel32: Print processor group in Get(Active|Maximum)ProcessorCount.
Alexandre Julliard (60):
ntdll: Fix drive letter of current directory in get_full_path().
ntdll: Support loading builtins from the architecture-specific PE directory.
setupapi: Support installing both types of builtins from the same directory.
setupapi: Support loading builtins from the architecture-specific PE directory.
winecfg: Get the builtins list from the architecture-specific PE directory.
dbghelp: Support loading builtins from the architecture-specific PE directory.
makefiles: Install PE files in an architecture-specific directory.
makefiles: Install PE import libraries in the architecture-specific directory.
makefiles: Install PE fake dlls in the architecture-specific directory.
server: Check the supported machines list to validate an image mapping.
server: Use a 64-bit machine for IL executables.
server: Store a machine ID instead of a CPU in the context structure.
server: Get rid of the CPU type and functions.
server: Create the Wow64 key and system directory for all supported architectures.
ntdll: Add separate helpers for loading pe and so builtins.
ntdll: Always allocate space for both 32- and 64-bit PEB.
ntdll: Always allocate space for both 32- and 64-bit TEB.
ntdll: Allocate TEBs and stacks in the low 2G.
ntdll: Store the debug info for the initial thread next to the PEB.
ntdll: Check all supported architectures in is_builtin_path().
wineboot: Run wine.inf for all supported architectures.
makefiles: Install Unix binaries into an architecture-specific directory.
makefiles: Install libwine into the architecture-specific directory.
dbghelp: Look for .so files in the architecture-specific directory.
wineandroid: Load ntdll from the architecture-specific directory.
winegcc: Look for libraries in the architecture-specific directory.
ntdll/tests: Fix a test failure on Windows 8.
ntdll: Implement RtlWow64GetProcessMachines().
ntdll: Implement RtlWow64GetCurrentMachine().
ntdll: Implement RtlWow64IsWowGuestMachineSupported().
kernelbase: Use RtlWow64GetProcessMachines() to get native system information.
regsvr32: Restart the correct version for all supported architectures.
server: Don't bother queuing APC_NONE apcs.
server: Don't return a handle for user apcs.
server: Only the first mapping needs to be an image in NtAreMappedFilesTheSame().
winecrt0: Add a default implementation for DllCanUnloadNow().
winecrt0: Add a default implementation DllRegisterServer()/DllUnregisterServer().
winecrt0: Determine the registration module handle directly in __wine_register_resources().
include: Update the SYSTEM_PROCESS_INFORMATION structure.
kernelbase: Compare against the correct constants in GetNativeSystemInfo().
kernelbase: Fix alignment of compatibility context elements.
gdi32: Don't bother computing the gamma ramp when not used.
ntdll: Use the native machine id instead of hardcoded values.
ntdll: Sort the info classes by numeric value in NtQuerySystemInformation().
ntdll: Don't output thread traces to the seh channel.
amstream: Avoid wcsncpy().
mmdevapi: Avoid wcsncpy().
dnsapi/tests: Avoid wcsncpy().
dwrite: Avoid wcsncpy().
taskmgr: Avoid wcsncpy().
include: Disallow wcsncpy() in Wine, similarly to strncpy().
ntdll: Implement RtlFindExportedRoutineByName().
ntdll: Return the full path to start.exe in load_start_exe().
ntdll: Open the per-application key for load order at startup.
ntdll: Fix the check for the main exe in get_load_order().
ntdll: Force executing IL-only binaries on the native machine.
server: Send the zero_bits parameter for remote NtCreateThreadEx() calls.
ntdll: Take the zero_bits parameter into account in NtCreateThreadEx().
ntdll: RtlCreateUserThread() also takes a zero_bits parameter.
ntdll: Only compute the zero_bits mask when needed.
Alistair Leslie-Hughes (2):
msado15: Support Properties interface on Field.
msado15: Use Recordset_Open in Connection_Execute.
Anton Baskanov (3):
winegstreamer: Fix integer overflow in scale_uint64.
winegstreamer: Allow setting the stop position to the stream duration.
quartz/dsoundrender: Don't let writepos advance past playpos.
Arkadiusz Hiler (8):
ntoskrnl: Implement IoSetDevicePropertyData().
msvcrt: Remove return after _endthread().
msvcrt/tests: Add CREATE_SUSPENDED test for _beginthreadex().
msvcrt: Make _beginthread() error out as documented.
msvcrt: Use trampoline for _beginthreadex().
msvcrt: Make UCRT _beginthread[ex]() hold the DLL reference.
ucrtbase: Add tests for _beginthread[ex]().
ucrtbase: Add invalid param tests for _beginthread[ex]().
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Connor McAdams (1):
winegstreamer: Delay duration query until caps have been acquired.
Damjan Jovanovic (8):
shell32/tests: Add more tests for Shell_MergeMenus().
shell32: The menu wIDs in hmenu were rebased by idCmdFirst.
shell32/tests: Test what Shell_MergeMenus() does with a negative adjustment.
shell32: Use a smaller range of shellview menu IDs in our IContextMenu functions.
shell32: Implement IID_IContextMenu in CreateViewObject() methods for shell folders that support it.
shell32: Implement some of the missing shellview IContextMenu command verbs.
shell32: Fix pasting from the shellview context menu.
shell32/tests: Fix test failures from ad412b11a7ea17b708994ed6609f8ed0cbfb169b.
David Koolhoven (1):
advapi32: Stub QueryTraceA().
Dmitry Timoshkov (2):
msxml3/tests: Don't '\0' terminate output after ::save().
msxml3/tests: Add more tests for processing instruction attributes.
Esme Povirk (1):
kernelbase: Always remove trailing spaces in PathRemoveBlanks.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (10):
winetest: Fix the path to the ntoskrnl.exe/tests source.
kernel32/tests: Add a trailing linefeed to an ok() message.
msxml3: Refcount the domdoc/xmldoc properties.
ucrtbase/tests: Add a trailing linefeed to an ok() message.
ntdll/tests: Fix the speilling of an ok() message.
msvcp140_1/tests: Fix the spelling of test_get_set_default_resource().
mfplat: Fix the spelling of a comment.
wined3d: Add a trailing linefeed to a couple of FIXME().
urlmon/tests: Check that .Net is present in the user-agent string.
user32/tests: Remove the Cygwin/XFree86 checks.
Georg Lehmann (1):
winevulkan: Override VK_USE_64_BIT_PTR_DEFINES instead of handle definition.
Gijs Vermeulen (1):
msvcirt: No longer prefer native.
Giovanni Mascellani (4):
advapi32/tests: Check that registry time zone records have a display name.
kernel32/tests: Test for quirks in a few different time zones.
mfreadwrite/tests: Test setting a non-native bit depth on the reader.
mfreadwrite: Accept new media type only when format data are equal.
Hans Leidekker (19):
msv1_0: New dll.
msv1_0: Initial implementation of the LSA and user mode interfaces.
msv1_0: Add a Unix library to support ntlm_auth.
msv1_0: Implement SpAcquireCredentialsHandle and SpFreeCredentialsHandle.
msv1_0: Implement SpInitLsaModeContext and SpDeleteContext.
msv1_0: Use RtlAllocateHeap to allocate output buffers.
msv1_0: Implement SpAcceptLsaModeContext.
msv1_0: Implement SpQueryContextAttributes.
msv1_0: Implement SpMakeSignature.
msv1_0: Implement SpVerifySignature.
msv1_0: Implement SpSealMessage and SpUnsealMessage.
secur32: Load the MSV1_0 provider instead of using builtin support for NTLM.
secur32: Get rid of builtin NTLM support.
secur32: Use a reserved flag for the cached credentials hack.
secur32: Use a pthread mutex in the macOS backend.
secur32: Move Schannel support to a Unix library.
secur32: Build with msvcrt.
secur32: Use wide character string literals.
secur32: Use CRT memory allocators.
Henri Verbeet (17):
wined3d: Correct the wined3d_device_set_blend_state() .spec entry.
wined3d: Correct the wined3d_device_set_depth_stencil_state() .spec entry.
ntdll: Clear ret->Buffer on failure in get_env_var() (Valgrind).
explorer: Initialise window->pidl to NULL in shellwindows_Register().
wined3d: Avoid accessing the bo_user list from outside the command stream thread (Valgrind).
wined3d: Free the program variants array in shader_spirv_destroy() (Valgrind).
d3d11/tests: Initialise "constant" in test_device_context_state() (Valgrind).
wined3d: Only read "*rect_count" when "rects" is non-NULL in wined3d_device_context_get_scissor_rects() (Valgrind).
dxgi/tests: Test that we don't use objects returned by wrapped interfaces internally.
dxgi: Store an IWineDXGIFactory pointer in struct d3d11_swapchain.
dxgi: Pass an IWineDXGIFactory pointer to dxgi_get_output_from_window().
wined3d: Implement Vulkan NULL 1D array image shader resource view descriptors.
d3d11/tests: Add some tests for copying between depth/stencil and colour formats.
d3d10core/tests: Add some tests for copying between depth/stencil and colour formats.
wined3d: Reject blits between depth/stencil and colour resources in the raw blitter.
wined3d: Reject blits between depth/stencil and colour attachments in the FBO blitter.
wined3d: Reject raw blits between depth/stencil and colour resources in the GLSL blitter.
Hugh McMaster (22):
reg: Consistently use 'hkey' for HKEY variables.
reg: Do not print a line break after querying a registry key.
reg: Only print the name of the registry key if it contains values or we are recursing.
reg: Print a new line when recursing and the current key has no registry values.
reg: Don't enumerate a registry key for subkeys if we know the key does not have subkeys.
reg/tests: Rework syntax tests for the 'copy' operation.
reg/tests: Verify that only the (Default) value is overwritten when neither /v nor /ve is specified.
reg: Use correct error message if RegCreateKeyExW() fails.
reg/tests: Add and amend tests adding a (Default) value.
reg/tests: Use string literals instead of a char buffer for REG_MULTI_SZ tests.
reg/tests: Split the REG_DWORD_BIG_ENDIAN tests from the REG_DWORD tests.
reg/tests: Fix a typo in a REG_DWORD test.
reg/tests: Add two REG_DWORD tests.
reg/tests: Update error messages.
reg: Replace the 'reg_count' variable name with context-specific names.
reg: Add or modify the (Default) registry value if [/v] is not specified.
reg: Fail if access is denied when adding registry data.
reg: Only prompt the user to overwrite registry data if the given key already exists and [/f] is not supplied.
comctl32/listview: Initialize marqueeRect from left-click coordinates before starting a marquee highlight.
reg: Allow the 'reg_data' pointer to be NULL.
reg: Avoid allocating zero bytes of memory when handling REG_BINARY data.
reg: Prevent buffer over-read when querying REG_NONE values with no data.
Jacek Caban (13):
jscript: Add Map object stub implementation.
jscript: Add Map.prototype.set implementation.
jscript: Add Map.prototype.get implementation.
jscript: Add Map.prototype.clear implementation.
jscript: Add Map.prototype.delete implementation.
jscript: Add Map.prototype.has implementation.
jscript: Add Map.size property implementation.
jscript: Add Map.prototype.forEach implementation.
mshtml/tests: Add Map object tests.
winevulkan: Don't use wine_ prefix on PE side.
winevulkan: Use wine_ prefix for Unix thunks.
ntdll: Inherit tty std input and output in processes attached to Unix console.
kernel32/tests: Add syscall context handling tests.
Jan Sikorski (6):
wined3d: Create null vertex bindings and attributes for unbound shader inputs.
d3d11/tests: Add a test for unbound input streams.
d3d10core/tests: Add a test for unbound input streams.
wined3d: Make sure scissor offsets are not negative.
d3d11/tests: Test combined scissors and viewport with negative offsets.
d3d10core/tests: Test combined scissors and viewport with negative offsets.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (1):
ntdll: Stub RtlQueryProcessPlaceholderCompatibilityMode().
Nikolay Sivov (14):
shcore/stream: Implement generic CopyTo().
mf/evr: Return current device manager as a service.
mf/evr: Handle mixer sample requests during sink state transitions.
mf/evr: Add IMFRateSupport stub.
mf/evr: Add slowest/fastest rate support methods.
gdi32: Enumerate scalable fonts with zero charset mask as OEM.
mfplat: Add MFllMulDiv().
mfplat: Implement shared device manager API.
mfplat: Trace I8 propvariant values.
mf/evr: Pass stream start/end messages to the mixer.
mf/evr: Post sink marker events.
evr/mixer: Use hex format for message type.
mfplat: Added MFCreateAudioMediaType().
mf/evr: Implement Flush() for streams.
Paul Gofman (10):
kernel32: Do not impose 32 bit limits on Win64 in GlobalMemoryStatus().
kernel32: Add stub for SetThreadSelectedCpuSets().
ntdll: Implement NtGetNextThread().
kernel32/tests: Fix test_GlobalMemoryStatus() for Win up to 8.1 and RAM size above 4GB.
winex11.drv: Handle Vulkan surface creation with NULL hwnd.
gamingtcui: Add dll.
gamingtcui: Add stub for ProcessPendingGameUI().
gamingtcui: Add stub for ShowPlayerPickerUI().
gamingtcui: Add stub for ShowProfileCardUI().
vulkan-1/tests: Consider vkGetPhysicalDevicePresentRectanglesKHR absence in test_null_hwnd().
Piotr Caban (20):
msvcrt: Fix typo in asin error handling.
msvcrt: Import j0 implementation from musl.
msvcrt: Import y0 implementation from musl.
msvcrt: Import j1 implementation from musl.
msvcrt: Import y1 implementation from musl.
msvcrt: Import jn implementation from musl.
msvcrt: Import yn implementation from musl.
msvcrt: Import roundf implementation from musl.
msvcrt: Import llroundf implementation from musl.
msvcrt: Import llround implementation from musl.
msvcrt: Import lroundf implementation from musl.
msvcrt: Import lround implementation from musl.
msvcrt: Import round implementation from musl.
msvcrt/tests: Link to malloc/free functions in cpp tests.
msvcrt/tests: Remove old versions workarounds from RTTI tests.
msvcrt/tests: Remove strcmp_space helper.
msvcrt/tests: Cleanup datatype demangle tests.
msvcrt: Fix _unDName crash when demangling class function pointer.
msvcrt: Fix round implementation when 24-bit precision is used.
api-ms-win-core-console-l1-2-0: Add dll.
Qian Hong (1):
atl: Implement AtlAxDialogBox().
Rémi Bernon (39):
mscoree: Initialize parsed_config_file private_path.
user32/tests: Add more GetKeyboardLayout(Name) tests.
user32: Move ToUnicodeEx from wineandroid.drv to user32.
user32: Don't translate control codes when alt is pressed.
user32: Translate missing vkeys in ToUnicodeEx.
ntdll/tests: Remove Qpc(Interrupt|System)TimeIncrement(Shift) checks.
user32: Add a default MapVirtualKeyEx implementation.
user32: Add a default GetKeyNameTextW implementation.
user32: Add a default VkKeyScanEx implementation.
user32: Move GetKeyboardLayoutList from nulldrv.
user32: Read "Layout Id" from registry in GetKeyboardLayoutList.
user32: Add a default ActivateKeyboardLayout implementation.
user32: Factor unsupported cases into ActivateKeyboardLayout.
user32: Add a default GetKeyboardLayout implementation.
hidclass.sys: Assign rawinput handles through device properties.
user32: Read rawinput device handles assigned by hidclass.sys.
user32: Use rawinput device handles to identify devices.
user32: Remove hardcoded devices from GetRawInputDeviceList.
user32: Always refresh rawinput device list when requested.
user32: Free rawinput device preparsed data for mouse and keyboard.
user32: Set last error codes on GetRawInputDeviceInfoW failure.
user32: Remove unnecessary MOUSE / KEYBOARD special cases.
user32: Refactor and simplify GetRawInputDeviceInfoW cases.
hidclass.sys: Call IoInvalidateDeviceRelations before IoSetDevicePropertyData.
user32: Add current keyboard layout to thread data.
winemac.drv: Call ActivateKeyboardLayout when layout changes.
user32: Factor ActivateKeyboardLayout previous layout logic.
user32: Factor GetKeyboardLayout and remove driver call.
user32: Factor GetKeyboardLayoutNameW implementations.
user32: Read "Layout Id" from registry in GetKeyboardLayoutNameW.
user32: Set keyboard layout preload key on init.
user32: Adjust ToUnicodeEx control code translation.
user32: Return success in nulldrv cursor callbacks.
ntdll/tests: Check that creating huge thread stacks works.
user32/tests: Add tests for keyboard layout preload list.
user32: Cache current keyboard layout name.
user32: Move (Un)LoadKeyboardLayoutW from winex11.drv to user32.
user32: Implement KLF_ACTIVATE flag in LoadKeyboardLayoutW.
user32: Read "Layout Id" from registry in LoadKeyboardLayoutW.
Serge Gautherie (1):
winbase.h: Add CREATE_IGNORE_SYSTEM_DEFAULT.
Sven Baars (6):
windows.globalization: Fix an incorrect sizeof (Coverity).
aclui: Fix a leak on error path (Coverity).
dwrite: Fix some memory leaks (Coverity).
ddraw/tests: Move a misplaced assignment (Coverity).
ntdll: Fix some memory leaks (Valgrind).
ntdll/tests: Use FindClose() to close handles returned by FindFirstFileW() (Valgrind).
Zebediah Figura (57):
include: Do not include winsock.h in winsock2.h.
include: Define _WINSOCKAPI_ in winsock2.h.
include: Properly define struct sockaddr_ipx when not using the WS_ prefix.
rpcrt4: Avoid gai_strerror().
include: Forbid using unsuffixed gai_strerror() in the Wine source.
ws2_32/tests: Move address lookup tests to protocol.c.
ws2_32/tests: Move host lookup tests to protocol.c.
ws2_32/tests: Move service lookup tests to protocol.c.
ws2_32/tests: Move address/string conversion tests to protocol.c.
ws2_32/tests: Move namespace provider tests to protocol.c.
ws2_32/tests: Add some tests for bind().
ws2_32/tests: Rewrite test_events().
ws2_32/tests: Add some tests for calling methods on a connecting socket.
ws2_32: Do not free a static critical section.
ws2_32: Don't call free_per_thread_data() on process exit.
ntoskrnl/tests: Open the HID device with FILE_SHARE_READ | FILE_SHARE_WRITE.
ws2_32: Move getaddrinfo() and related functions to a separate file.
ws2_32: Move host lookup functions to protocol.c.
ws2_32: Move name info functions to protocol.c.
ws2_32: Move protocol lookup functions to protocol.c.
ws2_32: Move service lookup functions to protocol.c.
d3d8/tests: Port test_sample_mask() from d3d9.
ws2_32: Move address/string conversion functions to protocol.c.
ws2_32: Move byte order conversion functions to protocol.c.
ws2_32: Move namespace provider stubs to protocol.c.
ntdll: Quiet the FIXME for unmapped NTSTATUS values.
ws2_32/tests: Add some tests for WSAGetOverlappedResult() status mapping.
include: Factor out winetest_printf().
include: Introduce winetest_push_context() and winetest_pop_context().
ws2_32: Map EWOULDBLOCK to STATUS_DEVICE_NOT_READY.
server: Return a proper NTSTATUS from IOCTL_AFD_ACCEPT.
server: Return a proper NTSTATUS from IOCTL_AFD_ADDRESS_LIST_CHANGE.
ws2_32: Map EADDRINUSE to STATUS_SHARING_VIOLATION.
server: Map EADDRINUSE to STATUS_SHARING_VIOLATION.
d3d11: Turn MultisampleEnable into a stub.
wined3d: No longer export wined3d_device_set_render_state().
ws2_32: Map ENOTCONN to STATUS_INVALID_CONNECTION.
server: Map ENOTCONN to STATUS_INVALID_CONNECTION.
ws2_32: Map EFAULT to STATUS_ACCESS_VIOLATION.
server: Map EFAULT to STATUS_ACCESS_VIOLATION.
ws2_32: Map EINPROGRESS to STATUS_DEVICE_NOT_READY.
server: Map EINPROGRESS to STATUS_DEVICE_NOT_READY.
msi/tests: Pass an empty string to check_reg_str() instead of special-casing NULL.
msi: Write "Clients" value as REG_MULTI_SZ in PublishProduct.
msi/tests: Always explicitly test REG_MULTI_SZ strings.
msi/tests: Make check_reg_* helpers more verbose.
msi: Check for a NULL return from deformat_string() when checking for failure.
wined3d: Acquire resources through wined3d_device_context_ops.
wined3d: Wait for the resource to become idle in wined3d_cs_map().
wined3d: Modify the query state in wined3d_cs_issue_query().
wined3d: Update resources through wined3d_device_context_ops.
d3d11/tests: Test implicit unbinding of an SRV when using the same resource as RTV in a deferred context.
ws2_32: Add more status codes to NtStatusToWSAError().
ws2_32: Use NtStatusToWSAError() in WSAGetOverlappedResult().
ws2_32: Return TRUE from WSAGetOverlappedResult() if the NT status denotes success.
ws2_32/tests: Always return overlapped sockets from tcp_socketpair().
ws2_32/tests: Add some tests for nonblocking async recv().
Zhiyi Zhang (8):
comctl32/tests: Test that WM_THEMECHANGED should invalidate client area.
comctl32: Repaint after the WM_THEMECHANGED message is received.
comctl32/theming: Register themed dialog and scrollbar even when theming is not active.
comctl32/test: Test that WM_SYSCOLORCHANGE should always be passed to the dialog procedure.
comctl32/theme_dialog: Pass the WM_SYSCOLORCHANGE message to the original dialog procedure.
gdi32: Fix typos for GET_DC_PHYSDEV.
bcrypt: Fix a compiler warning on Mac.
dxgi: Introduce a helper to convert between dxgi and wined3d display rotation types.
Ziqing Hui (6):
windowscodecs: Add stub for DdsFrameEncode.
user32/tests: Add tests for maximizing and restoring windows without WS_CAPTION.
winex11.drv: Correct a full screen condition.
windowscodecs: Add tests for DDS encoder.
windowscodecs: Add test data index to win_skip messages for DDS tests.
windowscodecs: Implement DdsEncoder_Initialize.
Łukasz Wojniłowicz (1):
po: Update Polish translation.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.7 is now available.
What's new in this release (see below for details):
- NetApi32, WLDAP32, and Kerberos libraries converted to PE.
- More Media Foundation work.
- ES6 JavaScript mode.
- Improved WOW64 file system redirection.
- More Plug & Play driver support.
- Keyboard raw input device.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.7.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.7.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.7 (total 44):
12076 Multiple applications refuse to install unless '%SystemRoot%\System32\Drivers\Etc\{services,host}' exist (Informix Database apps, Autodesk 3ds Max 9, SAP GUI)
12457 Multiple apps crash with NotImplementedException at IWebBrowser2.get_LocationName() (SharpDevelop 2.2, Clarion Enterprise Edition 9.0.10376)
17823 Multiple application license/DRM schemes require non-zero volume/fs serial for drive "c:" (Rhino 4.0 trial installer, HyperChem 8.0.x, Solid Framework .NET libraries)
25265 Foobar2000 does not automatically update media library (folder watch does not work)
28995 Avid VENUE software fails to start (unable to use named pipes with ">" character in the name)
32548 CS:GO error message when launching csgo.exe.
34398 Daedalic games don't display anything with winemac.drv (glu32 is tied to X11)
38572 NHL09 Crashing when loading game after selecting all options in game menus
40567 Foobar2000 1.x doesn't run or takes too long to open
41468 Supreme Commander Forged Alliance needs CLSID '{343e68e6-8f82-4a8d-a2da-6e9a944b378c}' xactengine2_9.dll
42775 Page fault in ole32.PropertyStorage_ReadFromStream() while running mwt.exe /regserver (part of PR1750-60-R5 installation)
44691 EA Origin installer fails with "error 3:0" (security descriptor translated to 555 access on install directory)
44755 reg.exe does not recognize '/reg:32' and '/reg:64' switches passed via the command line
45615 Rekordbox 5.3.0 terminates with the message "Unexpected application error" when playing an audio file
46309 Winamp with Classic Skin "jumps randomly" when moved
48486 cmd WCMD_ReadAndParseLine contains non-null terminated strings, causing garbage output in trace logs
49277 Always false condition in dispex.c
49286 Melodyne 5 installs but crashes when launched (needs ws2_32.dll.GetHostNameW)
49671 Supreme Commander demo needs CLSID {bc3e0fc6-2e0d-4c45-bc61-d9c328319bd8} xactengine2_4.dll
50275 Copy paste bug in conhost/window.c
50318 'HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath' registry entry has non-standard value
50415 MPC-HC 1.7.13 crashes when playing video (needs the EVR filter to support IEVRFilterConfig)
50628 Fairy Tale About Father Frost, Ivan and Nastya crashes on DDERR_SURFACE_LOST
50733 MUSICUS!: ending videos play are extremely choppy
50791 NtQueryObject( ..., ObjectBasicInformation, NULL, 0, &retLen) returns incorrect NTSTATUS error code and no buffer size (EditSection, Google sandbox-attacksurface-analysis-tools v1.1.x)
50801 Wine Mono crashes on macOS
50829 Process Hacker 2.38 crashes on unimplemented function dbghelp.dll.SymFromNameW
50892 WINE 6.3: opentrack-wrapper-wine segfaults with message "Got unexpected trap 14 during process initialization".
50894 Wine does not recognize C:\windows\sysnative\
50898 Improve performance for RGB lookups into color tables conversion
50899 WeChat crashes with Wine 6.5
50925 Error fetching public key in GetRSAKeyFromCert - File not found
50946 BioShock Remastered crashes after choosing difficulty
50952 Legends of Runeterra crashes at launch
50956 Cannot disable winemenubuilder.exe by DLL override
50960 NETCoreCheck from .NET Deployment Tools crashes on unimplemented function api-ms-win-crt-stdio-l1-1-0.dll.__stdio_common_vfwprintf_p
50967 sc.exe doesn't understand the start command and other parameters
50978 Multiple applications fail to load due to unhandled "loadFrom" field in assembly <file> element (Adobe DNG Converter 13.2, MikroTik WinBox, SimSig, Windows System Control Center)
50979 Regression: Wine doesn't run executables in unix path
50996 GCC11 & wineg++ regression: missing /usr/include path
51006 Running 32-bit wineboot to create a new 64-bit WINEPREFIX results in a wineboot fork bomb with Wine 6.6-149-g39263558a20
51008 LDPlayer 4.0.x (Android Emulator) crashes on unimplemented function user32.dll.SetProcessDpiAwarenessInternal
51018 Binaries compiled with an older winegcc won't run on >=v6.5
51035 Alacritty v0.7.2 portable crashes: SetEnvironmentVariable ("some_non-existant_var", NULL) should return TRUE
----------------------------------------------------------------
Changes since 6.6:
Alexandre Julliard (41):
wine.inf: Also install start.exe in syswow64.
ntdll: Take loadorder into account also for a main exe in .so format.
ntdll: Cleanup the path with collapse_path() in unix_to_nt_file_name().
ntdll: Initialize version and session id on the Unix side.
ntdll: Reuse the Unix name buffer for get_dos_device().
ntdll: Reject NT path names that are not in canonical form.
winedbg: Use QueryFullProcessImageNameW to retrieve the main image name.
winedbg: Use GetMappedFileNameW() as fallback when fetching module names.
include: Update PROCESS_BASIC_INFORMATION definition.
ntdll: Allow a second backslash after the drive letter.
ntdll: Move nt_to_unix_file_name_attr() to avoid forward declarations.
ntdll: Always pass object attributes to nt_to_unix_file_name().
ws2_32: Install network database files.
wine.inf: Fix the Tcpip database path.
ntdll: Move create_startup_info() to env.c.
ntdll: Reimplement file system redirection using NT pathname comparisons.
ntdll: Get rid of the rebuild_nt_name() helper.
ntdll/tests: Add some file system redirection tests.
uninstaller: Restart 64-bit version from the system32 directory.
wineboot: Restart 64-bit version from the system32 directory.
winecfg: Restart 64-bit version from the system32 directory.
winedbg: Restart 64-bit version from the system32 directory.
wusa: Restart 64-bit version from the system32 directory.
wine.inf: Don't install 64-bit only programs in syswow64.
server: Pass the NT process flags to the new_process request.
netapi32: Fix build when libnetapi is missing.
ntdll: Support MaxVersionTested in the manifest compatibility element.
ntdll: Parse the loadFrom attribute in manifest dll elements.
ntdll: Use the loadFrom directory to load dlls from the activation context.
ntdll: Don't bother setting the preloader range for fake dlls.
ntdll: Load libwine before the main image.
ntdll: Support a full path name in the loadFrom dll redirection entry.
ntdll: Fix buffer allocation size in get_env_var().
kernelbase: Fix buffer size passed to read_nt_symlink().
ntdll: Remove no longer used defines from the makefile.
configure: Stop building libwine on Android.
server: Get rid of the remaining PowerPC support.
server: Return a list of supported machines instead of a CPU bitmask.
server: Return the process machine from the main exe instead of a CPU flag.
ntdll: Implement NtQuerySystemInformationEx(SystemSupportedProcessorArchitectures).
ntdll: Make sure that the virtual heap doesn't overlap the preloader range.
Alistair Leslie-Hughes (1):
xactengine: Use nameless unions.
Andrew Eikum (5):
windows.media.devices: Stub DLL.
windows.media.devices: Stub implement IMediaDeviceStatics.
mmdevapi: Support device ID paths in ActivateAudioInterfaceAsync.
windows.media.devices: Implement IMediaDeviceStatics::GetDefaultAudio{Capture,Render}Id.
windows.media.devices: Stub DefaultAudio{Capture,Render}DeviceChanged events.
Andrew Sheldon (1):
wined3d: Add GPU information for Radeon RX 6800(XT) / 6900 XT.
Andrey Gusev (5):
make_specfiles: Add a few api-ms-win-core-* to kernel32 group.
wldap32: Remove redundant 'break' statement.
dmime: Fix misplaced parentheses.
make_specfiles: Add api-ms-win-core-winrt-error-l1-1-* to combase group.
iphlpapi: Fix misplaced parentheses.
Andrey Turkin (1):
ieframe: Implement IWebBrowser2::get_LocationName().
Anton Baskanov (12):
amstream/tests: Add more tests for IMediaStreamFilter::EndOfStream.
quartz: Use a separate critical section for events.
amstream: Implement MediaStreamFilter::EndOfStream.
winegstreamer: Add missing RGB16 format to wg_video_format_from_gst.
amstream/tests: Test that streams call IMediaStreamFilter::EndOfStream.
amstream: Call IMediaStreamFilter::EndOfStream when streams receive EOS.
amstream/tests: Test that streams call IMediaStreamFilter::Flush in IPin::BeginFlush.
amstream: Call IMediaStreamFilter::Flush in IPin::BeginFlush.
amstream/tests: Add tests for AMMultiMediaStream::GetEndOfStreamEventHandle.
amstream: Implement AMMultiMediaStream::GetEndOfStreamEventHandle.
amstream/tests: Add a test for event parameter of IDirectDrawStreamSample::Update.
amstream: Support the event parameter in IDirectDrawStreamSample::Update.
Arkadiusz Hiler (2):
setupapi: Demote ERR on opening driver key to a TRACE.
kernel32: Update version to Win 10.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Connor McAdams (7):
mfplat: Add corresponding 'IYUV' type alongside 'I420'.
mfplat: Add support for AudioFormat_Float in MFCreateWaveFormatExFromMFMediaType.
mfplat: Add MFCreateWaveFormatExFromMFMediaType AudioFormat_Float test.
mfplat: Free video_format pointer on final MediaType Release.
mfplat: Implement GetAudioFormat method for IMFAudioMediaType interface.
winex11.drv: Add mutable pixel format awareness.
include: Don't pack XACT_RUNTIME_PARAMETERS structure.
Damjan Jovanovic (1):
comctl32: Send DTN_DATETIMECHANGE when the checkbox changes too.
David Torok (1):
ntdll: Add NtCreateThread stub.
Dmitry Timoshkov (7):
crypt32: Implement CryptImportPublicKeyInfoEx2.
crypt32: Add support for importing RSA public keys with BCrypt.
crypt32/tests: Add a test to verify certificate signature.
crypt32/tests: Link to CryptAcquireContext directly.
crypt32/tests: Link to BCryptDestroyKey directly.
crypt32/tests: Remove Win9x checks.
msxml3: Don't unlink the XML declaration when saving document.
Esme Povirk (1):
kernel32: Add stub for GetMaximumProcessorGroupCount.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (6):
winetest: Trace skipped dlls when in exclude (-n) mode.
ws2_32/tests: Load GetHostNameW() dynamically.
windows.globalization/tests: PRoActivateInstance() is unused. Remove it.
windows.globalization/tests: Load GetUserDefaultGeoName() dynamically.
windows.globalization/tests: Fix the GetUserDefaultGeoName() test on Win10 1709.
mfplat/tests: Fix an event queue refcounting test on Vista.
Gabriel Ivăncescu (5):
gdi32: Move the loop through each clipped rectangle to the primitive blend funcs.
gdi32: Use a lazy-init lookup cache when converting RGB values to colour table indices.
kernel32/tests: Test renaming a file/directory to a different casing of itself or existing target.
kernel32/tests: Test hard linking a file to a different casing of itself.
ntdll/tests: Test hard linking a file to a different casing of itself or existing target.
Georg Lehmann (2):
winevulkan: Simplify thunk declaration.
winevulkan: Fix queue creation with mixed queue flags.
Gijs Vermeulen (7):
jscript: Remove unreachable statement in disp_call_value().
rasapi32: Update spec file.
cmd: Use terminated strings.
ntdll: Return STATUS_INFO_LENGTH_MISMATCH when len is too small in NtQueryObject(ObjectBasicInformation).
ntdll/tests: Refactor RtlSetEnvironmentVariable() tests.
ntdll: Don't fail when trying to remove the value of a non-existant variable in RtlSetEnvironmentVariable().
dbghelp: Implement SymFromNameW().
Hans Leidekker (41):
ws2_32: Implement GetHostNameW.
wldap32: Move support for add functions to a new Unix library.
wldap32: Move support for ber functions to the Unix library.
wldap32: Move support for bind functions to the Unix library.
wldap32: Move support for compare functions to the Unix library.
wldap32: Move support for control functions to the Unix library.
wldap32: Move support for delete functions to the Unix library.
wldap32: Move support for error functions to the Unix library.
wldap32: Move support for search functions to the Unix library.
wldap32: Move support for dn functions to the Unix library.
wldap32: Move support for extended functions to the Unix library.
wldap32: Move support for init functions to the Unix library.
wldap32: Move support for modify functions to the Unix library.
wldap32: Move support for modrdn functions to the Unix library.
wldap32: Move support for option functions to the Unix library.
wldap32: Move support for page functions to the Unix library.
wldap32: Move support for parse functions to the Unix library.
wldap32: Move support for rename functions to the Unix library.
wldap32: Don't depend on libldap for the value functions.
wldap32: Get rid of wldap32.h.
wldap32: Build with msvcrt.
wldap32: Use CRT memory allocators.
wldap32: Use wide character string literals.
wldap32: Get rid of the WLDAP32_ prefix.
wldap32: Fix parsing page controls.
wldap32: Avoid a crash with tracing on.
kerberos: Move support for SpAcquireCredentialsHandle/SpFreeCredentialsHandle to a new Unix library.
kerberos: Move support for SpInitLsaModeContext/SpDeleteContext to the Unix library.
kerberos: Move support for SpAcceptLsaModeContext to the Unix library.
kerberos: Move support for SpMakeSignature to the Unix library.
kerberos: Move support for SpVerifySignature to the Unix library.
bcrypt: Decryption with asymmetric keys is supported.
bcrypt: Pass output length as a separate parameter to key_asymmetric_decrypt.
kerberos: Move support for SpQueryContextAttributes to the Unix library.
kerberos: Move support for SpSealMessage to the Unix library.
kerberos: Move support for SpUnsealMessage to the Unix library.
kerberos: Move support for KerbQueryTicketCacheMessage to the Unix library.
kerberos: Build with msvcrt.
kerberos: Use wide character string literals.
kerberos: Use CRT memory allocators.
secur32/tests: Add a Kerberos ticket cache test.
Henri Verbeet (2):
wined3d: Make some functions static.
wined3d: Use wglSetPixelFormatWINE() in wined3d_context_gl_set_pixel_format() if we can.
Hugh McMaster (15):
po: Remove duplicate line in Dutch translation.
reg/tests: Reorder failing 'query' tests.
reg/tests: Give 'query' tests some structure.
reg/tests: Compare 'query'test output with expected output.
reg/tests: Compare output of some 'query' recursion tests.
reg/tests: Test output of keys with a trailing backslash.
reg/tests: Refactor 'add' tests into registry types, keys and syntax checks.
reg/tests: Only pass a newly created HKEY if it is used in later tests.
reg/tests: Test key creation and initialization of the Default registry value.
reg/tests: Only try querying an invalid key once.
reg/tests: Use 'hkey' in 'query' tests for consistency with other reg.exe tests.
reg/tests: Add tests for querying a key only containing subkeys.
reg: Drop key output from the "Invalid system key" error message.
reg: Fail if a system key has a trailing backslash but no subkey path.
reg: Print the full key path without a trailing backslash.
Huw D. M. Davies (1):
wldap32: Remove unnecessary test of sortkey.
Jacek Caban (38):
jscript: Support passing EXPRVAL_JSVAL through JS stack.
jscript: Ignore an attempt to set visible host object identifier's value in ES5 mode.
jscript: Add function name to its scope chain in ES5 mode.
winevulkan: Use standard CRT memory allocators.
winevulkan: Use pthread_rwlock_t in VkInstance_T.
winevulkan: Move registration functions to new loader.c file.
winevulkan: Move ICD functions to loader.c.
winevulkan: Remove native_vkGetInstanceProcAddrWINE.
winevulkan: Move fill_luid_property and its callers to loader.c.
winevulkan: Move wine_vk_init to loader.c.
mshtml: Fix DISPID_IE8_ELEMENTMAX define.
winevulkan: Introduce unix_funcs struct.
winevulkan: Implement Vulkan entry points as wrappers around unix_funcs.
winevulkan: Don't use heap.h.
winevulkan: Move Vulkan calls to Unix lib.
winevulkan: Don't use vulkan_private.h in loader_thunks.c.
winevulkan: Don't use vulkan_private.h in loader.c.
winevulkan: Build with msvcrt.
winevulkan: Use wide string literals.
jscript: Use enum to pass enumeration type to jsdisp_next_prop.
jscript: Add Object.getOwnPropertyNames implementation.
jscript: Pass container object and property name to stringify.
jscript: Support replacer argument in JSON.stringify.
mshtml/tests: Allow running external script tests.
jscript: Introduce INVALID_LOCAL_REF.
jscript: Don't expose named functions in expressions as a local variable in ES5 mode.
mshtml: Return null from IHTMLStorage::getItem stub.
mshtml: Introduce ES6 JavaScript mode and use it in IE11 compat mode.
jscript: Add Set object stub implementation.
mshtml: Add IDOMEvent::isTrusted implementation.
mshtml: Introduce timer_type enum.
mshtml: Factor out get_time_stamp helper.
mshtml: Add window.requestAnimationFrame semi-stub implementation.
winegcc: Use -idirafter for system include paths.
mshtml: Use Gecko attributes for non-HTML elements IHTMLElement::title implementation.
mshtml: Add IHTMLElement6::hasAttribute implementation.
mshtml: Reimplement IHTMLElement3::disabled property on top of Gecko attributes.
mshtml: Use Gecko attributes for getAttribute, setAttribute and removeAttribute implementation in IE8+ mode.
Jan Sikorski (3):
wined3d: Handle typeless resolve in the Vulkan blitter.
wined3d: Handle typeless resolve in the FBO blitter.
wined3d: Prevent buildup of retired buffer objects' memory.
Julian Rüger (1):
po: Update German translation.
Liam Middlebrook (3):
winevulkan: Ignore Zircon handle type.
winevulkan: Explicitly define VK_NULL_HANDLE.
winevulkan: Update to VK spec version 1.2.176.
Michael Stefaniuc (1):
mfplat/tests: Test the correct variable.
Michele Dionisio (1):
msvcrt: Add __stdio_common_vfprintf_p and __stdio_common_vfwprintf_p.
Nikolay Sivov (52):
sc: Fix typos in CLI arguments parsing.
include: Remove duplicated ComboEx item mask flags.
comctl32/tests: Enable some ComboEx tests on version 6.
comctl32/tests: Add some tests for ComboEx callback functionality.
comctl32/tests: Remove unnecessary macro.
mf/topology: Copy input topology attributes on Load().
mf/tests: Add some SAR supported interfaces checks.
mf/session: Handle shutdown state on GetService().
mf/session: Forward MEReconnect* events to the application.
mf/session: Forward more events to the application.
mf/tests: Fix mediatype instance leak (Coverity).
setupapi: Fix use after free in trace message (Coverity).
mfreadwrite/reader: Add missing allocation check (Coverity).
mfplay: Partially implement SetMediaItem().
mfplay: Set media item pointer for state change events.
mfplay: Rework session event handler.
mfplay: Handle shutdown state in CreateMediaItemFromURL().
mfplay: Handle shutdown state on GetMediaItem().
mfplay: Fix a leak on error path in synchronous CreateMediaItemFromURL() (Coverity).
mfplay: Implement MFP_EVENT_TYPE_MF event.
d2d1: Remove unnecessary return statements.
mfplat: Use RTWQ* type in BeginGetEvent().
mfplat: Release queue subscriber on queue release.
dwrite/tests: Add glyph origin tests for sideways mode.
mfplay: Raise MFP_EVENT_TYPE_ERROR events on pipeline errors.
mfplay: Implement CreateMediaItemFromObject().
evr/presenter: Add IMFQualityAdviseLimits stub.
evr/presenter: Set vertex processing flag for created d3d9 device.
mf/evr: Reinitialize presenter on clock change.
mf/evr: Return current clock for MR_VIDEO_RENDER_SERVICE requests.
mf/evr: Set initial output window size for the presenter.
evr/presenter: Set MF_MT_MINIMUM_DISPLAY_APERTURE when configuring mixer output.
evr/presenter: Set sample size attributes when configuring mixer output.
evr/presenter: Fix sample queue loop present condition.
evr/presenter: Add missing allocation error path.
mf/tests: Add some tests for EVR sink services.
include: Add mfplay event macros.
mfplay: Implement MFP_EVENT_TYPE_PLAYBACK_ENDED event.
mfplay: Implement SetStreamSink().
mfplay: Handle user sinks.
mfplay: Create video output branches.
mfplay: Implement HasVideo()/HasAudio().
mfplay: Forward GetNativeVideoSize() to the session.
mfplay: Implement source rectangle methods.
mfplay: Implement aspect ratio control methods.
mfplay: Implement border color control methods.
mfplay: Implement GetNativeVideoSize().
rtworkq: Use CRT allocation functions.
include: Add DIRID_DRIVER_STORE.
mfplat: Remove some unnecessary pointer casts.
mfplat: Reduce duplication in MFCreateMFVideoFormatFromMFMediaType() for ratio attributes.
evr/tests: Simplify d3d9 device creation helper.
Paul Gofman (8):
kernel32: Implement PackageIdFromFullName().
ntdll: Remove wait timeout in get_thread_context().
kernel32: Implement VirtualAllocFromApp().
xmllite: Avoid out of bounds access in readerinput_get_utf8_convlen().
ntdll: Release IO thread pool object from ioqueue_thread_proc().
bcrypt: Synchronize symmetric key access for encrypt and decrypt.
bcrypt/tests: Add test for key parallel usage.
mmdevapi: Return success from SAORS_GetAvailableDynamicObjectCount().
Piotr Caban (6):
winemac.drv: Don't filter non active displays out.
winemac.drv: Take all online monitors into account when computing desktop rect.
winemac.drv: Fix setting DISPLAY_DEVICE_ATTACHED_TO_DESKTOP flag on adapters.
crypt32/tests: Fix tests on systems where google chain root is not trusted.
crypt32/tests: Fix tests skipped on all test bot machines.
crypt32: Handle CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG when verifying chain policy.
Rémi Bernon (19):
mfplat: Read queue subscriber within the critical section.
mfplat: Release queue subscriber on Shutdown.
user32/tests: Add more SendInput tests.
user32: Implement SendInput INPUT_HARDWARE check.
user32: Add RAWINPUT parameter to __wine_send_input.
hidclass.sys: Assign rawinput device handle in HID_LinkDevice.
user32: Remove unnecessary device path memory allocation.
user32: Use malloc/realloc/free instead of heap_* helpers.
user32: Free rawinput devices preparsed data on reset.
user32: Use wcslen instead of lstrlenW.
user32: Remove unused heap_strdupW helper.
ntdll/tests: Add committed / reserved thread stack sizes tests.
ntdll: Clear the first ~1MB of stack in signal_start_thread.
server: Track desktop users per thread instead of per process.
ntdll: Make sure unix_name is zero terminated (valgrind).
winebus.sys: Create stub Wine HID keyboard device.
include: Add GUID_DEVINTERFACE_KEYBOARD to ntddkbd.h.
hidclass.sys: Register GUID_DEVINTERFACE_KEYBOARD interface.
user32: Enumerate keyboard rawinput devices.
Sven Baars (4):
gdi32: Remove some unreachable code (Coverity).
gdi32: Add a missing break (Coverity).
gdi32: Fix a leak on error path (Coverity).
gdi32: Fix some leaks on error paths.
Vijay Kiran Kamuju (2):
include: Add xact.h.
include: Add xact2wb.h.
Zebediah Figura (82):
ntoskrnl/tests: Add some tests for WM_DEVICECHANGE.
ntoskrnl/tests: Test child device enumeration.
wineusb.sys: Report RawDeviceOK in IRP_MN_QUERY_CAPABILITIES.
ntoskrnl: Start the device even without a function driver if it reports RawDeviceOK.
ntoskrnl: Do not send power IRPs on device start and removal.
ntoskrnl/tests: Handle IRP_MJ_POWER requests.
netapi32: Use ntdll functions for CP_UNIXCP codepage conversions.
netapi32: Move libnetapi support to a new Unix library.
netapi32: Move change_password_smb() to the Unix library.
netapi32: Build with msvcrt.
wined3d: Map resources through wined3d_device_context_ops.
wined3d: Introduce wined3d_device_context_map().
d3d11: Use wined3d_device_context_map().
wined3d: Introduce wined3d_device_context_unmap().
d3d11: Use wined3d_device_context_unmap().
kernel32/tests: Add a test for special characters in pipe names.
wined3d: Issue queries through wined3d_device_context_ops.
wined3d: Introduce wined3d_device_context_issue_query().
d3d11: Use wined3d_device_context_issue_query().
wined3d: Flush through wined3d_device_context_ops.
wined3d: Pass a wined3d_device_context to wined3d_device_flush().
ntoskrnl: Remove the device from the root device list in IRP_MN_REMOVE_DEVICE.
ntoskrnl: Forbid unloading a driver with running root PnP devices.
hidclass.sys: Zero-initialize the HID_DEVICE_ATTRIBUTES structure.
ntoskrnl/tests: Add some tests for HID devices.
winebus.sys: Rename "report_cs" to "cs".
winebus.sys: Move platform-specific device cleanup to a callback function.
winebus.sys: Reject ioctls on a removed device.
winebus.sys: Move device destruction to IRP_MN_REMOVE_DEVICE.
hidclass.sys: Always wait for the lower driver in hid_device_thread().
combase/tests: Link directly to combase.
wined3d: Introduce wined3d_device_context_get_shader().
d3d11: Use wined3d_device_context_get_shader().
wined3d: Pass a wined3d_device_context to wined3d_device_get_constant_buffer().
hidclass.sys: Pass a KEVENT to IoBuildDeviceIoControlRequest() in hid_device_thread().
hidclass.sys: Merge main.c into pnp.c.
hidclass.sys: Remove the unused device_name field.
hidclass.sys: Use GUID_DEVINTERFACE_HID directly.
hidclass.sys: Create separate parent FDO and child PDO objects.
winebus.sys: Do not print a FIXME for IRP_MN_QUERY_DEVICE_RELATIONS in pdo_pnp_dispatch().
wined3d: Pass a wined3d_device_context to wined3d_device_get_blend_state().
wined3d: Pass a wined3d_device_context to wined3d_device_get_depth_stencil_state().
wined3d: Pass a wined3d_device_context to wined3d_device_get_rasterizer_state().
wined3d: Pass a wined3d_device_context to wined3d_device_get_viewports().
wined3d: Pass a wined3d_device_context to wined3d_device_get_scissor_rects().
wine.inf: Install the protocol database at etc\protocol.
setupapi: Quiet a noisy warning.
wined3d: Introduce wined3d_device_context_get_shader_resource_view().
d3d11: Use wined3d_device_context_get_shader_resource_view().
wined3d: Introduce wined3d_device_context_get_sampler().
d3d11: Use wined3d_device_context_get_sampler().
wined3d: Introduce wined3d_device_context_get_unordered_access_view().
d3d11: Use wined3d_device_context_get_unordered_access_view().
hidclass.sys: Pass a KEVENT to IoBuildSynchronousFsdRequest() in get_device_id().
hidclass.sys: Stop creating a setupapi device.
hidclass.sys: Set PhysicalDeviceObject to the bus PDO.
winehid.sys: Pass PnP IRPs down to the next device.
winebus.sys: Return success from IRP_MN_START_DEVICE on the child PDO.
hidclass.sys: Defer creating a child device until IRP_MN_START_DEVICE.
wined3d: Pass a wined3d_device_context to wined3d_device_get_rendertarget_view().
wined3d: Pass a wined3d_device_context to wined3d_device_get_depth_stencil_view().
wined3d: Pass a wined3d_device_context to wined3d_device_get_predication().
wined3d: Pass a wined3d_device_context to wined3d_device_get_index_buffer().
wined3d: Pass a wined3d_device_context to wined3d_device_get_vertex_declaration().
xactengine2_0: New DLL.
xactengine2_4: New DLL.
xactengine2_7: New DLL.
xactengine2_9: New DLL.
wined3d: Pass a wined3d_device_context to wined3d_device_get_stream_source().
wined3d: Pass a wined3d_device_context to wined3d_device_get_stream_output().
wined3d: Pass a wined3d_device_context to wined3d_device_set_primitive_type().
wined3d: Pass a wined3d_device_context to wined3d_device_get_primitive_type().
evr: Stub IEVRFilterConfig.
dbghelp: Link directly to __unDName.
windows.gaming.input: Link directly to combase.
windows.globalization: Link directly to combase.
windows.media.devices: Link directly to combase.
windows.media.speech: Link directly to combase.
advapi32/tests: Add a test for setting the SD owner of a directory to a group.
server: Map a SD group to Unix group modes if the SD owner is present anywhere in the current user's token.
xactengine: Explicitly convert notification type constants.
wined3d: Move the wined3d_device_context_get_depth_stencil_view() declaration to the correct place alphabetically.
Zhiyi Zhang (10):
ntdll: Initialize nt_name before using it.
winedump: Dump EMR_ALPHABLEND record.
winedump: Dump EMR_STRETCHBLT record.
gdi32/tests: Test GdiAlphaBlend() for enhanced metafiles.
gdi32: Implement EMFDRV_AlphaBlend().
gdi32/tests: Test text extents for enhanced metafiles.
gdi32: Move common SetLayout() code to nulldrv_SetLayout().
gdi32: Reselect font and pen when changing world transforms for enhanced metafiles.
include: Add META_SETLAYOUT definition.
winedump: Support dumping Windows Metafiles.
Łukasz Wojniłowicz (1):
po: Update Polish translation.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 5.0.5 is now available.
What's new in this release (see below for details):
- Fixes build failure when v4l is missing
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0.5.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0.5.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Changes since 5.0.4:
Michael Stefaniuc (1):
Revert "qcap: Avoid unused variable warning if v4l is absent."
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 6.6 is now available.
What's new in this release (see below for details):
- Mono engine updated to version 6.1.1, with upstream updates.
- DWrite and DnsApi libraries converted to PE.
- Plug & play driver support improvements.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.6.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.6.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.6 (total 56):
5162 Multiple applications need ITextServices::TxDraw and ITextServices::TxGetNaturalSize implementation (Google Talk, WebLoad, XMPSetup, ICQ 6.x, Kugou Music, QQ, Wechat, PVSYST)
14179 Evil Twin Demo crash
19533 Multiple applications need 'reg.exe' to support 'export' operation
19626 Half-life engine's software rendering is ridiculously slow
27528 Half Life Software Rendering completely wrong
32640 Breath of Fire IV: Mouse is not visible on the installer
32641 Breath of Fire IV: Crash on starting the game
35650 CA ERWIN Data Modeler r7.x/8.x installer EULA can't be accepted (RichEdit: missing notification messages to parent for scroll event)
37837 SteuerSparErklärung 2015: graphics missing when printing with graphics
37996 Wine mono does not support https connection unless manually imports certification
38409 Wine's task tray is not shown in the taskbar in KDE 5
39494 Unused value in ME_RTFTblAttrHook (Coverity #1269505)
40821 Multiple applications crash with stack overflow when setting IHTMLElement2::accessKey property (Java JRE 8 installer, RealNetworks RealPlayer 18.x)
43437 Zanzarah game opens a black fullscreen window and then crashes
45546 Magic The Gathering Arena updater: Unity fork of Mono-runtime reports 'Fatal error in gc, GetThreadContext failed' (suspension of Mono-managed threads sometimes exceed 100ms)
46048 Crash while installing Neverwinter in Arc (native riched20 is a workaround)
47296 Google drive crashes before login
47460 King of Dragon Pass remastered Black Screen
47970 Legends of Runeterra crashes at launch
48123 Word 97 crashes after calling stub URLMoniker_ComposeWith
48391 Dune2000 failed to show anything
48412 Multiple games have lighting issue and textures blinking (Call of Duty 4: Modern Warfare, Call of Duty: Modern Warfare 2)
49192 Denuvo Anti-Cheat needs support for NtQuerySystemInformation 'SystemCodeIntegrityInformation' info class (Driver Signature Enforcement)
49434 Wine builtin 'iexplore' crashes upon loading Google Account login page
49740 Microsoft Flight Simulator crash after a black screen
49756 Death Stranding requires windows.gaming.input.dll
49897 winetricks dotnet45/dotnet452 hangs
49954 Multiple games and applications need msvcp140_1._Aligned_get_default_resource (EVE Online Launcher, QT Creator 3.x, Kate, Snap Camera 1.11.x, Cppcheck 2.3)
50054 Tony Hawk's Pro Skater 1 + 2 Online Multiplayer doesn't work
50436 Upstream FAudio pkg-config file not found
50492 Amazon Chime 4.x (.NET 4.5 app) reports 'Failed to InjectErrorHandlingScript, Unable to cast COM object of type 'System.__ComObject' to interface type 'mshtml.HTMLHeadElement''
50517 Apps with GUI can't work on Apple Silicon Mac
50673 FlatOut 2 crashes on launch
50697 Multiple applications crash due to DHTMLEdit 'IOleObject::GetExtent' stub (Atomic Mail Sender 4.2x)
50725 Nvidia FrameView 1.2 (Win10 app) crashes on unimplemented function tdh.dll.TdhLoadManifestFromBinary
50742 FAR: Lone Sails is too dark with GL renderer
50811 gdi32.res fails to compile when freetype pkg-config cflags contain "-pthread"
50818 Mahou Shoujo Shoumou Sensen - DeadΩAegis (Trial) shows unreadable text in the message box.
50841 sapi:resource fails on Windows >= 7
50845 jscript crashes on internal assert(0) in PE build with clang
50854 Multiple Windows 10 application installers refuse to install, requiring 'advapi32.dll' version >= 6.3.10000.0 (Elgato Stream Deck 4.9.3, Windows Admin Center 2103)
50858 Regression: Wine doesn't run executables reside under home directory
50867 wine start /unix stopped working in 6.5
50873 reg.exe ignores /f parameter
50874 MUSICUS!: fails to start with "wine: failed to load start.exe: 40000003"
50875 HTMLElement_get_offsetParent crashes wine if a NULL offset parent is expected (VbsEdit)
50885 PdfSharp creates invalid PDF files
50902 HvManager requires websocket.dll
50904 Altium Designer 17 crashes since wine-6.5
50905 Wine fails to execute binaries if a dependent placeholder DLL in C:\windows\system32 is missing
50912 Wine control panel fails to launch applets
50914 Application specific dll overrides broken since Wine 6.5
50916 Multiple applications need DHTMLEdit to support 'IOleControl' '{B196B288-BAB4-101A-B69C-00AA00341D07}' (Atomic Mail Sender 4.x)
50917 Solid Edge 15: Hangs on Save, needs VT_BLOB support when writing properies
50933 00c4:err:regedit:wWinMain failed to restart 64-bit L"C:\\windows\\system32\\regedit.exe", err 2 (and Wow6432Node key gone)
50937 mscoree tests fail with "Compilation failed"
----------------------------------------------------------------
Changes since 6.5:
Akihiro Sagawa (4):
gdi32/tests: Remove unreliable height tests.
gdi32: Move otmEMSquare initialization to freetype_load_font.
gdi32: Fix text metrics used in EnumFonts families.
gdi32: Get rid of redundant ntmCellHeight member.
Alexandre Julliard (47):
ntdll: Unmap main image even if not loaded at base address.
wine.inf: Always install start.exe in system32.
wine.inf: Store extensions in lower case in PATHEXT.
mshtml: Also search default directories for xul.dll dependencies.
winedevice: Add the drivers directory to the dll search path.
explorer: Store the graphics driver basename instead of the full path.
ntdll: Make sure the argv array matches the Unicode version, even when launching start.exe.
ntdll: Load builtin exe without a corresponding file only before the prefix is fully initialized.
ntdll: Allow using the .fake files from the build tree as PE mapping placeholders.
ntdll: Map the builtin or fake dll from the Wine dirs if it's missing from the prefix.
ntdll: Remove load_builtin_dll() and get_load_order() from the Unix interface.
ntdll: Set the window title to the image name on the Unix side.
kernelbase: Don't fall back to dll loading for LOAD_LIBRARY_AS_DATAFILE.
include: Add more SYSTEM_INFORMATION_CLASS definitions.
gdi32: Try to load the printer driver from the printer driver directory.
ntdll: Also check syswow64 to determine if the prefix was initialized.
ntdll: Fail to load non-existent dlls, except during prefix bootstrap.
ntdll: Return system dir path for PE mapping bootstrap placeholders.
ntdll: Move kernel32 loading into LdrInitializeThunk().
kernelbase: Make sure that last error is set on LOAD_LIBRARY_AS_DATAFILE failure.
ntdll: Create the initial stack on the Unix side.
ntdll: Move creation of the initial modules to LdrInitializeThunk().
ntdll: Define NtCurrentTeb64() on 64-bit to avoid some #ifdefs.
start: Import the correct command-line building algorithm from ntdll.
ntdll: Remove path from application name to open loadorder key.
ntdll: Move Wow64 initialization to LdrInitializeThunk().
ntdll: Move the global options initialization to LdrInitializeThunk().
ntdll: Move the PEB initialization to LdrInitializeThunk().
ntdll: Retrieve Wine version strings through NtQuerySystemInformation().
ntdll: Stop exporting wine_server_send_fd() and wine_server_release_fd().
reg: Avoid non-portable Unicode character.
regedit: 64-bit regedit.exe is in c:\windows.
ntdll: Also fallback to native if builtin is for the wrong architecture.
ntdll: Avoid closing a handle twice.
ntdll: Check for DLL files when creating new processes.
regsvr32: Don't use GetBinaryType() on DLL files.
kernel32: Return failure in GetBinaryType() for DLL files.
ntdll: Cache the main image section information.
configure: Fix package name for FAudio.
makefiles: Only allow includes and defines in pkg-config flags.
ntdll: Add a WINEBOOTSTRAPMODE environment variable to allow loading non-existent builtins.
services: Propagate the WINEBOOTSTRAPMODE variable to spawned services.
ntdll: Don't try to open the file in the prefix for 16-bit builtins.
ntdll: Don't close handles in APC requests sent to self.
winecrt0: Replace SystemRoot when registering dlls.
setupapi: Replace SystemRoot when registering dlls.
vbscript: Substitute SystemRoot at registration time.
Alistair Leslie-Hughes (1):
ntdll: Stub NtQuerySystemInformation(SystemCodeIntegrityInformation).
Anton Baskanov (2):
amstream/tests: Refactor test graph to support multiple interfaces.
amstream/tests: Add tests for MediaStreamFilter::EndOfStream.
Arkadiusz Hiler (2):
msvcp90: Add helpers for creating base class RTTI.
msvcp140_1: Implement the DLL.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Austin English (1):
tdh: Add TdhLoadManifestFromBinary stub.
Connor McAdams (1):
winegstreamer: Add corresponding 'IYUV' type alongside 'I420'.
Derek Lesho (1):
mf/session: Prefer transform-provided sample path.
Dmitry Kislyuk (1):
mshtml: Fix NULL offset parent handling in IHTMLElement::get_offsetParent.
Dmitry Timoshkov (3):
ole32/tests: Add more tests for custom ILockBytes implementation.
ole32: Always initialize storage header before writing it.
msxml3/tests: Add a test for saving XML with not default encoding.
Esme Povirk (2):
mscoree: Update Wine Mono to 6.1.1.
bcrypt: Don't try to unload gnutls if loading failed.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (2):
winetest: Detect and report the missing side-by-side version errors.
winetest: Clarify the 'version not present' error.
Gabriel Ivăncescu (2):
conhost: Wrap around immediately if ENABLE_VIRTUAL_TERMINAL_PROCESSING is not set.
conhost: Fix line wrapping around when ENABLE_VIRTUAL_TERMINAL_PROCESSING is set.
Georg Lehmann (2):
winevulkan: Generate a separate physical device dispatch table.
winevulkan: Implement vk_icdGetPhysicalDeviceProcAddr.
Giovanni Mascellani (2):
mfreadwrite/tests: Fix testing of a source with one stream.
advapi32/tests: Use wide character string literals in registry.c.
Hans Leidekker (9):
dnsapi: Get rid of imported domain name parsing code.
dnsapi: Get rid of the dns_ prefix on helpers.
dnsapi: Move libresolv support to a new Unix library.
dnsapi: Build with msvcrt.
dnsapi/tests: Add a query test.
dnsapi/tests: Don't fail on query timeouts.
include: Add winber.h.
include: Remove functions declarations from winldap.h that don't exist in the native header.
wldap32/tests: Add ber_printf/scanf tests.
Haoyang Chen (1):
winhttp: Invalid url decomposition should return failure when it fails.
Henri Verbeet (1):
wined3d: Use the client area dimensions instead of the backbuffer dimensions for the Vulkan swapchain.
Hugh McMaster (22):
reg: Use RegOpenKeyExW() instead of RegOpenKeyW().
reg: Update a comment.
reg: Parse 'reg delete' command-line arguments in delete.c.
reg: Parse 'reg add' command-line arguments in add.c.
reg: Fail if duplicate command-line switches are passed to 'reg add'.
reg: Use RegCreateKeyExW() instead of RegCreateKeyW().
reg: Use wide-char string literals.
reg: Use wide-char string literals in import.c.
reg: Use wide-char string literals in export.c.
reg: Improve initial syntax checks during the 'export' operation.
reg: Add a message to better indicate when a specified registry key is not found.
reg: Add a new message to indicate when a registry key fails to import.
reg: Prepend 'reg:' to two message strings.
reg: Better indicate when a registry value is not found.
reg: Abort 'add' operation when parsing command-line arguments that are not switches.
reg: Abort 'delete' operation when parsing command-line arguments that are not switches.
reg: Abort 'query' operation when parsing command-line arguments that are not switches.
reg: Only call get_long_key() when operations require it.
reg: Remove unneeded ternary operator in RegDeleteValueW().
reg/tests: Add tests for trailing backslashes after the system key.
reg: Print additional help messages when syntax is invalid.
reg: Allow /reg:32 and /reg:64 switches to be passed via the command line.
Huw D. M. Davies (9):
riched20: Destroy the context before sending the notification.
riched20: Add support for EN_[HV]SCROLL notifications.
riched20: Remove SendOldNotify() helper.
riched20: Add support for ENM_SCROLLEVENTS.
riched20: Send EN_UPDATE from TxDraw().
riched20: Add support for TXTBIT_ALLOWBEEP.
riched20: Merge the richole object with the text services object.
riched20/tests: Add some object identity tests.
riched20/tests: Silence the beeps.
Jacek Caban (37):
propsys: Use nameless unions.
propsys/tests: Use nameless unions.
inetcomm: Use nameless unions.
inetcomm/tests: Use nameless unions.
gdiplus: Use nameless unions.
amstream/tests: Move WINE_NO_NAMELESS_EXTENSION to source file.
mshtml: Don't use UAS_EXACTLEGACY in navigator object.
mshtml: Support deleting object properties.
mshtml: Support DispHTMLHeadElement interface.
mshtml: Implement IHTMLElement2::accessKey property on top of nsIDOMHTMLElement.
dxdiagn: Use nameless unions.
dsound: Use nameless unions.
dsound/tests: Use nameless unions.
d3d11: Use nameless unions.
conhost: Delay window refresh on output update.
jscript: Support calling properties with getters.
jscript: Get dispid and call invoke in a single step when setting a member property.
jscript: Support non-extensible objects.
jscript: Add Object.isExtensible implementation.
jscript: Support non-extensible objects in jsdisp_define_property.
jscript: Add Object.freeze implementation.
jscript: Add Object.seal implementation.
jscript: Throw error when trying to add a property to non-extensible objects in jsdisp_propput_idx.
jscript: Throw error in jsdisp_delete_idx for non-configurable properties.
jscript: Add Object.isFrozen and Object.isSealed implementation.
mshtml: Add IHTMLStyleElement::onload and onerror implementation.
include: Add IHTMLStyleElement2 declaration.
mshtml: Add IHTMLStyleElement2 implementation.
mshtml: Don't expose readyState property to elements in IE11 mode.
mshtml: Expose IHTMLStyleElement2 to scripts.
include: Add IHTMLStyleSheet4 and IHTMLCSSRule declarations.
jscript: Use quiet NaNs in jsval.
winegcc: Use paths for found libraries on PE targets when using msvcrt.
winegcc: Add Wine include directories before standard directories on search list.
mshtml: Add IHTMLStyleSheet4 stub implementation.
mshtml: Add IHTMLStyleSheet4::insertRule implementation.
mshtml: Expose IHTMLStyleSheet4 to scripts.
Jan Sikorski (5):
wined3d: Pass format id for typeless resolve through wined3d_blt_fx.
wined3d: Add resolve_format parameter to blitter_blit.
wined3d: Introduce wined3d_gl_get_internal_format().
d3d11/tests: Don't use all samples for blending in multisample resolve test.
d3d10core/tests: Don't use all samples for blending in multisample resolve test.
Joshua Ashton (2):
api-ms-win-shcore-scaling-l1-1-1: Move to shcore dllgroup.
api-ms-win-shcore-scaling-l1-1-0: Add stub dll.
Julian Rüger (1):
po: Update German translation.
Lauri Kenttä (2):
msvcrt: Handle negative zero, infinity and nan in _ecvt and others.
po: Update Finnish translation.
Louis Lenders (2):
advapi32: Update version resource.
websocket: Add stub dll.
Mark Harmstone (1):
shcore: Add names for stubs.
Michael Stefaniuc (2):
dxgi/tests: Remove superfluous casts to self.
ntdll/tests: Remove superfluous casts to self.
Nikolay Sivov (56):
mf/session: Handle MF_TOPONODE_DISABLE_PREROLL on sink nodes.
gdiplus/metafile: Fully initialize record header on allocation.
gdiplus/metafile: Implement TranslateClip() recording.
gdiplus/metafile: Implement ResetClip() recording.
gdiplus/metafile: Implement SetClipPath() recording.
gdiplus/metafile: Implement rendering origin recording.
dwrite/tests: Add some tests for CreateFontCollectionFromFontSet().
dwrite: Introduce callback interface to initialize freetype face objects.
dwrite: Use FT_MulDiv() in freetype integration.
dwrite: Introduce interface to font backend.
dwrite: Pass simulation mask when getting a glyph outline.
dwrite: Use ntdll exports for freetype mutex.
mfplat: Add Lock()/Unlock() for d3d11 buffers.
dwrite: Move outline dumping helpers.
dwrite: Explicitly cast to signed type for abs().
dwrite/layout: Reuse glyph origins calculation helper to get run boxes.
dwrite: Build with msvcrt.
msvcrt/tests: Add a test for wcsncpy().
dwrite: Use wide-char literals.
shcore: Added another api-ms-* forwarding dll.
combase: Move IGlobalOptions implementation.
include: Add ID2D1DeviceContext1 definition.
combase: Return initial values for global options.
mfuuid: Add mfplay GUIDs.
mfplay: Add IMFPMediaPlayer stub.
mfplay/tests: Add a basic test for player creation.
mfreadwrite/reader: Improve decoder output samples handling.
ole32: Add support for writing VT_BLOB properties.
mf: Add MFRequireProtectedEnvironment().
mfplay: Keep user callback reference.
mfplay: Automatically initialize Media Foundation.
mfplay: Add IPropertyStore support to media player object.
mfplay: Implement creating media items from URLs.
d2d1: Implement ID2D1Multithread.
mfplay: Create presentation descriptor for the item.
mfplay: Forward some methods to descriptor API.
mfplay: Implement IsProtected().
mfplay: Implement GetCharacteristics().
include: Add event types for mfplay.
mfplay: Add support for async user callback.
mfplay: Add support for same-thread event callback.
mfplay: Implement GetVideoWindow().
mfplay: Create per-player session instance.
mfplay: Update player state on session state changes.
mfplay: Forward playback control methods to the session.
mfplay: Implement GetDuration() for media items.
mfplay: Implement GetSupportedRates().
mfplay: Implement GetMetadata().
mfplay: Implement GetURL().
mfplay: Use CRT functions for heap allocations.
mfmediaengine: Use CRT function for heap allocations.
mfreadwrite: Use CRT functions for heap allocations.
evr: Use CRT functions for heap allocations.
dxva2: Check content formats for software device in GetVideoProcessorRenderTargets().
winegstreamer: Set MF_MT_ALL_SAMPLES_INDEPENDENT for video types.
mfplat/tests: Add some more tests for IsCompressedFormat().
Paul Gofman (5):
ntdll: Implement NtQuerySystemInformationEx(SystemCpuSetInformation).
kernel32: Implement GetSystemCpuSetInformation().
server: Do not cancel process sigkill in kill_process().
server: Add sigkill timer even if msg_fd is closed.
ntdll: Close server socket before calling exit().
Piotr Caban (4):
msvcrt: Cleanup _ecvt tests.
msvcp90: Add macro that define type_info vtable.
msvcp: Remove MSVCP_ prefix from RTTI and vtable related code.
msvcrt: Add helpers for creating base class RTTI.
Rémi Bernon (13):
dinput: Wait for the hook thread to exit when stopping it.
winex11.drv: Introduce new map_event_coords helper.
winex11.drv: Update INPUT mouse coordinates directly.
user32/tests: Factor GetKeyState test checks together.
user32/tests: Repeat each GetKeyState test a few times.
user32/tests: Add GetKeyState tests vs SetKeyboardState calls.
server: Remove tid from get_key_state request.
server: Remove tid from set_key_state request.
server: Split the fallback to desktop async keystate.
user32/tests: Add a test for SetCursorPos / SetWindowPos interactions.
winex11.drv: Don't remap root_window relative coordinates.
winex11.drv: Map coordinates before calling send_mouse_input.
winex11.drv: Use X11 root-relative coordinates when possible.
Vijay Kiran Kamuju (15):
dhtmled.ocx: Implement IOleObject::SetExtent and IOleObject::GetExtent functions.
dhtmled.ocx: Add stub IOleControl interface.
dhtmled.ocx: Fake success in IDHTMLEdit::NewDocument.
dhtmled.ocx: Add IConnectionPointContainer stub interface.
dhtmled.ocx: Add IOleInPlaceObjectWindows stub interface.
dhtmled.ocx: Add IProvideClassInfo2 stub interface.
dhtmled.ocx: Add IViewObjectEx stub interface.
dhtmled.ocx: Add IOleInPlaceActiveObject stub interface.
dhtmled.ocx: Add IDataObject stub interface.
dhtmled.ocx: Add IServiceProvider stub interface.
dhtmled.ocx: Add IPersistStorage stub interface.
dhtmled.ocx: Add IDispatch support for IDHTMLEdit.
dhtmled.ocx: Add IConnectionPoint stub to IDHTMLEdit.
dhtmled.ocx: Implement IConnectionPointContainer_FindConnectionPoint.
dhtmled.ocx: Implement IViewObjectEx_GetViewStatus function.
Zebediah Figura (56):
ntdll/tests: Add a test for segment register contents in x86_64 exception handlers.
ntdll: Report SegDs to be identical to SegSs in x86_64 exception handlers.
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_draw().
wined3d: Introduce wined3d_device_context_draw().
d3d11: Use wined3d_device_context_draw().
d3d9: Use device->stateblock_state to check for a valid vertex declaration.
ntoskrnl/tests: Fix a test failure on LUA Windows.
wined3d: Check for a valid index buffer in d3d[89]_device_DrawIndexedPrimitive().
ntoskrnl: Store root PnP devices in a linked list.
ntoskrnl: Store root PnP devices per driver.
winedevice: Introduce a custom service control to reënumerate root PnP devices.
setupapi: Reënumerate root PnP devices in SetupDiInstallDevice().
setupapi: Reënumerate root PnP devices in SetupDiRemoveDevice().
ntoskrnl/tests: Skip all tests under WoW64.
ntoskrnl/tests: Add a basic PnP test driver.
wined3d: Introduce wined3d_device_context_draw_indexed().
d3d11: Use wined3d_device_context_draw_indexed().
wined3d: Introduce wined3d_device_context_draw_indirect().
d3d11: Use wined3d_device_context_draw_indirect().
d3d11: Use wined3d_device_context functions in ID3D10Device1 methods.
ntoskrnl/tests: Test discovery of the root PnP device via setupapi.
ntoskrnl/tests: Use a hard-coded file path in test_obj_reference().
ntoskrnl/tests: Open the test output file using a hardcoded path.
ntoskrnl/tests: Remove some duplicate tests from the netio driver.
ntoskrnl/tests: Use a more descriptive name for the netio test driver.
d3d9: Use wined3d_device_context methods.
d3d8: Use wined3d_device_context methods.
ddraw: Use wined3d_device_context methods.
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_copy_uav_counter().
wined3d: Pass a wined3d_device_context to wined3d_device_copy_uav_counter().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_blt_sub_resource().
wined3d: Pass a wined3d_device_context to wined3d_device_copy_resource().
wined3d: Pass a wined3d_device_context to wined3d_device_copy_sub_resource_region().
wined3d: Pass a wined3d_device_context to wined3d_texture_blt().
wined3d: Pass a wined3d_device_context to wined3d_device_resolve_sub_resource().
ntoskrnl/tests: Factor out winetest_init() and winetest_cleanup().
ntoskrnl/tests: Retrieve test global variables from a memory section.
ntoskrnl/tests: Write test counts to the shared memory section.
ntoskrnl/tests: Separate a helper to print the contents of the driver output file.
ntoskrnl/tests: Create the driver output file only once.
ntoskrnl/tests: Keep the test output file open for the entire duration each driver is loaded.
winedevice: Add a missing break statement to device_handler().
ntoskrnl/tests: Test querying device IDs from the root-enumerated PDO.
ntoskrnl/tests: Test querying capabilities from the root-enumerated PDO.
setupapi: Remove all device interfaces in SetupDiRemoveDevice().
ntoskrnl/tests: Add some tests for device interfaces.
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_generate_mipmaps().
d3d9: Store the texture's parent device as a d3d9_device pointer.
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_clear_rendertarget_view().
wined3d: Pass a wined3d_device_context to wined3d_device_clear_rendertarget_view().
wined3d: Pass a wined3d_device_context to wined3d_shader_resource_view_generate_mipmaps().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_clear_unordered_access_view_uint().
wined3d: Pass a wined3d_device_context to wined3d_device_clear_unordered_access_view_uint().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_update_sub_resource().
wined3d: Pass a wined3d_device_context to wined3d_device_update_sub_resource().
ntoskrnl/tests: Properly support device removal.
Zhiyi Zhang (1):
gdi32: Fix handling of ModifyWorldTransform( MWT_IDENTITY ) on an emf dc.
Łukasz Wojniłowicz (1):
po: Update Polish translation.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.5 is now available.
What's new in this release (see below for details):
- OpenCL support updated to version 1.2.
- More support for IE compatibility modes in MSHTML.
- More windowless RichEdit work.
- A few more WinRT library stubs.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.5.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.5.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.5 (total 25):
33375 Cannot test dlls with dashes in their name
34906 Multiple applications crash when trying to render in system memory (Zoo Tycoon, TOCA Touring Car Championship, The Sims, Conquest: Frontier Wars)
37488 Quicken 2014 reports error 0x0000054f on startup (NtAreMappedFilesTheSame fails to compare in-memory loader view of builtin dlls with mapped disk image)
37983 Jedi Knight: Dark Forces II, Outlaws (GOG.com versions) - music doesn't work
45032 WineTest does not run the vcomp tests
45567 League of Legends 8.12+ fails to start a game (anticheat engine, validation of WoW64 syscall dispatcher)
45685 Dragon NaturallySpeaking 12.5 does not run after training a new user
46817 Steam Big Picture needs d3d11_device_CreateDeviceContextState
47310 Canon TS3100 series full driver and software package refuses to install: "To install the software, you must be logged in to an administrator account."
50034 In font dialog's sample text, background changes color
50119 Dark Souls II: Scholar of the First Sin shows a white screen with vulkan renderer
50168 Error when running notepad.exe: Failed to start RpcSs service
50362 Fl Studio 20.8 crashes on startup
50411 Adobe Audition 2020 crashes on startup, reporting 'Direct2D Drawbot error' (d2d_geometry_group_GetBounds is a stub)
50721 IDA Pro 7.5: Lumina can't contact server, complains about Schannel security attributes
50738 Guild Wars 2 launcher can't login
50756 "Path is invalid." when using "SVN update" with SVN for Windows, which is used by TortoiseSVN
50783 WineTest declares dlls with dots in their name as missing
50790 No display found when using winemac.drv in a VM
50805 Win32_OperatingSystem class is missing 'ProductType' (affects Chocolatey)
50809 Multiple .NET 4.x application installers fail due to 'MsiNetAssemblySupport' property returning incorrect version (IronPython 2.7.5)
50826 .NET applications fail to start with Wine-Mono: 'The file C:\windows\mono\mono-2.0\lib/mscorlib.dll is an invalid CIL image'
50836 dxva2api.h does not compile as C++
50862 [Regression] Steam fails to start
50863 The specified path wine git does not treat when calling exe file.
----------------------------------------------------------------
Changes since 6.4:
Adam Gashlin (1):
advapi32: Don't revoke ACCESS_DENIED_ACE.
Alexandre Julliard (43):
server: Return the file name for image mappings in the get_mapping_info request.
ntdll: Move the builtin dll list to virtual.c.
ntdll: Add a helper for mapping a PE image.
ntdll: Move the loadorder support to the Unix library.
ntdll: Call the Unix entry point from the Unix side.
ntdll: Add the builtin signature in .so file mappings.
kernelbase: Avoid depending on the mount manager in CopyFileExW().
msvcrt: Avoid depending on the mount manager in fstat().
ntoskrnl: Load driver dependencies from the driver directory.
ntdll: Check the builtin signature when creating a module.
server: Remove the redundant cpu field in the PE image information.
setupapi: Add a few printer directory ids.
setupapi: Support arbitrary wildcards in fake dlls creation.
setupapi: Create fakedlls before copying files.
wine.inf: Specify the full module path for the source of copied files.
wine.inf: Put wineps.drv in the printer driver directory.
ntdll: Add a global constant for the system directory.
server: Don't change the reported machine for COM+ images.
ntdll: Load the Unix library only when __wine_init_unix_lib() is called.
ntdll: Add refcounting for .so builtin dlls.
ntdll: Use NtAreMappedFilesTheSame() to find duplicated module mappings.
ntdll: Return the mapping size in virtual_map_builtin_module().
ntdll: Replace image mapping by the builtin module directly in NtMapViewOfSection().
ntdll: Move the builtin image checks to virtual_map_builtin_module().
ntdll: Don't return an existing address when mapping a builtin PE dll.
ntdll: Load builtin dlls through NtMapViewOfSection().
ntdll: Return an NT path for the initial current directory.
ntdll: Set the additional environment variables from the Unix side.
start: Avoid duplicate backslashes in command line.
ntdll: Set the Wow64 environment variables from the Unix side.
ntdll: Load the main image from the Unix side.
ntdll: Remove the no longer needed exec_process() function.
ntdll: Don't set the DllPath parameter by default.
start: Add a private /exec option to replicate the Wine command-line usage.
ntdll: Check the main image for Unix path only the first time around.
ntdll: Add a helper to launch start.exe always as builtin.
ntdll: Use start /exec to support absolute Unix paths.
ntdll: Set the initial DllPath to null if it's empty.
wine.inf: Fix 64-bit driver installation.
ntdll: Use the same builtin check for process creation and initial image loading.
ntdll: Make the is_win64 variable global.
ntdll: Don't pass the application name to get_load_order().
ntdll: Check the loadorder for .so dlls on the Unix side.
Alistair Leslie-Hughes (3):
msado15: Improve return when field cannot be found.
msado15: Clear interface point after release.
msado15: Implement _Recordset get/put Bookmark.
Andrew Eikum (1):
winegstreamer: Set specific large buffer sizes for decodebin.
Arkadiusz Hiler (2):
dinput: Implement device creation using product GUID.
ntoskrnl.exe: Use correct name format when sending WM_DEVICECHANGE.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
David White (1):
urlmon: Implement IMoniker_ComposeWith() for url monikers.
Erich Hoover (2):
mountmgr.sys: Move query_unix_drive to drive.c.
mountmgr.sys: Simplify query_unix_drive.
Esme Povirk (1):
mscoree/tests: Increase timeout in expected failure case.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (8):
winetest: Simplify the 'dll is native' error message.
winetest: Show more detailed version error information.
winetest: Fix detecting whether a test can be run or not.
winetest: Don't parse the test list if 'test --list' failed.
dwrite: Fix the case of FreeType in a comment.
msvcrtd/tests: Missing the library should be a win_skip().
winetest: Remove the obsolete revision placeholder.
atl80/tests: Request an older version of atl80 for compatibility.
Gijs Vermeulen (5):
wtsapi32: Avoid calling GetUserNameW() twice in WTSQuerySessionInformationW(WTSUserName).
wtsapi32/tests: Test returned username for WTSQuerySessionInformation(WTSUserName).
kernelbase: Reject SORT_DIGITSASNUMBERS in CompareStringA().
sapi/tests: Remove SpResourceManager refcount tests.
wineqtdecoder: Use nameless unions.
Giovanni Mascellani (5):
mfreadwrite: Unset seeking flag also on SourceStarted and SourceStopped.
mfreadwrite: Simplify iteration through streams.
winegstreamer: Implement a stub IMFGetService for the media source.
winegstreamer: Implement a stub IMFRateSupport for the media source.
winegstreamer: Implement a stub IMFRateControl for the media source.
Hans Leidekker (3):
ntdll: Fall back to reading /dev/urandom if getrandom() is not supported.
msi: Fix building the fusion filename.
webservices: Implement WS_CHANNEL_PROPERTY_NO_DELAY.
Henri Verbeet (15):
d3d11/tests: Add some more device context state tests.
d3d11: Validate the feature level count in d3d11_device_CreateDeviceContextState().
wined3d: Introduce wined3d_state_reset().
wined3d: Store the feature level in the wined3d_state structure.
wined3d: Move feature level selection to wined3d_state_create().
wined3d: Add a missing barrier to wined3d_shader_resource_view_vk_generate_mipmap().
wined3d: Take the layer index into account in wined3d_shader_resource_view_gl_generate_mipmap().
d3d11: Store the feature level in the d3d_device_context_state structure.
d3d11: Use the supplied feature levels in d3d11_device_CreateDeviceContextState().
d3d11: Replace the FIXME in d3d11_immediate_context_SwapDeviceContextState() with a TRACE.
wined3d: Handle a few more border colours for Vulkan samplers.
wined3d: Trace wined3d_swapchain_vk_blit() failures.
wined3d: Invalidate sRGB write state in wined3d_cs_exec_set_rendertarget_view() if needed.
dxgi: Implement dxgi_output_SetGammaControl().
wined3d: Implement wined3d_swapchain_set_gamma_ramp() on top of wined3d_output_set_gamma_ramp().
Hugh McMaster (16):
reg: Split 'query' functions from reg.c.
reg: Split 'delete' functions from reg.c.
reg: Split 'add' functions from reg.c.
reg: Use is_switch() where possible.
reg: Merge common header #includes into reg.h.
reg: Simplify basic syntax checks.
reg: Move 'import' syntax checks to reg_import().
reg: Use 'argvW' array naming in export.c.
reg: 'export' sorts before 'import'.
reg: Use malloc(), realloc() and free() from stdlib.h instead of wine/heap.h.
reg/tests: Add tests for duplicate command-line switches.
reg/tests: Test whether overwriting a registry key modifies existing keys and values.
reg/tests: Test whether a .reg file extension is required when exporting.
reg: Add extended help for supported operations.
reg: Parse 'reg query' command-line arguments in query.c.
reg: Fail if duplicate command-line switches are passed to 'reg query'.
Huw D. M. Davies (49):
riched20: Handle EM_GETLINE's unicode conversion in the host.
riched20: Handle EM_GETSELTEXT's unicode conversion in the host.
riched20: Remove unused code from ITextHost_TxGetPropertyBits.
riched20: Implement EM_SETREADONLY using EM_SETOPTIONS.
riched20: Initialize a copy of the properties in the host.
riched20: Handle the read-only property setting in the host.
riched20: Handle scrollbar changes in the host.
riched20: Use the host to set hide/save-sel, auto-word-sel, and vertical properties.
riched20: Use the multiline property rather than style.
riched20: Handle sending EN_MSGFILTER notifications in the host.
riched20: Handle dialog mode in the host.
riched20: Handle ES_WANTRETURN in the host.
riched20: Handle ES_SELECTIONBAR in the host.
riched20: Handle the client rect changes in the host.
riched20: Set the window title in the host.
riched20: Handle EM_SETBKGNDCOLOR in the host.
riched20: Handle EM_SETPASSWORDCHAR in the host.
riched20: Don't set the cursor during mouse messages.
riched20: Handle WM_SETCURSOR in the host.
riched20: Move scrollbar initialisation out of WM_CREATE.
riched20: Remove always false conditions.
riched20: Simplify the scrollbar visibility checks.
riched20: Keep track of the current scrollbar state.
riched20: Update editor's wordwrap state.
include: Fix spelling of the InPlace methods.
riched20: Implement ITextServices_OnTxInPlaceActivate().
riched20: TxGet[HV]Scroll should return the actual enabled state.
riched20: Update the scrollbar page size from the host.
riched20: Enable and show the scrollbar before updating its position and range.
riched20: Fix-up the scrollbar visibility in the host.
riched20: Don't release the dc when destroying the context.
riched20: Call OnTxInPlaceActivate() from the host.
riched20: Explicitly select the background brush.
riched20: Fill the selection bar.
riched20: Implement TxDraw().
riched20: Don't call update_caret() from the host.
riched20: Send EN_UPDATE from text services.
riched20: Use TxDraw() to implement the host's WM_PAINT handler.
riched20: Remove direct accesses to the editor from the window proc.
riched20: Add support for WM_PRINTCLIENT.
riched20: Add support for TXTBACK_TRANSPARENT.
riched20: Don't invalidate while inside TxDraw().
riched20: Implement TxGetNaturalSize().
include: Add ITextHost2.
riched20: Use the text host stored in the editor structure.
riched20: Add ITextHost2 support and use it to get the window for WM_CONTEXTMENU.
riched20: Remove accesses to the editor in TxNotify.
riched20: Retrieve the window from the host.
riched20: Remove the windows from the editor structure.
Jacek Caban (61):
mshtml: Use single navigator instance per inner window.
mshtml: Initialize HTMLPerformance object with compat mode.
mshtml: Initialize HTMLPerformanceNavigation and HTMLPerformanceTiming objects with compat mode.
mshtml: Initialize HTMLNamespaceCollection object with compat mode.
mshtml: Initialize HTMLStyleSheet object with compat mode.
mshtml: Initialize HTMLStyleSheetsCollection object with compat mode.
mshtml: Initialize HTMLStyleSheetRule object with compat mode.
mshtml: Initialize HTMLStyleSheetRulesCollection object with compat mode.
jscript: Add String.prototype.toLocaleUpperCase and toLocaleLowerCase implementation.
jscript: Raise the stack depth limit.
mshtml: Initialize DOMRange object with compat mode.
mshtml: Initialize HTMLStorage object with compat mode.
mshtml: Initialize HTMLDOMChildrenCollection object with compat mode.
mshtml: Initialize HTMLFiltersCollection object with compat mode.
mshtml: Initialize HTMLDocumentObj object with compat mode.
mshtml: Initialize function object with compat mode.
mshtml: Rename init_dispex_with_compat_mode to init_dispatch.
include: Add missing typedefs to windows.foundation.idl.
include: Don't default to WINE_NO_NAMELESS_EXTENSION for Wine build.
include: Use nameless unions in dxva2api.idl helpers.
ieframe: Use nameless unions.
combase: Use nameless unions.
devenum: Use nameless structs and unions.
wininet: Use nameless structs and unions.
ole32: Use nameless unions.
wininet/tests: Use nameless structs and unions.
services: Use nameless unions.
winemenubuilder: Use nameless unions.
winecfg: Use nameless unions.
jscript: Fallback to begin of input in script_parse if error location was not recorded.
winmm: Use nameless unions.
winepulse: Use nameless unions.
winealsa: Use nameless unions.
shell32: Use nameless unions.
shell32/tests: Use nameless unions.
sechost: Use nameless unions.
quartz: Use nameless unions.
winegstreamer: Use nameless unions.
windowscodecs: Use nameless unions.
mshtml/tests: Use winetest.js helpers in asyncscriptload.js.
mshtml: Support onload handlers in script elements.
mshtml: Block load event until dynamically created script elements that are part of the document are loaded.
urlmon: Make default user agent compatible with IE11.
urlmon: Factor out obtain_user_agent.
urlmon: Directly use otain_user_agent in ObtainUserAgentString.
urlmon: Support version option in ObtainUserAgentString.
urlmon/tests: Add more user agent string tests.
iphlpapi: Use nameless unions.
msi: Use nameless unions.
qedit: Use nameless unions.
qcap: Use nameless unions.
mmdevapi: Use nameless unions.
mmdevapi/tests: Use nameless unions.
mshtml/tests: Allow error when loading an image in events.html.
mshtml/tests: Allow typeof(localStorage) to be unknown.
urlmon: Fix user agent suffix separator handling.
include: Add UAS_EXACTLEGACY define.
mshtml: Report user agent matching current compat mode.
mshtml: Use "Netscape" as appName in IE11 compat mode.
mshtml: Fix navigator.toString() in IE9+ compat modes.
ieframe/tests: Allow non-zero initial session counter value.
Jan Sikorski (5):
wined3d: Rename create/destroy helpers dealing with Vulkan objects.
wined3d: Introduce struct wined3d_image_vk and its create/destroy helpers.
wined3d: Handle different slice pitches in uncompressed texture updates.
wined3d: Handle different slice pitches in compressed texture updates.
d3d11/tests: Test updates of 3D textures.
Jiangyi Chen (1):
ws2_32: Add a missing break.
John Zourlios (1):
kernelbase: Accept LINGUISTIC_IGNOREDIACRITIC & SORT_DIGITSASNUMBERS in CompareStringEx().
Lauri Kenttä (3):
mscms: Support COLOR_CMYK to COLOR_3_CHANNEL translation.
mscms: Allow any COLORTYPE translation equally.
po: Update Finnish translation.
Louis Lenders (2):
wbemprox: Add ProductType to win32_operatingsystem class.
wtsapi32: Implement WTSQuerySessionInformation(WTSDomainName).
Mark Harmstone (4):
mscvpdb.h: Use official names for CodeView constants.
ntdll: Take into account ordinal base when resolving forwarded ordinals.
ntstatus.h: Add MUI statuses.
ntdll: Add error mapping for MUI statuses.
Matteo Bruni (2):
wined3d: Handle blits to Vulkan swapchains not matching the D3D swapchain.
wined3d: Advertise multisampling only when supported.
Michael Stefaniuc (8):
wldap32: Remove redundant NULL check before heap_free().
mshtml: Print the debug string and not the pointer to it.
devenum: Avoid the comma operator.
mscoree: Remove redundant NULL check before HeapFree().
evr: Remove superfluous cast to self.
gameux: Use wide-char string literals.
uninstaller: Constify the string paramenter of output_array().
uninstaller: Use wide-char string literals.
Nikolay Sivov (37):
dwrite: Test simulations mask bitwise for consistency.
dwrite/tests: Extend tests for synthesized axis values.
dwrite: Implement IDWriteFontSet1::CreateFontResource().
dwrite/gdiinterop: Pass target transform when getting recommended rendering mode.
dwrite: Request one glyph outline at a time in GetGlyphRunOutline().
d2d1: Implement d2d_geometry_group_GetBounds().
urlmon: Fix function name in the warning message.
urlmon: Remove unnecessary local variable.
mf/session: Consider audio block alignment when creating output buffers for transforms.
mfreadwrite/reader: Consider audio block alignment when creating output buffers for the decoder.
dwrite: Return complete outline data from freetype integration code.
gdiplus/metafile: Implement DrawEllipse() recording.
gdiplus/metafile: Implement FillEllipse() recording.
gdiplus: Add a helper to check for metafile graphics context.
gdiplus/metafile: Implement DrawRectangles() recording.
mfreadwrite/reader: Use current stream type to set up sample allocator.
mfreadwrite/reader: Enable DXGI device manager path.
dwrite: Use D3DCOLORVALUE equivalent to avoid nameless unions.
mfplat: Remove duplicated GUID entry from attribute tracing.
gdiplus/metafile: Implement FillPie() recording.
gdiplus: Forward GdipDrawRectangle() to GdipDrawRectangles().
gdiplus: Add a helper to initialize RectF.
gdiplus/metafile: Implement DrawArc() recording.
mfplat/tests: Add a test for d3d11 texture buffer updates.
mfplat: Fix SetCurrentLength() for d3d9 buffer.
mfplat: Fix SetCurrentLength() for d3d11 buffer.
mfplat: Implement GetContiguousLength() for d3d11 buffer.
mfplat: Implement GetContiguousLength() for d3d9 buffer.
mfplat: Use texture pointer for DXGI surface buffer.
mfplat: Implement Lock2D()/Unlock2D() for d3d11 buffer.
mfplat: Implement GetScanline0AndPitch() for d3d11 buffers.
mfplat: Always initialize output arguments in GetScanline0AndPitch() for d3d9 buffers.
mfplat: Rename media buffer structure to better reflect its usage.
mfplat: Implement Lock2DSize() for d3d11 buffers.
rtworkq: Partially implement shared queues.
mfreadwrite/reader: Use shared multi-threaded queue internally.
mfplat/tests: Add media source rate service tests.
Paul Gofman (4):
mmdevapi: Make spatial audio objects buffer update size constant.
ws2_32: Copy send buffer data for async send in WS2_ConnectEx().
ddraw: Request read only texture access for read only maps.
ddraw: Allow texture without DDSCAPS_TEXTURE for ddraw4 and earlier on software device.
Piotr Caban (1):
user32: Add clipping region tests on window resize.
Roberto Pungartnik (2):
po: Update Brazilian Portuguese translation.
po: Update Spanish translation.
Roman Pišl (2):
kernel32/tests: Add test for FileRenameInfo in SetFileInformationByHandle.
kernelbase: Convert DOS to NT path for FileRenameInfo in SetFileInformationByHandle.
Rémi Bernon (42):
windows.media.speech: Add stub dll.
windows.media.speech/tests: Add interface query tests.
windows.media.speech: Implement IInstalledVoicesStatic stub.
windows.media.speech: Implement IInstalledVoicesStatic::AllVoices stub.
windows.media.speech: Fake empty IInstalledVoicesStatic::AllVoices vector.
ntdll/tests: Fix tick count read from user shared data.
ntdll/tests: Add InterruptTimeBias to fix spurious test failures.
include: Add KSHARED_USER_DATA QpcData details and flags.
include: Include x86intrin.h in msvcrt/intrin.h.
ntdll: Don't call possibly deadly DbgUiGetThreadDebugObject.
widl: Only register activatable WinRT runtimeclass.
include: Add EventRegistrationToken struct in eventtoken.idl.
include: Add Gamepad runtimeclass in windows.gaming.input.idl.
windows.media.speech: Cleanup test to better check results and ignore refcounts.
windows.gaming.input: Add stub dll.
windows.gaming.input: Implement IGamepadStatics stubs.
windows.gaming.input: Implement IGamepadStatics::Gamepads stubs.
ntdll/tests: Add RtlQueryPerformanceCounter tests.
widl: Always check the runtimeclass interfaces presence.
include: Add IAsyncInfo interface in asyncinfo.idl.
include: Add IAsyncOperation and TypedEventHandler in windows.foundation.collections.idl.
include: Add User(ChangedEventArgs) runtimeclasses in windows.system.idl.
include: Add ForceFeedbackMotor runtimeclass in windows.gaming.input.forcefeedback.idl.
include: Add RawGameController runtimeclass to windows.gaming.input.idl.
windows.gaming.input: Fake empty IGamepadStatics::Gamepads vector.
windows.gaming.input: Fake IEventHandler_Gamepad support.
windows.gaming.input: Implement IRawGameControllerStatics stubs.
windows.gaming.input: Implement IRawGameControllerStatics::RawGameControllers stubs.
windows.gaming.input: Fake empty IRawGameControllerStatics::RawGameControllers vector.
windows.gaming.input: Fake IEventHandler_RawGameController support.
include: Add DayOfWeek enum in windows.globalization.idl.
include: Add GlobalizationPreferences runtimeclass in windows.system.userprofile.idl.
include: Add missing items_size parameter to GetMany.
include: Use UINT32 for IVectorView<T> index/size arguments.
windows.media.speech: Make vector stub consistent with other WinRT stubs.
widl: Generate typedefs for namespaced struct / enum types.
hidclass.sys: Fix parsed report descriptor length index.
windows.globalization: Add stub dll.
windows.globalization: Implement IGlobalizationPreferencesStatics stubs.
windows.globalization: Implement IGlobalizationPreferencesStatics::HomeGeographicRegion.
windows.globalization: Implement IGlobalizationPreferencesStatics::Languages.
windows.globalization: Fake empty IGlobalizationPreferencesStatics properties.
Torge Matthies (2):
winepulse.drv: Make timer thread time-critical.
winepulse.drv: Make timer delay more accurate.
Victor Hermann Chiletto (2):
winevulkan: Adequate vkEnumerateInstanceLayerProperties to the Vulkan spec.
winevulkan: Implement vkEnumerateDeviceLayerProperties.
Zebediah Figura (72):
opencl: Generate the spec file and thunks from the official XML registry file.
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_viewports().
wined3d: Introduce wined3d_device_context_set_viewports().
d3d11: Use wined3d_device_context_set_viewports().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_scissor_rects().
wined3d: Introduce wined3d_device_context_set_scissor_rects().
d3d11: Use wined3d_device_context_set_scissor_rects().
opencl: Move libOpenCL support to a new Unix library.
opencl: Build with msvcrt.
opencl: Do not prepend "wine_" to export names.
winegstreamer: Don't invert the proportion twice in wg_parser_stream_notify_qos().
winegstreamer: Convert timestamps to running time in wg_parser_stream_notify_qos().
wined3d: Pass a wined3d_device_context to wind3d_cs_emit_set_shader_resource_view().
wined3d: Introduce wined3d_device_context_set_shader_resource_view().
d3d11: Use wined3d_device_context_set_shader_resource_view().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_sampler().
wined3d: Introduce wined3d_device_context_set_sampler().
d3d11: Use wined3d_device_context_set_sampler().
server: Do not allow selecting on the ifchange object.
server: Make pulse_event() static.
server: Use default_fd_signaled() for sockets.
server: Fix a copy-paste error in a comment.
server: Remove a no longer relevant "see below" from a comment.
wined3d: Check whether a register is a UAV before recording UAV reads.
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_unordered_access_view().
wined3d: Introduce wined3d_device_context_set_unordered_access_view().
d3d11: Use wined3d_device_context_set_unordered_access_view().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_rendertarget_view().
wined3d: Introduce wined3d_device_context_set_rendertarget_view().
d3d11: Use wined3d_device_context_set_rendertarget_view().
opencl: Don't bother generating a Unix function table entry for clGetExtensionFunctionAddress().
opencl: Avoid calling clSetCommandQueueProperty().
opencl: Do not return an NTSTATUS from DllMain.
opencl: Expose extensions that don't use new commands.
opencl: Update to OpenCL 1.1.
opencl: Update to OpenCL 1.2.
d3d11: Use wined3d_device_context_set_unordered_access_view() in CSSetUnorderedAccessViews().
wined3d: Pass a wined3d_device_context to wined3d_device_context_emit_set_depth_stencil_view().
wined3d: Introduce wined3d_device_context_set_depth_stencil_view().
d3d11: Use wined3d_device_context_set_depth_stencil_view().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_predication().
wined3d: Introduce wined3d_device_context_set_predication().
d3d11: Use wined3d_device_context_set_predication().
server: Cancel asyncs before closing handles when a process is destroyed.
ntdll: Use a kernel APC to call NtDuplicateObject() if DUPLICATE_CLOSE_SOURCE is used on another process.
ntdll: Remove the source fd from the cache before calling the dup_handle request.
ntdll: Hold fd_cache_section while removing and closing handles.
server: Do not forbid closing fd handles in other processes.
include: Move SIGNER_* definitions to a new public header.
ntoskrnl/tests: Fix a test failure on Windows 10.
ntoskrnl/tests: Use WCHAR file paths.
ntoskrnl/tests: Test-sign driver files.
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_stream_source().
wined3d: Introduce wined3d_device_context_set_stream_source().
d3d11: Use wined3d_device_context_set_stream_source().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_index_buffer().
wined3d: Introduce wined3d_device_context_set_index_buffer().
d3d11: Use wined3d_device_context_set_index_buffer().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_vertex_declaration().
wined3d: Introduce wined3d_device_context_set_vertex_declaration().
d3d11: Use wined3d_device_context_set_vertex_declaration().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_stream_output().
wined3d: Require vertexAttributeInstanceRateZeroDivisor.
wined3d: Implement zero step rate for instanced attributes.
d3d10core/tests: Test multiple instanced step rates.
d3d11/tests: Test multiple instanced step rates.
wined3d: Introduce wined3d_device_context_set_stream_output().
d3d11: Use wined3d_device_context_set_stream_output().
wined3d: Introduce wined3d_device_context_dispatch().
d3d11: Use wined3d_device_context_dispatch().
wined3d: Introduce wined3d_device_context_dispatch_indirect().
d3d11: Use wined3d_device_context_dispatch_indirect().
Zhiyi Zhang (3):
winex11.drv: Call request_selection_contents() after the XFixes extension is initialized.
winedump: Dump EMR_HEADER record.
winedump: Dump more fields for EMR_EXTTEXTOUTW records.
Ziqing Hui (1):
windowscodecs: Add stub implementation for DDS encoder.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 5.0.4 is now available.
What's new in this release (see below for details):
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0.4.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0.4.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.0.4 (total 67):
18670 QIP Infium 2.0 build 9030 crashes on exit (needs a proper implementation of WSACleanup)
21150 Memorex exPressit Label Design Studio 4.x crashes when creating a new project (ieframe 'IOleObject::Advise' is a stub)
22616 Multiple applications need msvcirt.dll.??0ifstream@@QAE@PBDHH@Z (Merriam-Webster Dictionary, Power Tab Editor, gmax 1.2, GradeBook for Windows, Microsoft Reader)
22749 Hard link creation from a Finddupe-generated batch file fails ('fsutil.exe' needs to support 'hardlink create' command)
28332 Wazzal 1.2 (2002 release) crashes after clicking 'Play'
30014 Multiple programs require msvcirt.dll.??0ifstream@@QAE@XZ (Wouxun KG-UV2D, Charon, Cricket 2002, Mastercook 15, GraphCalc)
32613 Tom Clancy's Rainbow Six: Lockdown crashes after the intro videos (needs DxDiag_SoundDevices device child nodes present)
32877 Gnomoria Demo crashes on launch.
33996 Multiple installers fail in VBScript custom actions due to missing support of Properties with Parameters (IncrediMail, LabChart Reader 8, Toad for MySQL Freeware 7.x)
34770 Some WMI applications fail when incorrectly passing WBEM_MASK_CONDITION_ORIGIN to IWbemClassObject::GetNames method
35744 LabChart Reader 8 installer ends prematurely (VBScript support for class default sub missing)
35782 Tic Tac Toe Game (vbscript) cannot be played (colon used in for loop for placing multiple statements on the same line)
38014 CCCP Insurgent v2007-01-01 crashes when querying system information via DxDiag
38964 widl: inconsistent null pointer checks in typelib writer
39731 Assassin's Creed IV Black Flag crashes
40430 Multiple NVIDIA installers abort due to failure to process xml config (PhysX 9.x, GeForce Now, GeForce Experience 3.x, RTX Voice)
42731 stack overflow when .bat script variable has more than 256 characters
44061 Destiny 2 crashes on launch (needs non-zero TimeDateStamp field in PE file header)
44367 Multiple applications need d2d FillEllipse/DrawEllipse implementation (OP-X PRO II VST)
44502 Epic Games Launcher (Fortnight 7.x) reports 'Error: Initialization failed while advising the language notification sink to the TSF source. (0x80004001)' (unsupported ITfActiveLanguageProfileNotifySink)
45400 eden* (VN) some font characters display with the wrong glyph (capitals/spaces)
45797 NVIDIA GeForce Experience 3.x installer fails due to 'mshtml.OleObject_{Get,Set}Extent' stubs
46967 GOG Galaxy doesn't run in virtual desktop
47570 Builtin Split function not implemented (needed by FotoBizX Installer)
48396 'cmd.exe /c move file1 file2' doesn't respect non-interactive mode, causing prompt for overwrite if destination file exists
48397 'cmd.exe /c move file1 file2' doesn't overwrite existing destination file in non-interactive mode
48529 Avencast: Rise of the Mage fails to launch
48545 SDL GameControllerAddMapping registry keys do not work
48860 RegiStax 6: mouse does not work in open file dialog
48870 Aldi (Buhl) Steuer 2019/2020 installer crashes
49143 RTF Editor does not support cyrillic letters using MS Sans Serif Font
49172 Always true condition `code > 0xffff` in vbscript/global.c
49309 vbscript:run test fails in Japanese locale
49314 Wine segfaults with too many command-line arguments
49335 Dolphin EasyReader for Windows 6.04 (TTS app) crashes after completing startup wizard (needs IMarkupServices::CreateMarkupPointer method implementation)
49449 Terraria Mobile Server (.NET 4.x) crashes with System.NotImplementedException NATUPNPLib.IUPnPNAT.get_StaticPortMappingCollection()
49450 Adobe Shockwave Player 11.x plugin installer fails with jscript:cc_parser_parse '&&' expression not implemented
49575 Delphi applications no longer show their main window in the WM's taskbar
49591 Multiple GOG installers display the error message "Out of Global Vars range"
49643 Calling ClipCursor too frequently can cause stack overflow in foreground window thread.
49719 The Bat! v9.2.2.3: The 32bit version and the 64bit version crashed after startup
49728 Appear (a 4K rendering demo) crashes on unimplemented function user32.dll.SetWindowFullScreenState
49738 "warning: implicit declaration of function ‘strtoumax’" when compiling PuTTY with Winelib
49774 macDriver no longer functions within macOS VM
49805 Pyxel Edit crashes when clicking the "File" dropdown option.
49806 WIDL doesn't tolerate attribute [hidden] within enums.
49808 Stellaris loads very slowly
49811 cmd /c "cd "directory"&&"somecommand.exe"" tries to cd to "directory"&&"somecommand.exe"
49820 VBScript fails to parse decimal literals between -1 and 1 without 0 in front
49821 Seismobuild crashes at start
49850 No One Lives Forever crashes due to GetMotif stub in dmstyle
49857 NCLauncher2: Crypto error on a successful login
49900 Go programs built using go-winio crash on unimplemented function ntdll.dll.RtlDefaultNpAcl
49909 Win Toolkit v.1.4.37.20 (.NET 3.5 app) crashes with wine-mono
49924 IP address control does not focus its fields on focus change
49982 A '(call )' line does not reset %ERRORLEVEL% to 0
50016 PS Remote Play can't install: "To use PS Remote Play, update your PC's OS to the latest version, and then install the Media Feature Pack from Microsoft."
50031 The Foundation Game crashes with bundled ucrtbase
50038 IWbemClassObject::Get method with wszName = NULL crashes inside wbemprox
50049 Fallout 76 opens black screen then crashes on start
50094 Rockstar Games Launcher installer hyperlinks don't work
50116 ODBC applications fail to create/configure system DSNs with builtin 'odbccp32' (SQLConfigDataSource must remap ODBC_xxx_SYS_DSN values for ConfigDSN)
50126 Writing VT_UI8 property type to a stream is not currently supported
50153 HID doesn't work on macOS Catalina and Big Sur unless "Input Monitoring" permission is granted
50160 VstHost crashes on unimplemented function avrt.dll.AvSetMmMaxThreadCharacteristicsA
50179 Future Pinball: parse_hex_literal invalid literal
50373 Touhou Shinpiroku trial terminates immediately
----------------------------------------------------------------
Changes since 5.0.3:
Aaron Hill (1):
cmd: Set errorlevel to 0 when 'call' is invoked with an empty string.
Akihiro Sagawa (4):
vbscript: Support non-Latin 1 characters in Asc.
kernelbase: Improve Get{, Dynamic}TimeZoneInformation() performance.
kernelbase: Fix copy and paste error.
d3dx9: Avoid closing invalid handles.
Alex Henrie (1):
user32: Comment out SetWindowFullScreenState.
Alexandre Abgrall (1):
msxml3: Fix value of 'fetched' in IEnumVARIANT::Next() for IXMLDOMSelection.
Alexandre Julliard (3):
winebuild: Set PE timestamps to a hash of the file name.
winex11: Don't delay mapping 0-sized layered windows.
ntdll: Avoid overflowing the command line buffer.
Alistair Leslie-Hughes (3):
ws2_32: Correct returned error code for an invalid socket.
msado15: Implement _Command get/putref ActiveConnection.
msctf: Accept ITfActiveLanguageProfileNotifySink in ThreadMgr AdviseSink.
Arkadiusz Hiler (4):
msvcirt: Implement most of ifstream.
gdi32: Limit GetGlyphOutlineW(uChar) to a WORD.
msvcirt: Implement _mtlock() and _mtunlock().
user32: Fix WM_DEVICECHANGE handling.
Biswapriyo Nath (1):
ntdll: Add RtlDefaultNpAcl stub.
Brendan Shanks (4):
winemac.drv: Don't fail GPU detection if some IOKit properties are missing.
winebrowser: Prefix an invalid URL with 'http://' before opening with a browser.
wine.inf: Add UrlAssociations for FTP/HTTP/HTTPS.
winebus.sys: Open IOHID devices individually to fix macOS Catalina and Big Sur.
Christian Costa (1):
d3dx9: Ignore vertices reordering for D3DXMESHOPT_ATTRSORT in OptimizeInPlace().
Damjan Jovanovic (1):
cmd.exe: Increase size of WCMD_HandleTildeModifiers() buffers to MAXSTRING.
Dmitry Timoshkov (2):
ieframe: Implement IOleObject::Advise().
usp10: Don't specify ETO_GLYPH_INDEX for bitmap fonts.
Esme Povirk (2):
dism: Add version resource.
mscoree: Use builtin XNA implementation by default.
Fabian Maurer (1):
user32/menu: Store application defined value as pointer.
Francesco Noferi (1):
cmd.exe: Fix parsing of && between quotes.
Gijs Vermeulen (6):
mshtml: Implement IOleObject::[Get|Set]Extent.
msvcr120: Add [_]strtoimax[_l] and [_]strtoumax[_l].
quartz: Return E_INVALIDARG when cursor is NULL in IEnumFilters::Skip().
quartz: Only return S_FALSE in IEnumFilters::Skip() if count goes past the end of the sequence.
wbemprox: Accept 0 and WBEM_FLAG_ALWAYS | WBEM_MASK_CONDITION_ORIGIN as flags in IWbemClassObject::GetNames().
avrt: Add AvSetMmMaxThreadCharacteristicsA/W stub.
Giovanni Mascellani (1):
d2d1: Implement ellipse drawing.
Haidong Yu (2):
inetcpl.cpl: Fix memory leak in security_on_initdialog.
ieframe: Fix memory leak in PersistFile_Save.
Hans Leidekker (6):
crypt32: Add support for CRYPT_MACHINE_KEYSET in PFXImportCertStore.
wbemprox: Also return system properties from IWbemClassObject::GetNames.
odbccp32: Map system DSN requests to user DSN requests in SQLConfigDataSource.
winebus.sys: Fix registry access rights for SDL controller mapping.
msado15: Avoid a crash with tracing on.
winhttp: Avoid a crash when the connection is closed while handling a redirect.
Hirofumi Katayama (1):
comctl32/ipaddress: Focus first field on WM_SETFOCUS.
Huw D. M. Davies (2):
user32: Use a default name for winstations created or opened with no name.
qcap: Avoid unused variable warning if v4l is absent.
Jacek Caban (4):
mshtml.idl: Add missing MoveUnitBounded to IMarkupPointer2.
mshtml: Add IMarkupServices::CreateMarkupPointer implementation.
vbscript: Overflow hex literals in 16-bit range.
vbscript: Don't convert hex literals ending with '&' to short in parse_hex_literal.
Jan Sikorski (1):
dbghelp: Avoid forwarded exports.
Ken Thomases (1):
mountmgr: Avoid operating on a null CFStringRef, which would crash.
Louis Lenders (1):
explorerframe: Return S_OK in ITaskbarList::RegisterTab.
Michael Müller (4):
fsutil: Print out usage message.
fsutil: Add support for creating hardlinks.
dxdiagn: Enumerate DirectSound devices and add some basic properties.
dxdiagn: Calling GetChildContainer with an empty string on a leaf container returns the object itself.
Michael Stefaniuc (1):
dxdiagn/tests: Use wide-char string literals.
Myah Caron (7):
cmd.exe: Fix /Y flag for move builtin.
cmd.exe: Don't prompt for move when non-interactive.
include: Add IShellLinkDual interface.
shell32: Add ShellLinkObject stubs.
shell32: Implement ShellLinkObject::get_Path.
dmstyle: Return S_FALSE for IDirectMusicStyle8::GetMotif.
dmband: Avoid cloning stream in parse_bands_list.
Nikolay Sivov (4):
widl: Add null source pointer check for typelib writer.
widl: Enable [hidden] attribute for enums.
comctl32/ipaddress: Select field contents on IPM_SETFOCUS.
ole32/propstorage: Handle VT_I8/VT_UI8 when serializing properties.
Paul Gofman (1):
d3d11: Avoid crash in _CopySubresourceRegion[1]() on NULL resources.
Piotr Caban (2):
msvcrt: Don't write Unicode BOM if file is not empty in _wsopen_dispatch.
msvcrt: Implement opening Unicode files with no BOM in _wsopen_dispatch.
Robert Wilhelm (13):
vbscript: Implement Split.
vbscript: Colon used in for loop.
vbscript: Parse decimal literals between -1 and 1 without 0 in front.
vbscript: Fix handling zero and negative number arguments in err.raise.
vbscript: Fix vanishing statements.
vbscript: Add is_default flag to function_decl_t.
vbscript: Support class default sub.
jscript: Cc_parser_parse implement '&&' expression.
vbscript: Allow keywords to be used as function name.
vbscript: Allow keywords to be used as property name.
vbscript: Support properties with parameters.
vbscript: Support property set with parameters.
vbscript: Remove overzealous check in parse_hex_literal.
Rémi Bernon (5):
winex11.drv: Don't wait for the desktop thread to store clipping window.
user32: Return TRUE from ShowWindow(SW_SHOW) if already visible.
wbemprox: Report 4095MiB video memory if it overflows.
mscoree/tests: Test invalid assembly paths in registry.
mscoree: Fallback to assembly name if codebase path is invalid.
Sven Baars (1):
shell32: Fix a leak on error path (Coverity).
Vijay Kiran Kamuju (2):
include: Add IMarkupServices2, IMarkupContainer2 and IMarkupPointer2 related interfaces.
hnetcfg: Return S_OK in get_StaticPortMappingCollection.
Yongjie Yao (1):
msxml3: Fix a memory leak (Valgrind).
Zebediah Figura (5):
ws2_32: Keep a list of open sockets.
ws2_32: Close all open sockets in WSACleanup().
wine.inf: IsInstalled is a DWORD value.
user32/tests: Add some tests for release of capture via modal dialogs.
user32: Send WM_CANCELMODE to the current capture window after initializing a modal dialog.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 6.4 is now available.
What's new in this release (see below for details):
- Support for the DTLS protocol.
- Fontset support in DirectWrite.
- Dialog for editing Access Control entries.
- Theming support for a few more common controls.
- Support for Korean Wansung encoding.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.4.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.4.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.4 (total 38):
7416 Support multiple independent displays for PowerPoint, OpenOffice.org, etc
16676 RTG Bills 2.x (VB6 app) reports 'ADO error 1BD Object doesn't support this action' on startup (msado15 'connection_GetIDsOfNames' is a stub)
25323 Civilization IV Beyond the Sword crashed when trying to start a new game.
31814 Gecko should clean up when upgrading
36463 wine can't load unstripped gecko builds
36697 64-bit InstallShield engine COM server 'ISBEW64.exe' crashes or hangs (32-bit InstallShield based installers in 64-bit WINEPREFIX)
37011 acid3.acidtests.org can't load with builtin IE
38744 support _UNITY_NET_WORKAREA_REGION
39381 32-bit Turbocad 8.0 LTE 'CrashSender.exe' utility crashes in WMI Query "SELECT * FROM Win32_NetworkAdapterConfiguration where IPEnabled='True' and index=1"
41433 Acrobat Reader XI (11.0.8): Annotations are empty
42827 Canon MP Navigator EX 4.x/5.x installer crashes due to setupapi SPFILENOTIFY_FILEINCABINET handler/callback insufficiencies
46969 Multiple 64-bit WDM kernel drivers want Windows 8+ 'ntdll.RtlQueryRegistryValuesEx' (WIBUKEY, Denuvo Anti-Cheat)
48127 Soldiers of Anarchy (demos & full game 1.1.2.178), crashes with an 'Unknown error' message when starting a level
48879 NVIDIA PhysX System Software 9.12.1031 installer fails ('Add64Bit_Reg' VBScript action needs minimal 'WbemScripting.SWbemNamedValueSet' implementation)
49531 Multiple Qt5 applications spam the console continuously with 'fixme:netprofm:connection_GetAdapterId' ('INetworkConnection::GetAdapter' returns incorrect adapter GUID)(Futubull 10.x, Melodics V2, Topaz Video Enhance AI 1.x)
49830 Obduction stops with "fatal error"
49998 widl doesn't support winrt types (runtimeclass, delegate, parameterized types, ...)
50123 The Elder Scrolls V: Skyrim SE has rendering glitches with vulkan renderer
50263 Entropia Universe: Won't Start the Game from Client Loader
50377 Banished cast shadows are broken with Vulkan renderer
50422 Multiple games (Horizon Zero Dawn, Serious Sam 4) crash on start on Nvidia due to missing unwrap for VK_OBJECT_TYPE_SURFACE_KHR
50563 The Witcher 3: Wild Hunt has missing sunlight with Vulkan renderer
50632 Neverwinter: Broken graphics (texturing)
50641 Wine cmd handles incorrectly if-for on a single line
50642 Wine cmd handles incorrectly if-set when expanding variable with brackets
50667 Final Fantasy XI Online: Opening movie doesn't play (redux).
50678 Filmotech v3.91: partial black area
50698 ::wcsrtombs does not NULL "const wchar_t ** _PSource" parameter in Wine.
50704 QueueUserAPC() Has Incorrect Error Set When Called On Terminating Thread
50706 6.2 hangs on grey, then crashes Snapdragon855(+) Android 10
50731 All Winelib applications built with winegcc/wineg++ segfault on startup as of Wine 6.3
50732 Multiple Adobe products fail to start due to Wine 6.3 breaking Adobe License Manager/FLEXnet Licensing Service (Acrobat 8.x, FrameMaker 8)
50740 The Suffering (Midway Games) crashes due to missing wmvcore 'IWMSyncReader2', CLSID '{faed3d21-1b6b-4af7-8cb6-3e189bbc187b}'
50744 continuous spamming of fixme:msctf:InputProcessorProfileMgr_GetActiveProfile in console
50769 notepad: menu bar items and title text are not translated.
50774 DirectWrite should use mac platform name entry for English, if Windows entry is missing
50781 cl.exe fails to open program database
50786 WINEPATH env var broken by "ntdll: Set environment variables from the registry on the Unix side."
----------------------------------------------------------------
Changes since 6.3:
Aaro Altonen (1):
kernelbase: Add 'Bonaire, Sint Eustatius and Saba' to geoinfodata.
Alexandre Julliard (50):
ntdll: Pass correct pointer to build_module().
ntdll: Adjust environment size for dynamic strings.
ntdll: Store the Unix codepage in a Wine-specific environment variable.
ntdll: Check for existing Unix path name in RtlGetFullPathName_U().
ntdll: Remove no longer needed Unix codepage functions from the PE side.
ntdll: Store the locales in Wine-specific environment variables.
adsldp: Use --prefer_native instead of DLL_WINE_PREATTACH.
comsvcs: Use --prefer_native instead of DLL_WINE_PREATTACH.
directmanipulation: Use --prefer_native instead of DLL_WINE_PREATTACH.
dpvoice: Use --prefer_native instead of DLL_WINE_PREATTACH.
dsdmo: Use --prefer_native instead of DLL_WINE_PREATTACH.
dx8vb: Use --prefer_native instead of DLL_WINE_PREATTACH.
infosoft: Use --prefer_native instead of DLL_WINE_PREATTACH.
inseng: Use --prefer_native instead of DLL_WINE_PREATTACH.
mf: Use --prefer_native instead of DLL_WINE_PREATTACH.
mfreadwrite: Use --prefer_native instead of DLL_WINE_PREATTACH.
mmcndmgr: Use --prefer_native instead of DLL_WINE_PREATTACH.
msimtf: Use --prefer_native instead of DLL_WINE_PREATTACH.
netcfgx: Use --prefer_native instead of DLL_WINE_PREATTACH.
netprofm: Use --prefer_native instead of DLL_WINE_PREATTACH.
propsys: Use --prefer_native instead of DLL_WINE_PREATTACH.
qdvd: Use --prefer_native instead of DLL_WINE_PREATTACH.
qmgr: Use --prefer_native instead of DLL_WINE_PREATTACH.
taskschd: Use --prefer_native instead of DLL_WINE_PREATTACH.
uianimation: Use --prefer_native instead of DLL_WINE_PREATTACH.
wbemdisp: Use --prefer_native instead of DLL_WINE_PREATTACH.
wiaservc: Use --prefer_native instead of DLL_WINE_PREATTACH.
wpc: Use --prefer_native instead of DLL_WINE_PREATTACH.
wuapi: Use --prefer_native instead of DLL_WINE_PREATTACH.
ntdll: Remove DLL_WINE_PREATTACH support.
ntdll: Only check the existence of the directory for the Unix pathname heuristic.
dbgeng: Use the correct machine type for ARM.
kernelbase: Use the correct machine type for ARM.
ntdll: Fetch locale information from the Unix side in resource loading.
configure: Don't override the specified TARGETFLAGS.
ntdll: Add a helper to initialize a UNICODE_STRING on the Unix side.
ntdll: Make the open_hkcu_key() helper available globally.
ntdll: Add support for growing the initial environment dynamically.
ntdll: Set environment variables from the registry on the Unix side.
ntdll: Predefine the SystemRoot and SystemDrive variables.
ntdll: Make sure we send valid object attributes in NtCreateUserProcess().
ntdll: Launch wineboot from the Unix side.
include: Always define 32- and 64-bit versions of the TEB and PEB structures.
ntdll: Explicitly reset the PATH variable before reloading the environment.
user32/tests: Remove todo from a test that seems to succeed reliably now.
make_unicode: Use codepage 949 to add default mappings to codepage 20949.
kernel32/tests: Add some tests for the behavior of queries on a dead process.
server: Only keep the running processes in the global process list.
server: Store a copy of the image file name in the process.
server: Don't return image information for a terminated process.
Alistair Leslie-Hughes (1):
include: Add colrst.idl.
Andrey Gusev (1):
urlmon/tests: Fix typos in ok() messages.
Arkadiusz Hiler (5):
kernelbase: Fix GetFileVersionInfo*() crashes with malformed resources.
dinput8/tests: Make input helper function more versatile.
dinput: Clear action mapping with SetDataFormat().
include: Add DIPROPPOINTER definition.
dinput: Implement DIPROP_APPDATA.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (2):
msvcrt: Update source pointer in wcsrtombs in C locale.
netprofm: Set correct GUIDs for network connections.
Brendan Shanks (1):
winemac.drv: Fix crash when building against Metal-capable SDK but running on older OS X.
Byeong-Sik Jeon (5):
gdi32: Move FT_Library_SetLcdFilter() to init_freetype().
gdi32: Fix typo in get_transformed_bbox() trace message.
gdi32: Remove incoming_font argument of get_advance_metric().
gdi32: Remove metrics, vertical_metrics arguments of get_advance_metric().
gdi32: Remove needTransform variable of freetype_get_glyph_outline().
Chao Long (1):
wmic: Add missing aliases.
Daniel Lehman (4):
msvcr120: Add fetestexcept.
msvcr120: Add fesetexceptflag.
msvcr120: Add feclearexcept.
msvcr120: Add fegetexceptflag.
Dmitry Kislyuk (1):
msctf: Quiet a spammy fixme in InputProcessorProfileMgr_GetActiveProfile.
Dmitry Timoshkov (2):
kernel32/tests: Add a test for calling QueueUserAPC() on a terminated thread.
server: Set error to STATUS_UNSUCCESSFUL when the server fails to queue APC for a thread.
Esme Povirk (1):
mscoree: Add an option to enable the interpreter.
Floris Renaud (3):
shell32: Resize Run program window.
po: Update Dutch translation.
po: Update Dutch translation.
François Gouget (12):
odbccp32/tests: Fix the spelling of a comment.
advapi32/tests: Fix the spelling of a couple of ok() messages.
msado15: Fix the name of the command_text variable.
wrc: Remove the trailing linefeed from a parser_error() message.
winegcc: Add a trailing linefeed to an error() message.
fsutil/tests: Add a trailing linefeed to an ok() message.
conhost: Add a trailing linefeed to TRACE() and ERR() messages.
libwine: Use NULL instead of casting 0.
xactengine3_7: Add a trailing linefeed to ERR() messages.
winevulkan: Add a trailing linefeed to FIXME() messages.
configure: Fix the libsane pkg-config name.
winetest: Avoid duplicating the extract_test_proc() cleanup code.
Gabriel Ivăncescu (4):
jscript: Check for null instance prototype.
jscript: Store the object prototype in the script context.
jscript: Use default object prototype if it's null.
jscript/tests: Add more tests for setting prototype to different builtin types.
Georg Lehmann (3):
winevulkan: Rework VkEnumValue creation.
winevulkan: Generate constants for 64bit flags.
winevulkan: Fix 64bit enums on old gcc versions.
Gijs Vermeulen (6):
include: Fix IWMSyncReader2 uuid.
wmvcore: Upgrade to IWMSyncReader2.
wmvcore: Move IWMSyncReader implementation to separate file.
wmvcore/tests: Introduce check_interface().
wmvcore: Support IWMProfile in IWMSyncReader.
kernelbase: Support FileRenameInfo in SetFileInformationByHandle.
Giovanni Mascellani (4):
dwrite: Do not segfault when there are no typographic features to return.
dwrite/tests: Do not assume that fonts have a en-us name.
dwrite/tests: Remove overzealous test.
d2d1: Implement D2D1ConvertColorSpace().
Hans Leidekker (8):
wbemprox: Fix memory leaks on error paths.
wbemprox: Trace the context parameter in method implementations.
wbemprox: Make system restore naming consistent with the other method implementations.
include: Add missing SECBUFFER defines.
secur32: Add a helper to read TLS record size.
secur32: Add DTLS support.
secur32: Add support for setting DTLS MTU.
secur32: Return more attributes from schan_InitializeSecurityContextW.
Henri Verbeet (8):
wined3d: Use wined3d_cs_finish() in wined3d_view_gl_destroy().
wined3d: Use wined3d_cs_finish() in wined3d_view_vk_destroy().
d3d11: Ensure sampler max_lod is >= min_lod.
wined3d: Set the "compareEnable" field of struct VkSamplerCreateInfo to either 0 or 1.
wined3d: Request VK_KHR_external_memory on Vulkan 1.0.
wined3d: End active queries before restarting them in wined3d_query_vk_issue().
wined3d: Pass a resource range to wined3d_context_vk_image_barrier().
wined3d: Implement automatic mip-map generation for the Vulkan adapter.
Hugh McMaster (22):
reg/tests: Split 'delete' tests from reg.c.
reg/tests: Split 'query' tests from reg.c.
reg/tests: Split first sequence of 'import' tests from reg.c.
reg/tests: Split first sequence of Unicode 'import' tests from reg.c.
reg/tests: Split whitespace 'import' tests from reg.c.
reg/tests: Split Windows 3.1 'import' tests from reg.c.
reg/tests: Split 'export' tests from reg.c.
reg/tests: Split 'copy' tests from reg.c.
reg/tests: Rename reg.c to add.c.
reg/tests: Fix copy/paste typo in reg.exe availability check.
reg/tests: Comprehensively check for elevated privileges before starting Windows 3.1 import tests.
reg/tests: Pass __FILE__ from the caller so the correct filename is shown in error logs.
reg/tests: Group REG_SZ default value tests.
reg/tests: Add some tests for strings containing the characters backslash zero.
reg/tests: Update value names in 'add' overwrite test.
reg/tests: Always specify the expected exit code in error messages.
reg/tests: Try deleting strings containing escaped null characters.
reg/tests: Try importing registry files with escaped null characters.
reg/tests: Try exporting registry values with escaped null characters.
regedit/tests: Add tests for escaped null characters.
regedit: Stop parsing REG_SZ values containing NUL character sequences.
reg: Stop parsing REG_SZ values containing NUL character sequences.
Huw D. M. Davies (23):
riched20: Move the window procs to txthost.c .
riched20: Remove the host structure's typedef.
riched20: Remove the text services structure's typedef.
riched20: Don't take a ref on the text host.
riched20: The text host should create the text services object.
winecoreaudio: Undefine a few more items to prevent macro redefinition warnings.
winecoreaudio: Cast enums to ints when printing.
winemac: Add discardEventsPassingTest to WineEventQueue's interface.
riched20/tests: Use the system locale to determine rtl and multibyte behaviour.
riched32/tests: Use the system locale to determine rtl and multibyte behaviour.
riched32/tests: Add a todo_wine for a test that has always failed.
riched20: Remove an unused critsec.
riched20: Store the host as the window prop.
riched20: Add ITextServices stdcall wrappers.
riched20: Handle WM_DESTROY in the host.
riched20: Handle WM_SETTEXT's unicode conversion in the host.
riched20: Handle WM_CHAR's unicode conversion in the host.
riched20: Handle EM_REPLACESEL's unicode conversion in the host.
riched20: Use EM_GETTEXTLENGTHEX to implement WM_GETTEXTLENGTH.
riched20: Use EM_GETTEXTEX to implement WM_GETTEXT.
richedit: Handle EM_GETTEXTRANGE's unicode conversion in the host.
riched20: Handle EM_FINDTEXT's unicode conversion in the host.
riched20: Handle EM_FINDTEXTEX's unicode conversion in the host.
Jacek Caban (38):
ntdll: Restore all non-volatile i386 registers in syscall dispatcher.
ntdll: Use syscall frame in x86 call_raise_user_exception_dispatcher implementation.
ntdll: Store FPU and XMM contexts in x86 syscall frame.
ntdll: Use syscall frame for FPU and XMM contexts in NtGetContextThread.
ntdll: Use syscall frame for FPU and XMM contexts in NtSetContextThread.
ntdll: Store x86 YMM context insyscall dispatcher.
ntdll: Use syscall frame for x86 YMM context in NtGetContextThread.
ntdll: Use syscall frame for handling x86 YMM context in NtSetContextThread.
ntdll: Use syscall dispatcher to restore context in NtSetContextThread.
ntdll: Fix a typo in SegSs handling in NtSetContextThread.
ntdll: Use xsave compaction in syscall dispatcher.
include: Add IHTMLElement7 declaration.
mshtml: Add IHTMLElement7 stub implementation.
mshtml: Expose IHTMLElement7 to scripts.
mshtml: Add IHTMLElement7::spellcheck property implementation.
mshtml/tests: Use more winetest.js helpers in more places.
mshtml: Add animationstart and animationend event support.
jscript: Print source location in backtraces.
jscript: Improve prop_get and prop_put debug traces.
mshtml: Initialize attribute object with compatibility mode.
mshtml: Initialize HTMLRect object with compat mode.
mshtml: Initialize HTMLRectCollection object with compat mode.
mshtml: Initialize HTMLAttributeCollection object with compat mode.
mshtml: Initialize DOMEvent object with compat mode.
mshtml: Initialize HTMLImageElementFactory object with compat mode.
mshtml: Initialize DOMEventObj object with compat mode.
mshtml: Initialize HTMLLocation object with compat mode.
mshtml: Initialize HTMLOptionElementFactory object with compat mode.
mshtml: Initialize HTMLTxtRange object with compat mode.
mshtml: Initialize HTMLSelectionObject object with compat mode.
mshtml: Initialize HTMLXMLHttpRequestFactory object with compat mode.
mshtml: Initialize HTMLScreen object with compat mode.
mshtml: Initialize OmHistory object with compat mode.
mshtml: Initialize HTMLPluginsCollection object with compat mode.
mshtml: Initialize HTMLMimeTypesCollection object with compat mode.
mshtml: Improve call_event_handlers debug traces.
jscript: Silence parser_error warning.
jscript: Improve interp_local debug traces.
Jactry Zeng (2):
netprofm: Initialize ret value in IEnumNetworkConnections_Next().
ole32: Handle CF_HDROP format.
Jan Sikorski (1):
wined3d: Check slice pitch against its size in wined3d_format_copy_data().
Lauri Kenttä (1):
po: Update Finnish translation.
Matteo Bruni (6):
wined3d: Correctly handle modifiers on instructions with multiple destination registers.
wined3d: Disable WINED3DFMT_D16_LOCKABLE on backbuffer ORM.
wined3d: Disable WINED3DFMT_NULL on backbuffer ORM.
wined3d: Use VK_FORMAT_D24_UNORM_S8_UINT when available.
d3d11/tests: Report failure in test_clear_buffer_unordered_access_view() at the first mismatch.
wined3d: Remove dead statement.
Michael Müller (5):
aclui: Add an empty ACE editor dialog.
aclui: Populate the users list.
aclui: Add icons to the users list.
aclui: Populate the access list.
aclui: Implement EditSecurity().
Myah Caron (1):
api-ms-win-core-kernel32-legacy-l1-1-2: Add new dll.
Nikolay Sivov (65):
msado15: Fix copy-paste typos in IDispatch methods.
widl: Remove unnecessary assignment (Coverity).
oleaut32: Fix VariantCopy()/VariantCopyInd() prototypes.
oleaut32: Fix VariantChangeType()/VariantChangeTypeEx() prototypes.
wbemprox: Implement SetStringValue() method.
wbemprox: Implement SetDWORDValue() method.
wbemprox: Implement DeleteKey() method.
wbemdisp: Reference Services object in objects it's created.
wbemdisp: Forward ExecMethod_() to Services object.
wbemdisp: Partially implement ExecMethod().
dwrite/layout: Implement axis values property for the format object.
wbemdisp: Iterate properties and methods once when collecting supported member names.
wbemdisp: Keep property member types.
wbemdisp: Coerce property value before setting it in ISWbemObject::Invoke().
wbemdisp: Pass context value to ConnectServer().
wbemdisp: Pass context value to ExecMethod().
oleaut32: Fix Var*FromDec() prototypes.
wbemdisp: Implement GetObjectText_().
wbemdisp: Downgrade failing interface queries to warnings.
wbemdisp: Forward ISWbemNamedValueSet::DeleteAll() to context object.
wbemdisp: Forward ISWbemNamedValueSet::Remove() to context object method.
wbemprox: Keep context object per services instance.
wbemprox: Implement context object cloning.
wbemprox: Pass context object to the method.
wbemprox: Prioritize ExecMethod() context over services instance one.
wbemprox: Handle __ProviderArchitecture in DeleteKey().
wbemprox: Handle __ProviderArchitecture in GetStringValue().
wbemprox: Handle __ProviderArchitecture in CreateKey().
wbemprox: Handle __ProviderArchitecture in EnumKey().
wbemprox: Handle __ProviderArchitecture in EnumValues().
wbemprox: Handle __ProviderArchitecture in SetStringValue().
wbemprox: Handle __ProviderArchitecture in SetDWORDValue().
dwrite/tests: Add more tests for font sets.
dwrite: Implement set builder methods that don't specify font properties.
dwrite: Implement font set object stub.
dwrite: Implement IDWriteFontSet::GetFontFaceReference().
dwrite: Silence GetPropertyValues() fixme.
dwrite: Return font set for matched font list.
dwrite: Implement GetFontSet() for families.
wbemprox/tests: Use defined name for error code.
dwrite: Remove duplicated trace call.
dwrite: Limit to exactly one font file per fontface.
dwrite/tests: Handle missing English font names.
dwrite: Check for vertical variants only when asked.
dwrite: Read legacy kerning table directly.
dwrite: Remove unused type definitions.
comctl32: Fix DPA_GetPtr() prototype.
comctl32/listview: Remove current sorting arguments from control structure.
comctl32/listview: Sort using duplicated items pointer array to preserve original order.
dwrite: Look for English name strings in mac platform records.
dwrite: Lowercase locale names in localized strings pairs.
dwrite: Make font set entries refcounted.
dwrite: Partially implement GetPropertyValues().
dwrite: Initial implementation of fontset filtering.
winegstreamer: Remove attributes pointer from static registration data.
dwrite: Make font data reference assignment more compact.
dwrite: Use same name for refcount field across different object structures.
dwrite: Use properly capitalized weight names for constructed face names.
dwrite: Implement GetSystemFontSet().
dwrite/tests: Add a test for matching in system font set.
dwrite/tests: Remove tests failing on Win10 20H2.
dwrite/tests: Reduce number of skipped test messages to one per test.
dwrite: Enable 'meta' table properties for the font set.
dwrite: Add a helper to return font list item.
dwrite/tests: Test font set properties that should be always available.
Owen Rudge (1):
winspool: Filter invalid characters when creating the PPD filename.
Paul Gofman (19):
ntdll: Print an ERR for assertion exceptions only.
ntdll: Reset YMM state in NtSetContextThread() if that is assumed by the context being set.
vcruntime140_1: Support two continuation addresses for catchblock.
mprapi: Add stub for MprConfigServerConnect().
winex11.drv: Factor out describe_pixel_format() function.
winex11.drv: Prioritize smaller depth formats when zero depth is requested in X11DRV_wglChoosePixelFormatARB().
kernel32: Implement GetUserDefaultGeoName().
kernel32: Implement SetUserGeoName().
kernel32/tests: Add tests for {Get|Set}UserDefaultGeoName().
ddraw: Store hardware_device flag in struct d3d_device.
ddraw/tests: Compute output caps instead of coding them in test_rt_caps().
ddraw: Create the second texture for system memory bindable surfaces.
ddraw: Allow creating software device with system memory surface.
ddraw: Allow setting system memory surfaces as render targets for software device.
ddraw/tests: Run test_depth_blit() for each device type.
ddraw/tests: Run test_zenable() for each device type.
ddraw/tests: Run test_ck_rgba() for each device type.
ddraw: Track location for surfaces with the second texture.
ddraw: Do not require specific texture location for blits.
Rafał Harabień (3):
ntdll/tests: Test getting/setting x86_64 context of x86 processes in wine64.
ntdll: Allow getting/setting x86_64 context of x86 processes in wine64.
kernel32: Add Wow64GetThreadSelectorEntry stub.
Roman Pišl (1):
ntdll: Don't set error status if volume serial number is missing.
Rémi Bernon (14):
widl: Fix missing delegate declaration namespace.
winevulkan: Fix host command_buffers allocation size.
user32: Only get input codepage when needed.
widl: Add support for WinRT regscript generation.
winex11.drv: Fix invalid range when reading GTK_WORKAREAS_D0 (valgrind).
ntdll: Initialize dbg_offset and dbg_size (valgrind).
ntdll: Fix environment memcpy read overflow (valgrind).
ntdll: Initialize mountmgr_unix_drive before NtDeviceIoControlFile (valgrind).
widl: Allow runtimeclass to not have a default interface.
winedbg: Don't dereference possibly NULL thread pointer.
tools: Relax the dot in module names rules.
kernelbase: Do not forcefully reset console_flags to 0.
msvcrt: Lazily initialize console handles.
setupapi: Support installing DLLs with dots in their name.
Sanghoon Park (1):
make_unicode: Add support for codepage 20949 (Korean Wansung).
Zebediah Figura (55):
wow64cpu: Add stub dll.
ntdll: Stub Wow64Transition.
kernel32/tests: Add a test for Wow64Transition.
setupapi: Implement SetupIterateCabinetW() on top of SetupIterateCabinetA().
setupapi: Link directly to cabinet.
setupapi: Remove some superfluous traces.
setupapi: Remove unnecessary error handling from cabinet callbacks.
setupapi: Make the FDI handle a local variable.
d3dx9/tests: Remove the fallback NAN definition.
d3d11/tests: Test ID3D11DeviceContext1::SwapDeviceContextState() on a deferred context.
wined3d: Separate the "ops" member of struct wined3d_cs to a new wined3d_device_context structure.
wined3d: Pass a wined3d_device_context to wined3d_cs_submit().
wined3d: Pass a wined3d_device_context to wined3d_cs_require_space().
wined3d: Move the "device" member of struct wined3d_cs to struct wined3d_device_context.
wined3d: Move the "state" field from struct wined3d_device to struct wined3d_device_context.
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_shader().
wined3d: Introduce wined3d_device_context_set_shader().
strmbase: Merge qualitycontrol.c into renderer.c.
strmbase: Remove the unused "qos_handled" field from struct strmbase_qc.
strmbase: Remove the unused "rendered" field from struct strmbase_qc.
strmbase: Remove the unused "dropped" field from struct strmbase_qc.
strmbase: Remove the unused "avg_render", "start", and "stop" fields from struct strmbase_renderer.
setupapi/tests: Expand tests for SetupIterateCabinet().
setupapi: Set the CabinetFile field to the name of the next cabinet.
setupapi: Set the Source field to the full cabinet path for SPFILENOTIFY_FILEEXTRACTED.
setupapi: Pass the full cabinet path as the second parameter to SPFILENOTIFY_FILEINCABINET.
ntdll: Export RtlQueryRegistryValuesEx().
wined3d: Introduce wined3d_device_get_immediate_context().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_constant_buffer().
strmbase: Do not pretend to drop samples.
strmbase: Inline the strmbase_qc structure into struct strmbase_renderer.
strmbase: Record jitter before waiting for presentation time.
strmbase: Make the "current_*" fields of struct strmbase_renderer into local variables.
d3d11: Use wined3d_device_context_set_shader().
wined3d: Introduce wined3d_device_context_set_constant_buffer().
d3d11: Use wined3d_device_context_set_constant_buffer().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_blend_state().
wined3d: Introduce wined3d_device_context_set_blend_state().
d3d11: Use wined3d_device_context_set_blend_state().
quartz: Move the current sample tracking back to strmbase.
strmbase: Move run_event to the strmbase_renderer structure.
strmbase: Move run_event handling to strmbase.
strmbase: Rename pfnCheckMediaType to renderer_query_accept.
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_depth_stencil_state().
wined3d: Introduce wined3d_device_context_set_depth_stencil_state().
d3d11: Use wined3d_device_context_set_depth_stencil_state().
wined3d: Pass a wined3d_device_context to wined3d_cs_emit_set_rasterizer_state().
wined3d: Introduce wined3d_device_context_set_rasterizer_state().
d3d11: Introduce wined3d_device_context_set_rasterizer_state().
configure: Use -Winit-self if possible.
strmbase: Rename pfnDoRenderSample to renderer_render.
quartz/vmr9: Assume that the filter is connected and stopped in VMR9_BreakConnect().
strmbase: Rename pfnBreakConnect to renderer_disconnect.
strmbase: Return void from renderer_disconnect.
strmbase: Rename the "pFuncsTable" member of struct strmbase_renderer to "ops".
Zhiyi Zhang (15):
comctl32/listbox: Actually draw themed frame.
comctl32: Fix memory leaks.
user32: Fix memory leaks.
comdlg32: Fix a memory leak.
comctl32: Remove unnecessary OffsetRect() calls.
comctl32/tests: Test themed painting after a WM_SETTEXT message.
comctl32/button: Use themed painting when possible for handling WM_SETTEXT.
comctl32/combo: Subscribe to WM_MOUSELEAVE events.
comctl32/ipaddress: Do not open theme data in IPADDRESS_Draw().
comctl32/edit: Call GetWindowTheme() only when necessary.
comctl32/datetime: Implement themed painting.
comctl32/hotkey: Implement themed frame painting.
comctl32/listview: Only draw themed frame when WS_EX_CLIENTEDGE is present.
comctl32/toolbar: Use correct state id for checked items.
comctl32/trackbar: Use correct state id for the focused thumb.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.3 is now available.
What's new in this release (see below for details):
- Better debugger support in the NT syscall interface.
- WineGStreamer library converted to PE.
- Still more WinRT support in WIDL.
- Optional support for build IDs.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.3.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.3.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 6.3 (total 24):
3591 py2exe needs partial imagehlp.BindImageEx implementation
17184 Achieve Planner 1.9.0 (.NET 1.1 app) requires explicit native override of mscoree.dll or mscoree.dll.StrongNameSignatureVerificationEx faking success
21234 Monopoly Deluxe (Zylom Games) v1.0 installer crash at the end of the installation
32742 Logos 4.x-9.x Bible software web-installer fails download files via BITS (client registered job notification callback not called)
35637 Seagate Crystal Enterprise 8.0: 'inputfileserver.exe' service needs msvcirt.dll.??0fstream@@QAE@XZ
40748 32-bit iTunes 12.1.3.6: Unusable UI
44629 Process Hacker can't enumerate handles [needs NtQuerySystemInformation(SystemExtendedHandleInformation)]
45132 CommonObjects tool (.NET app) from Google sandbox-attacksurface-analysis-tools v1.1.x needs 'ntdll.NtQuerySystemInformation' to support 'SystemExtendedHandleInformation'
45374 Yet Another Process Monitor (.NET 2.0 app) reports System.AccessViolationException ('ntdll.NtQueryObject' needs to support 'ObjectTypesInformation' info class)
46238 Cxbx crashes on unimplemented function vcomp140.dll.C2VectParallel
46962 Macromedia Director Player 4.x based games (16-bit NE) fail to run: "This program requires at least 4MB free memory to run." (The Rock)
47507 Regression: can't return to full-screen Civilization IV BTS window after Alt+Tab-ing to desktop since wine 4.10
48618 Multiple applications show black client area on startup (Wargaming.net Game Center, Electron based apps)('--disable-gpu' command line parameter is a workaround)
49689 WRC 4 crashes on loading a race (needs IXACT3EngineImpl_PrepareWave implementation)
50150 ODBC applications fail to create DSNs due to 'odbccp32.SQLWriteDSNToIni' stub
50581 Far Manager v3.0: cursor position is off by one
50620 Multiple applications crash due to DHTMLEdit 'IOleObject::GetMiscStatus' stub (Atomic Mail Sender 4.25, RSSeditor 0.9.54, High Impact eMail 5)
50652 Steam enters endless restarting cycle after launching any game
50653 Wine fails to build with clang-10.0 as a crosscompiler
50670 wineg++ cannot compile programs using shobjidl.h as of Wine 6.2
50672 .toString() implementation VT_CY behaves as if .toLocaleString() was used
50701 Multiple 32-bit ARM Thumb-2 applications cause loader to output warnings during relocation processing (Miranda, Notepad2)
50713 Commit a8856381ed9 ("ntdll: Use xsavec in x86_64 syscall dispatcher.") breaks 64-bit Wine (wine-6.2-264-ga8856381ed9)
50723 Can't recognize ... as an internal or external command, or batch script
----------------------------------------------------------------
Changes since 6.2:
Akihiro Sagawa (4):
ntdll: ObjectName should also be used in NtUnloadKey.
server: Prevent unloading a registry hive while the key is in use.
advapi32/tests: Add another key unloading test with NtUnloadKey.
krnl386.exe: Cap GetFreeSpace value to 2GB.
Alex Henrie (1):
iphlpapi: Use RtlIpv4AddressToStringA instead of inet_ntoa.
Alexandre Julliard (183):
server: Store a filename for memory views of .so dlls.
ntdll: Allocate the initial process parameters on the Unix side.
ntdll: Set the initial environment and command line in the process parameters on the Unix side.
ntdll: Also set the dynamic environment strings in the initial parameters.
ntdll: Reimplement local atom tables in user space.
server: Remove support for process-local handle tables.
server: Avoid redefining the DuplicateHandle() constants.
ntdll: Use the SECTION_IMAGE_INFORMATION bitfields where possible.
ntdll: Don't use wine/server.h from the PE side.
kernelbase: Don't use wine/server.h.
kernel32: Don't use wine/server.h.
krnl386.exe: Don't use wine/server.h.
ntdll: Remove no longer used inline function.
server: Merge the various token information queries.
winebuild: Add a --prefer-native option to set a Wine-specific flag in the PE header.
ntdll: Check the prefer-native flag in the PE header for default load order.
winedump: Print the "prefer native" Wine flag.
msvcrt40: Remove DLL_WINE_PREATTACH.
normaliz: Remove DLL_WINE_PREATTACH.
adsldpc: Use --prefer-native instead of DLL_WINE_PREATTACH.
bluetoothapis: Use --prefer-native instead of DLL_WINE_PREATTACH.
cryptdll: Use --prefer-native instead of DLL_WINE_PREATTACH.
d3d8thk: Use --prefer-native instead of DLL_WINE_PREATTACH.
d3dcompiler: Use --prefer-native instead of DLL_WINE_PREATTACH.
d3dim: Use --prefer-native instead of DLL_WINE_PREATTACH.
dcomp: Use --prefer-native instead of DLL_WINE_PREATTACH.
esent: Use --prefer-native instead of DLL_WINE_PREATTACH.
feclient: Use --prefer-native instead of DLL_WINE_PREATTACH.
hid: Use --prefer-native instead of DLL_WINE_PREATTACH.
ksuser: Use --prefer-native instead of DLL_WINE_PREATTACH.
mapistub: Use --prefer-native instead of DLL_WINE_PREATTACH.
mscat32: Use --prefer-native instead of DLL_WINE_PREATTACH.
mscorwks: Use --prefer-native instead of DLL_WINE_PREATTACH.
msdelta: Use --prefer-native instead of DLL_WINE_PREATTACH.
msdrm: Use --prefer-native instead of DLL_WINE_PREATTACH.
msls31: Use --prefer-native instead of DLL_WINE_PREATTACH.
msports: Use --prefer-native instead of DLL_WINE_PREATTACH.
vcomp: Fix varargs calling conventions.
netutils: Use --prefer-native instead of DLL_WINE_PREATTACH.
npptools: Use --prefer-native instead of DLL_WINE_PREATTACH.
odbcbcp: Use --prefer-native instead of DLL_WINE_PREATTACH.
olethk32: Use --prefer-native instead of DLL_WINE_PREATTACH.
photometadatahandler: Use --prefer-native instead of DLL_WINE_PREATTACH.
regapi: Use --prefer-native instead of DLL_WINE_PREATTACH.
resutils: Use --prefer-native instead of DLL_WINE_PREATTACH.
rtutils: Use --prefer-native instead of DLL_WINE_PREATTACH.
samlib: Use --prefer-native instead of DLL_WINE_PREATTACH.
sas: Use --prefer-native instead of DLL_WINE_PREATTACH.
scarddlg: Use --prefer-native instead of DLL_WINE_PREATTACH.
sfc: Use --prefer-native instead of DLL_WINE_PREATTACH.
srclient: Use --prefer-native instead of DLL_WINE_PREATTACH.
srvcli: Use --prefer-native instead of DLL_WINE_PREATTACH.
strmdll: Use --prefer-native instead of DLL_WINE_PREATTACH.
svrapi: Use --prefer-native instead of DLL_WINE_PREATTACH.
utildll: Use --prefer-native instead of DLL_WINE_PREATTACH.
vulkan-1: Use --prefer-native instead of DLL_WINE_PREATTACH.
wdscore: Use --prefer-native instead of DLL_WINE_PREATTACH.
wlanui: Use --prefer-native instead of DLL_WINE_PREATTACH.
wmasf: Use --prefer-native instead of DLL_WINE_PREATTACH.
wuaueng: Use --prefer-native instead of DLL_WINE_PREATTACH.
xpsprint: Use --prefer-native instead of DLL_WINE_PREATTACH.
xpssvcs: Use --prefer-native instead of DLL_WINE_PREATTACH.
ntdll: Print the version mismatch error from the Unix side.
ntdll: Avoid sign conversion warnings in Thumb-2 relocation processing.
acledit: Use --prefer-native instead of DLL_WINE_PREATTACH.
aclui: Use --prefer-native instead of DLL_WINE_PREATTACH.
activeds: Use --prefer-native instead of DLL_WINE_PREATTACH.
apphelp: Use --prefer-native instead of DLL_WINE_PREATTACH.
atmlib: Use --prefer-native instead of DLL_WINE_PREATTACH.
authz: Use --prefer-native instead of DLL_WINE_PREATTACH.
avrt: Use --prefer-native instead of DLL_WINE_PREATTACH.
clusapi: Use --prefer-native instead of DLL_WINE_PREATTACH.
compstui: Use --prefer-native instead of DLL_WINE_PREATTACH.
connect: Use --prefer-native instead of DLL_WINE_PREATTACH.
cryptext: Use --prefer-native instead of DLL_WINE_PREATTACH.
d3drm: Use --prefer-native instead of DLL_WINE_PREATTACH.
d3dx10: Use --prefer-native instead of DLL_WINE_PREATTACH.
d3dx11: Use --prefer-native instead of DLL_WINE_PREATTACH.
d3dx9: Use --prefer-native instead of DLL_WINE_PREATTACH.
davclnt: Use --prefer-native instead of DLL_WINE_PREATTACH.
dhcpcsvc: Use --prefer-native instead of DLL_WINE_PREATTACH.
dpwsockx: Use --prefer-native instead of DLL_WINE_PREATTACH.
drmclien: Use --prefer-native instead of DLL_WINE_PREATTACH.
dwmapi: Use --prefer-native instead of DLL_WINE_PREATTACH.
dxva2: Use --prefer-native instead of DLL_WINE_PREATTACH.
faultrep: Use --prefer-native instead of DLL_WINE_PREATTACH.
fltlib: Use --prefer-native instead of DLL_WINE_PREATTACH.
fntcache: Use --prefer-native instead of DLL_WINE_PREATTACH.
fontsub: Use --prefer-native instead of DLL_WINE_PREATTACH.
fwpuclnt: Use --prefer-native instead of DLL_WINE_PREATTACH.
glu32: Use --prefer-native instead of DLL_WINE_PREATTACH.
gpkcsp: Use --prefer-native instead of DLL_WINE_PREATTACH.
initpki: Use --prefer-native instead of DLL_WINE_PREATTACH.
inkobj: Use --prefer-native instead of DLL_WINE_PREATTACH.
itircl: Use --prefer-native instead of DLL_WINE_PREATTACH.
loadperf: Use --prefer-native instead of DLL_WINE_PREATTACH.
mfmediaengine: Use --prefer-native instead of DLL_WINE_PREATTACH.
mfplat: Use --prefer-native instead of DLL_WINE_PREATTACH.
mfplay: Use --prefer-native instead of DLL_WINE_PREATTACH.
mgmtapi: Use --prefer-native instead of DLL_WINE_PREATTACH.
mprapi: Use --prefer-native instead of DLL_WINE_PREATTACH.
msasn1: Use --prefer-native instead of DLL_WINE_PREATTACH.
msisip: Use --prefer-native instead of DLL_WINE_PREATTACH.
msnet32: Use --prefer-native instead of DLL_WINE_PREATTACH.
mspatcha: Use --prefer-native instead of DLL_WINE_PREATTACH.
mssign32: Use --prefer-native instead of DLL_WINE_PREATTACH.
mssip32: Use --prefer-native instead of DLL_WINE_PREATTACH.
msvcm: Use --prefer-native instead of DLL_WINE_PREATTACH.
ncrypt: Use --prefer-native instead of DLL_WINE_PREATTACH.
ninput: Use --prefer-native instead of DLL_WINE_PREATTACH.
ntdsapi: Use --prefer-native instead of DLL_WINE_PREATTACH.
ntprint: Use --prefer-native instead of DLL_WINE_PREATTACH.
pdh: Use --prefer-native instead of DLL_WINE_PREATTACH.
pidgen: Use --prefer-native instead of DLL_WINE_PREATTACH.
printui: Use --prefer-native instead of DLL_WINE_PREATTACH.
prntvpt: Use --prefer-native instead of DLL_WINE_PREATTACH.
pstorec: Use --prefer-native instead of DLL_WINE_PREATTACH.
query: Use --prefer-native instead of DLL_WINE_PREATTACH.
qwave: Use --prefer-native instead of DLL_WINE_PREATTACH.
rasdlg: Use --prefer-native instead of DLL_WINE_PREATTACH.
rstrtmgr: Use --prefer-native instead of DLL_WINE_PREATTACH.
sccbase: Use --prefer-native instead of DLL_WINE_PREATTACH.
schannel: Use --prefer-native instead of DLL_WINE_PREATTACH.
sfc_os: Use --prefer-native instead of DLL_WINE_PREATTACH.
slbcsp: Use --prefer-native instead of DLL_WINE_PREATTACH.
slc: Use --prefer-native instead of DLL_WINE_PREATTACH.
sxs: Use --prefer-native instead of DLL_WINE_PREATTACH.
t2embed: Use --prefer-native instead of DLL_WINE_PREATTACH.
tdh: Use --prefer-native instead of DLL_WINE_PREATTACH.
traffic: Use --prefer-native instead of DLL_WINE_PREATTACH.
winebuild: Set Thumb bit in CPSR register on syscall entry.
winebuild: Fix relay entry points for Thumb mode.
winebuild: Simplify constant loading on ARM.
uiautomationcore: Use --prefer-native instead of DLL_WINE_PREATTACH.
url: Use --prefer-native instead of DLL_WINE_PREATTACH.
userenv: Use --prefer-native instead of DLL_WINE_PREATTACH.
vdmdbg: Use --prefer-native instead of DLL_WINE_PREATTACH.
virtdisk: Use --prefer-native instead of DLL_WINE_PREATTACH.
wer: Use --prefer-native instead of DLL_WINE_PREATTACH.
wevtapi: Use --prefer-native instead of DLL_WINE_PREATTACH.
wimgapi: Use --prefer-native instead of DLL_WINE_PREATTACH.
windowscodecsext: Use --prefer-native instead of DLL_WINE_PREATTACH.
winnls32: Use --prefer-native instead of DLL_WINE_PREATTACH.
winsta: Use --prefer-native instead of DLL_WINE_PREATTACH.
wlanapi: Use --prefer-native instead of DLL_WINE_PREATTACH.
wmvcore: Use --prefer-native instead of DLL_WINE_PREATTACH.
wsnmp32: Use --prefer-native instead of DLL_WINE_PREATTACH.
xolehlp: Use --prefer-native instead of DLL_WINE_PREATTACH.
ntdll: Add a separate helper for creating the initial ntdll module.
ntdll: Relocate the PE ntdll if necessary.
ntdll: Initialize the ShowDotFiles option on the Unix side.
ntdll: Fix rounding the length of the runtime info parameter.
browseui: Use --prefer-native instead of DLL_WINE_PREATTACH.
credui: Use --prefer-native instead of DLL_WINE_PREATTACH.
cryptdlg: Use --prefer-native instead of DLL_WINE_PREATTACH.
cryptui: Use --prefer-native instead of DLL_WINE_PREATTACH.
evr: Use --prefer-native instead of DLL_WINE_PREATTACH.
hnetcfg: Use --prefer-native instead of DLL_WINE_PREATTACH.
inetcomm: Use --prefer-native instead of DLL_WINE_PREATTACH.
inetcpl.cpl: Use --prefer-native instead of DLL_WINE_PREATTACH.
joy.cpl: Use --prefer-native instead of DLL_WINE_PREATTACH.
localspl: Use --prefer-native instead of DLL_WINE_PREATTACH.
mscoree: Use --prefer-native instead of DLL_WINE_PREATTACH.
msctf: Use --prefer-native instead of DLL_WINE_PREATTACH.
msftedit: Use --prefer-native instead of DLL_WINE_PREATTACH.
msident: Use --prefer-native instead of DLL_WINE_PREATTACH.
msscript.ocx: Use --prefer-native instead of DLL_WINE_PREATTACH.
msvcirt: Use --prefer-native instead of DLL_WINE_PREATTACH.
msvcp60: Use --prefer-native instead of DLL_WINE_PREATTACH.
openal32: Use --prefer-native instead of DLL_WINE_PREATTACH.
scrobj: Use --prefer-native instead of DLL_WINE_PREATTACH.
scrrun: Use --prefer-native instead of DLL_WINE_PREATTACH.
shcore: Use --prefer-native instead of DLL_WINE_PREATTACH.
snmpapi: Use --prefer-native instead of DLL_WINE_PREATTACH.
spoolss: Use --prefer-native instead of DLL_WINE_PREATTACH.
sti: Use --prefer-native instead of DLL_WINE_PREATTACH.
vbscript: Use --prefer-native instead of DLL_WINE_PREATTACH.
wmiutils: Use --prefer-native instead of DLL_WINE_PREATTACH.
wmp: Use --prefer-native instead of DLL_WINE_PREATTACH.
wmphoto: Use --prefer-native instead of DLL_WINE_PREATTACH.
wshom.ocx: Use --prefer-native instead of DLL_WINE_PREATTACH.
ntdll: Don't set runtime info at all if it's empty.
ntdll: Get rid of attach_implicitly_loaded_dlls().
Alistair Leslie-Hughes (14):
msado15: _Recordset get_Fields support rowset.
msado15: Semi-implement _Connection Execute.
odbccp32: Implement SQLWriteDSNToIni/W.
xactengine3_7: Implement IXACT3Engine PrepareWave.
msado15: Add helper function to create CommandText interface.
include: Add more SQL_ defines.
msado15: Semi-stub _Recordset Open.
msado15: Implement Dispatch functions in _Connection.
msado15: Implement Dispatch functions in _Command.
msado15: Implement Dispatch functions in _Stream.
msado15: Implement Dispatch functions in Field.
msado15: Implement Dispatch functions in Fields.
msado15: Implement Dispatch functions in _Recordset.
msado15: Implement Dispatch functions in ADORecordsetConstruction.
Andrew Boyarshin (1):
widl: Support midl_pragma default option.
Anton Baskanov (4):
quartz/tests: Add tests for IMediaEventEx::SetNotifyFlags.
quartz/tests: Add tests for event notifications.
quartz: Do not send events when notifications are disabled.
quartz: Reset the event if the queue was empty in IMediaEvent::GetEvent().
Arkadiusz Hiler (1):
winebus.sys: Remove incorrect Report ID from the bus_sdl HID report descriptor.
Bernhard Reiter (1):
imagehlp: Partially implement BindImageEx().
Damjan Jovanovic (1):
wldap32: Implement setting the LDAP_OPT_REFERRALS option.
Derek Lesho (1):
winegstreamer: Implement IMFMediaSource::Stop.
Dmitry Timoshkov (1):
include/winnt.h: Fix arguments order for _InterlockedCompareExchange64() MSVC intrinsic.
Doug Kingston (1):
winealsa: Add card number to duplicate device descriptions.
Erich Hoover (6):
ntdll: Use st_rdev for special devices in get_mountmgr_fs_info.
server: Allow volume information queries to be asynchronous.
ntdll: Allow NtQueryVolumeInformationFile to make async volume information queries.
ntoskrnl.exe: Implement volume information queries for device files.
mountmgr.sys: Add support for volume information queries.
kernelbase: Reimplement GetVolumeInformation on top of GetVolumeInformationByHandle.
Esme Povirk (1):
mscoree: Remove individual vtable fixup traces.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (3):
tests: Trace the filename in winetest_wait_child_process().
tests: Add ignore_exceptions().
kernel32/tests: Ignore exceptions while testing winedbg.
Gerald Pfeifer (1):
iphlpapi: Include <netinet/in.h> in ifenum.c.
Gijs Vermeulen (1):
msvcirt: Implement remainder of fstream class.
Hans Leidekker (2):
secur32/tests: Add tests for renegotiating an SSL connection.
winhttp/tests: Add tests for client certificate authentication.
Henri Verbeet (10):
d3d11: Advertise support for shader model 4 compute shaders if compute shaders are supported.
wined3d: Recognise the read-only depth/stencil view flags in wined3d_debug_view_desc().
wined3d: Introduce a backup path for swapchain presents using GDI.
wined3d: Do not fail swapchain creation in wined3d_swapchain_vk_init() if a Vulkan swapchain could not be created.
wined3d: Unbind framebuffer state in state_unbind_resources().
d3d11: Implement d3d11_immediate_context_SwapDeviceContextState() on top of wined3d_device_set_state().
d3d10core/tests: Add a test for layered clears.
d3d11/tests: Add a test for layered clears.
wined3d: Allow layered clears.
wined3d: Load/invalidate entire views in ffp_blitter_clear_rendertargets().
Hugh McMaster (17):
reg/tests: Check for elevated privileges before cleaning up the Windows 3.1 test key and running unit tests.
reg/tests: Ensure test key is fully removed before each sequence begins.
reg/tests: Move /v* syntax tests to the 'add' and 'delete' test sequences.
reg/tests: Check for key non-existence with verify_key_nonexist().
reg/tests: Always overwrite export test file during 'export' sequence.
reg/tests: Verify registry export after each empty key test.
reg/tests: Replace RegCloseKey() with the helper function close_key().
reg/tests: Add additional tests with embedded NUL characters.
reg/tests: Add tests for forward and back slashes in key and value names.
regedit/tests: Check for elevated privileges before cleaning up the Windows 3.1 test key and running unit tests.
regedit/tests: Ensure test key is fully removed before each sequence begins.
regedit/tests: Replace RegCloseKey() with the helper function close_key().
regedit/tests: Use delete_key() and delete_tree() where possible.
regedit/tests: Add additional tests with embedded NUL characters.
regedit/tests: Add tests for forward and back slashes in key and value names.
regedit/tests: Comprehensively check for elevated privileges before starting tests.
regedit/tests: Remove elevated user checks from the Windows 3.1 test sequences.
Jacek Caban (34):
oleaut32: Use C locale in VARIANT_BstrFromReal.
conhost: Avoid assumption about the exact Unix cursor position after writing to the last column.
ntdll: Store entire XMM context in x86_64 syscall frame.
winebuild: Remove no longer needed stack alignment in x86_64 syscall dispatcher.
ntdll: Reserve space for all registers in x86_64 syscall frame.
ntdll: Store eflags in x86_64 syscall frame.
ntdll: Store instruction pointer register in x86_64 syscall frame.
ntdll: Store stack pointer in x86_64 syscall frame.
ntdll: Store segment registers in x86_64 syscall frame.
ntdll: Use syscall frame for volatile registers in x64_64 NtGetContextThread.
winebuild: Restore all x86_64 control registers in syscall dispatcher.
winebuild: Restore x86_64 FPU context and nonvolatile registers in syscall dispatcher.
mshtml: Add nsICacheInfoChannel stub implementation.
winegcc: Properly set debug info type on msvc targets.
ntdll: Introduce signal_init_syscalls.
winebuild: Factor out output_syscall_dispatcher.
ntdll: Store x86_64 YMM context in syscall frame.
ntdll: Use syscall frame for x86_64 YMM context in NtGetContextThread.
ntdll: Use syscall frames in x86_64 NtSetContextThread implementation.
ntdll: Use NtContinue in NtRaiseException.
ntdll: Use NtContinue in RtlRestoreContext.
ntdll: Use syscall dispatcher for restoring context in x86_64 NtSetContextThread implementation.
ntdll: Use xsavec in x86_64 syscall dispatcher.
ntdll: Use syscall frame in x86_64 call_raise_user_exception_dispatcher implementation.
ntdll: Don't use FeatureSet for XSAVE compaction support flag.
ntdll: Use the right cpuid for XSAVEC detection.
ntdll: Fix compacted legacy xsave area handling.
ntdll: Reserve space for full i386 context in syscall frame.
ntdll: Store all non-volatile i386 registers in syscall dispatcher.
ntdll: Use syscall frame in x86 set_full_cpu_context implementation.
include: Fix __dmb declaration.
include: Add MSVC ARM version of NtCurrentTeb.
include: Use GCC-style InterlockedCompareExchange128 implementation on clang in MSVC mode.
ntdll: Use cpu_info to check for AVX availability.
Jactry Zeng (1):
include: Avoid using C++ keyword.
Jefferson Carpenter (1):
msxml3/tests: Test mxwriter domdoc output.
Jérôme Gardou (1):
msi: Remove read-only bit when copying the package file.
Liam Middlebrook (2):
winevulkan: Handle bitmask types backed by VkFlags64.
winevulkan: Update to VK spec version 1.2.170.
Michael Müller (1):
ntdll: Implement NtQuerySystemInformation(SystemExtendedHandleInformation).
Nicholas Fraser (1):
configure: Add --enable-build-id option.
Nikolay Sivov (35):
mfplat: Fix use-after-free when releasing sample allocator.
mfplat: Handle tracked sample release condition separately from refcount update.
mfplat/allocator: Handle bind flags and usage attributes.
mfplat: Unify trace format for device manager methods.
dwrite: Pass features to stage functions.
dwrite/layout: Split run shaping between two helpers.
dwrite/layout: Grow output buffer on GetGlyphs() failure.
dwrite: Always initialize output glyph count in GetGlyphs().
dwrite: Fix character range to glyph range matching for user features.
dwrite/layout: Pass user features to shaping calls.
mfreadwrite/reader: Subscribe to allocator's release notifications.
mfreadwrite/reader: Add support for reading to SA-allocated samples.
mf/tests: Add a sample copier test for sample fields handling.
dwrite/layout: Check text range boundaries when setting properties.
dwrite/layout: Remove unnecessary argument check from GetPairKerning().
dwrite/layout: Remove unnecessary argument check from GetInlineObject().
dwrite/layout: Remove unnecessary argument check from GetFontWeight().
dwrite/layout: Remove unnecessary argument check from GetFontCollection().
mf/tests: Skip some tests on missing function.
dwrite: Correct return glyph origins for RTL runs.
dwrite: Use correct glyph origins during rendering.
dwrite: Use newer analyzer interface internally.
dwrite/layout: Add support for character spacing attributes.
winegstreamer: Fully initialize MF object creation context.
dwrite: Remove unused function.
mf/tests: Skip all tests on Vista.
wbemprox: Implement WbemContext stub.
wbemdisp: Add SWbemNamedValueSet stub.
wbemprox: Implement GetValue()/SetValue() for context object.
wbemdisp: Use context object internally for named value set.
wbemdisp: Add Methods() collection stub.
wbemdisp: Add a stub implementation of a method object.
wbemprox: Set iterator for spawned instances.
wbemdisp: Implement InParameters() property for a method object.
wbemdisp: Handle DISPATCH_PROPERTYPUT in scripting object Invoke().
Paul Gofman (7):
vcomp: Change _vcomp_fork_call_wrapper() args parameter type to void **.
vcomp: Implement C2VectParallel().
vcomp110: Add test for C2VectParallel().
msvcrt: Ignore inherited FDs with invalid handles in msvcrt_init_io().
ddraw/tests: Also test RT caps for software device.
advapi32: Return ERROR_INVALID_PARAMETER for invalid crypt objects' handles.
advapi32: Handle exceptions from dereferencing invalid crypt objects' handles.
Piotr Caban (2):
msvcrt: Improve asinf compatibility with native ucrtbase.
msvcrt: Improve acosf compatibility with native ucrtbase.
Rémi Bernon (30):
plugplay: Broadcast WM_DEVICECHANGE message asynchronously.
d3d11: Make SwapDeviceContextState truly no-op when state is NULL.
d3d11: Create an initial device ID3DDeviceContextState.
widl: Rename ifref_t iface member to type.
widl: Rename ifref_t to typeref_t.
widl: Rename ifref_list_t to typeref_list_t.
widl: Replace type_list_t with typeref_list_t.
widl: Support partially specialized parameterized type.
widl: Support WinRT parameterized interface type.
user32/tests: Add more tests for GetKeyState from background thread.
user32/tests: Add tests for GetKeyState / GetKeyboardState interactions.
user32/tests: Add tests for SetKeyboardState / GetKeyState interactions.
widl: Support WinRT delegate type.
widl: Support WinRT parameterized delegate type.
widl: Compute signatures for parameterized types.
widl: Compute uuids for parameterized types.
secur32: Return STREAM_HEADER/TRAILER buffers on SEC_I_RENEGOTIATE.
wined3d: Use a separate allocation for the device state.
wined3d: Introduce public API to set a wined3d_state object on a device.
d3d11: Always return the rectangle count in d3d11_immediate_context_RSGetScissorRects().
winex11.drv: Don't assume that GenericEvent has a window.
include: Split Windows.Foundation.Collections parameterized types.
include: Add AggregateType / GetAbiType / GetLogicalType WinRT templates.
widl: Write C++ template declarations for parameterized types.
widl: Write C++ template implementations for parameterized types.
widl: Use C++ template implementation for parameterized types.
widl: Fix C++ RuntimeClass string constants declaration.
widl: Make WinRT nested templates C++98 compatible.
widl: Strip last separator in append_namespaces if suffix is NULL.
widl: Generate helper macros for WinRT implementation.
Steve Lhomme (4):
widl: Never use the namespace ABI prefix for global types.
widl: Precompute qualified type names, and use them for C++ interfaces.
widl: Define the C type name as an alias for the C++ qualified name.
widl: Use C name when writing UUID declarations.
Torge Matthies (1):
server: Fix page size calculation in write access check.
Vijay Kiran Kamuju (2):
dhtmled.ocx: Add registration script.
dhtmled.ocx: Implement IOleObject::GetMiscStatus function.
Zebediah Figura (67):
winegstreamer: Pass the wg_parser object to gst_bus_set_sync_handler().
winegstreamer: Move filter initialization out of GST_Connect().
winegstreamer: Move GST_Connect() to the Unix library.
winegstreamer: Move wg_parser sink disconnection code to the Unix library.
winegstreamer: Retrieve wg_parser streams through Unix library functions.
winegstreamer: Do not compare FPS in wg_format_compare().
imagehlp/tests: Link directly to imagehlp and psapi.
imagehlp/tests: Use ImageNtHeader instead of RtlImageNtHeader.
imagehlp/tests: Rewrite test_bind_image_ex() using a DLL resource.
winegstreamer: Retrieve the preferred format through a Unix library function.
winegstreamer: Set the stream's current format and connected state through Unix library functions.
winegstreamer: Move get_stream_event() to the Unix library.
winegstreamer: Move wg_parser flushing to the Unix library.
winegstreamer: Move QoS notification to the Unix library.
advapi32/tests: Rename test_sid() to test_ConvertStringSidToSid().
advapi32/tests: Get rid of the test_luid() helper.
advapi32/tests: Rename test_acls() to test_InitializeAcl().
advapi32/tests: Explicitly test the ACL contents in test_AddMandatoryAce().
advapi32/tests: Skip test_token_label() if AddMandatoryAce() is not present.
winegstreamer: Move seeking to the Unix library.
winegstreamer: Move videoflip configuration to wg_parser_stream_set_current_format().
winegstreamer: Use wg_parser_stream_seek() in GST_ChangeRate().
winegstreamer: Map the output sample buffer in the Unix library.
winegstreamer: Avoid using gst_util_uint64_scale() in send_sample().
winegstreamer: Retrieve and complete read requests through Unix library functions.
advapi32/tests: Add a few tests for GetKernelObjectSecurity() parameter validation.
advapi32/tests: Add some tests for token elevation.
ntdll: Implement NtQueryInformationToken(TokenElevationType).
ntdll: Implement NtQueryInformationToken(TokenLinkedToken).
ntdll: Implement NtQueryInformationToken(TokenElevation).
winegstreamer: Move GST_BUFFER_OFFSET_NONE handling to the Unix library.
winegstreamer: Move the EOS handling from read_buffer() to the Unix library.
winegstreamer: Map the read buffer in the Unix library.
winegstreamer: Access the stream duration through a Unix library function.
winegstreamer: Avoid accessing "parser->container" from gstdemux.c.
winegstreamer: Move the wg_parser and wg_parser_stream definitions to wg_parser.c.
ntdll: Fill the handle attributes in System(Extended)HandleInformation.
ntdll: Fill the object type index in System(Extended)HandleInformation.
winegstreamer: Manually track read offsets in the media source.
winegstreamer: Manage our own thread for read requests in the media source.
winegstreamer: Explicitly translate the channel mask.
winegstreamer: Reimplement the media source on top of the wg_parser object.
quartz/tests: Add more tests for media events.
quartz: Use the graph critical section to synchronize media event methods.
quartz: Use a linked list to store media events.
quartz: Inline the WndNotify structure into struct filter_graph.
quartz: Clear pending events when disabling notifications.
quartz: Remove EC_COMPLETE from the queue when starting the graph.
winegstreamer: Use ULONGLONG instead of uint64_t in Unix library interface structures.
winegstreamer: Build with msvcrt.
quartz: Use free() to free the "pszFileName" member.
winegstreamer: Use wide-char string literals.
winegstreamer: Use malloc() instead of HeapAlloc().
winegstreamer: Remove some redundant includes.
winegstreamer: Don't export DllMain().
winegstreamer: Rename gstdemux.c to quartz_parser.c.
winegstreamer: Link to strmbase.
ntdll/tests: Avoid passing an uninitialized timeout to NtNotifyChangeKey().
winegstreamer: Rename some callbacks to more closely match GStreamer terminology.
winegstreamer: Rename some callbacks to explicitly show they are callbacks.
winegstreamer: Inline init_new_decoded_pad() into pad_added_cb().
winegstreamer: Don't make the pad caps writable in pad_added_cb().
winegstreamer: Rename gst_base_src_perform_seek() to src_perform_seek().
kernel32/tests: Add a test for async cancellation due to process exit.
server: Always set the async result when the APC object is destroyed.
quartz/vmr9: Don't release the default presenter object if it could not be created.
d3d12: Check for VK_KHR_external_memory_capabilities before using VkPhysicalDeviceIDProperties.
Zhiyi Zhang (11):
user32: Send a WM_ACTIVATE message after restoring a minimized top level window.
ntoskrnl.exe: Exclude large integer APIs from relay tracing.
user32/tests: Fix a test failure on w7u_2qxl TestBot VM.
user32/tests: Add optional messages to test sequences.
comctl32/ipaddress: Only print an error when it actually occurs.
comctl32/theme_scrollbar: Remove an unused variable.
comctl32/button: Turn off themed painting if parts are unavailable for Command Links.
uxtheme: Add Command Link part and state definitions.
uxtheme: Support more font properties.
uxtheme: Support DTT_FONTPROP for DrawThemeTextEx().
uxtheme: Remove unused code.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.2 is now available.
What's new in this release (see below for details):
- Mono engine updated to version 6.0.0, with DirectX support.
- Support for NTDLL debugger APIs.
- More WinRT support in WIDL.
- Xbox One controller fixes on Mac.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.2.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.2 (total 51):
8692 Multiple applications have non-working shell32 ShellView context menu items (Directory Opus 9 with Amiga Explorer Shell Extension, Total Commander 7.x)
22242 Paint.NET 3.5.4 installer fails with Wine-Mono
22439 Paint.NET 2.5 EULA is garbled with Wine-Mono
22635 Earth 2160 (GOG.com) can't recognize serial number
23094 Multiple application installers abort with 'runtime error R6034' (Microsoft VC++ 2008 MFC runtime and manifest missing)(AVATAR Demo, iNodeSetup 3.60, QQPlayer 3.1)
23999 Multiple applications with DRM schemes need NtQueryVirtualMemory 'MemorySectionName' info class (Crossfire HGWC, EMS SQL Manager 2010 Lite for PostgreSQL v.4.7.08, Cygwin/MSYS2, Knight Online client)
27248 Multiple games and applications need K32GetMappedFileNameW implemented (Riot Games' Valorant, Chrome Browser, Yumina the Ethereal)
28786 Wine File Explorer tree does not expand when clicked on plus '+' signs
28927 Wabbitcode 0.5.x (Z80 Assembly IDE) (.NET 4.0 app) fails to start with Wine-Mono
29709 Multiple applications crash due to missing 'dhtmled.ocx', DHTMLEdit object (Atomic Mail Sender 4.25, RSSeditor 0.9.54, High Impact eMail 5)
36791 Foxit Reader 6.2.0.0429 reports "File not found." when trying to open file via "recent files" on start page
36792 Foxit Reader 6.2 fails to maximize using 'maximize' button after double clicking top window bar / title bar to maximize and restore app window
37510 Foxit Reader 7.0.3.916 copy and paste of single or multiple annotations doesn't work
37751 WiX Toolset v3.9 installer doesn't open with Wine-Mono (metahostpolicy_GetRequestedRuntime returns CLR_E_SHIM_RUNTIME)
37842 Multiple .NET 4.0 applications crash when clipboard is accessed from multiple threads (OLE clipboard must take MTA into account)(PTC Mathcad Prime 3.0, PaintRibbon 1.x, Jeskola Buzz)
39993 OllyDbg 2.x: Manually changed FPU registers are reset to original values after single step (F7)
40008 OllyDbg 2.x hangs when trying to pause debuggee
40571 Google SketchUp 13 crashes when printing multiple consecutive times
40837 Kingsoft PC Doctor crashes while starting
42353 OllyDbg 2.x: Step In (F7) on a "jump to self" instruction never stops if it's the first instruction executed by debuggee
43422 Shadow Warrior 2: Floors are not rendered
43840 Sketchup 2017: clicking 'Ok' in 'Print Preview' or 'Print' dialog doesn't do anything (err:commdlg:PRINTDLG_ChangePrinterW DocumentProperties fails on '<printer>')
44038 RPCS3 emulator crashes due to 'kernel32.SetFileInformationByHandle' lacking support of 'FileEndOfFileInfo' info class
44826 MS Word 2013/2016 does not support Arabic text shaping in document area
46234 explorer /desktop leaks global atoms when creating desktop window
46709 VarFormatCurrency doesn't handle an already formatted string.
48323 scanf functions do not support NaN for floating point elements
48563 Runaway: A Twist of Fate renders its cursor incorrectly
48848 Python apps/scripts using 'pywinutils.delete' fail due to unimplemented COM object {3ad05575-8857-4850-9277-11b85bdb8e09}. IFileOperation in ShObjIdl_core.h
49694 mc.exe: UTF-16 decoding does not use UTF-16LE by default, breaking files without a BOM
49849 system("CLS") doesn't work
49936 modal dialog box behaves modeless
50195 x64dbg snapshots >= 2020-11-12_05-12 need ntdll.dll.NtDebugActiveProcess implementation to debug process via attach
50380 INSIDE ground texture is glitchy with Vulkan renderer
50401 Multiple Adobe products crash on unimplemented function msvcp{100,110,120,140}.dll._Wcsxfrm (Audition CS6, Audition 2020)
50407 Multiple Adobe CC products fail to start, reporting 'err:module:LdrInitializeThunk "CRClient.dll" failed to initialize' ('_Syserror_map' should return non-NULL string for unknown errors)
50409 Adobe Audition 2020 crashes on startup (msvcrt strftime_impl uses __lc_time_data struct WCHAR members but only ANSI members have been initialized by _Gettnames)
50424 std::mutex crashes on creation
50429 Serious Sam Engine / Serious Sam Classic broken MP with math functions from musl
50441 Steel Series Engine 3 systray icon does not respond to mouse clicks
50528 [Stasis 2]Broken rendering with Vulkan
50562 WRC 5 crashes on launch with Vulkan renderer
50564 Ryse: Son of Rome has broken shadows with Vulkan renderer
50565 Hitman: Absolution has broken rendering with Vulkan renderer
50569 World of Tanks ground texture is black rendered
50580 iTunes 12.11.0.26 installer doesn't recognize WinVer 'Windows 10' setting (WMI 'Win32_OperatingSystem' class uses 'GetVersionEx' API to retrieve OS version info, a deprecated API in Windows 10)
50599 Game Protect Kit (GPK) 'SDGame32.sys' kernel driver crashes on unimplemented function 'ntoskrnl.exe.KdDisableDebugger' (Dragon Nest)
50602 Far Manager redraws incorrectly after console window is resized
50610 WMI 'Win32_OperatingSystem' OS caption property descriptions for Windows 8 and 8.1 are reversed
50622 wldap32 calls Linux libraries with wrong conventions
50647 i386 DLL image icudt59.dll causes trouble on load on x86_64 ever since COR header update.
----------------------------------------------------------------
Changes since 6.1:
Akihiro Sagawa (2):
winmm/tests: Strictly test returned time format of waveInGetPostion().
winmm/tests: Get rid of unused functions.
Alexandre Julliard (44):
ntdll: Pass a debug object in the new_process request.
ntdll: Implement NtDebugActiveProcess() and NtRemoveProcessDebug().
ntdll: Implement NtSetInformationDebugObject().
ntdll: Implement NtDebugContinue().
ntdll: Implement DbgUiConvertStateChangeStructure().
ntdll: Implement NtWaitForDebugEvent().
server: Don't store the debug object in the debugger thread.
ntdll: Load the main module before the other dlls.
server: Fetch the data for the debug events from the process memory views.
server: Add a separate request to initialize the first thread of a process.
server: Move the ldt_copy pointer to the init_first_thread request.
ntdll/tests: Add tests for a few more object types.
include: Add a couple of access right flags.
gdi32/tests: Regenerate ttf files with the official fontforge version.
gdiplus/tests: Regenerate ttf files with the official fontforge version.
gdi32: Cache the codepage tables also for OpenType names mapping.
ntdll: Fix loading of section table in get_cor_header().
ntdll/tests: Fix a couple of test failures on older Windows versions.
server: Add a data type for generic access mappings.
server: Add a type descriptor to all server objects.
server: Add support for object counts in the object type information.
libwine: Don't define obsolete functions on non-x86 platforms.
server: Add generic mapping masks for all object types.
server: Use the object type information to implement access mapping.
server: Add a request to return all object types.
ntdll/tests: Add more tests for object types.
server: Implement retrieving the debug object of a process.
server: Get the process entry point from the exe image info.
ntdll: Pass the full NT path name to load_builtin_dll().
ntdll: Pass the NT name in the create_file request.
ntdll: Pass the NT name in the set_fd_name_info request.
server: Store the NT name in the fd object.
server: Return the NT name for the ProcessImageFileName query.
server: Return the NT name for the list_processes request.
server: Implement NtQueryVirtualMemory(MemorySectionName).
ntdll/tests: Add some tests for NtQueryVirtualMemory(MemorySectionName).
kernelbase: Also export the non-K32 names for the psapi functions.
kernelbase: Implement GetMappedFileNameA/W.
server: Use TEB->ArbitraryUserPointer to store the loaded dll names.
server: Report load dll events upon mapping a SEC_IMAGE view.
ntdll: Close the debug port on thread exit.
ntdll/tests: Relax a broken result on Windows.
server: Remove the load/unload_dll requests and the dll list.
kernel32/tests: Load GetMappedFileNameW() dynamically.
Alistair Leslie-Hughes (1):
include: Add mulres.idl.
Andrew Boyarshin (1):
widl: Fix handling of output_name in option parsing.
Andrew Eikum (1):
mmdevapi: Implement SpatialAudio features.
Andrey Gusev (1):
wined3d: Add AMD Radeon RX 5500M.
André Hentschel (2):
include: Make sure __int64 is correctly defined on PPC64.
wrc: Add PPC64 support.
Arkadiusz Hiler (1):
mmdevapi: Add SpatialAudio tests.
Austin English (1):
ntoskrnl.exe: Add KdDisableDebugger/KdEnableDebugger stubs.
Brendan Shanks (5):
dinput: Fix Xbox One controller D-pad on Mac.
dinput: Enable Xbox One controller View and Xbox buttons on Mac.
dinput: On Mac, always use both HID usage page and usage for comparisons.
dinput: Map Xbox One controller triggers (accelerator/brake) to Rx/Ry on Mac.
ntdll: Always use MAP_FAILED as mmap()'s error value.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Chao Long (1):
gdiplus/metafile: Implement GdipRecordMetafileFileName.
Christian Costa (1):
d3dx9: Return D3DFMT_A8R8G8B8 in D3DXGetImageInfoFromFileInMemory for 32 bpp BMP with alpha.
Damjan Jovanovic (1):
wldap32: Cyrus SASL's sasl_interact_t.result should be null-terminated.
Daniel Lehman (1):
include: Fix [v]sprintf_s declarations.
David Koolhoven (1):
ntdll: Don't try to convert module to 64-bit if it doesn't contain code.
Dmitry Timoshkov (7):
wevtapi: Return fake handle from EvtOpenChannelConfig.
wevtapi: Return TRUE from EvtSetChannelConfigProperty.
wevtapi: Add EvtSaveChannelConfig() stub.
ntdll: Exclude large integer APIs from relay tracing.
wevtapi: Add EvtGetChannelConfigProperty(EvtChannelLoggingConfigLogFilePath) stub implementation.
wevtapi/tests: Add some EvtGetChannelConfigProperty() tests.
shell32: IPersistFile::Save(NULL) should use previously stored file name.
Erich Hoover (2):
mountmgr.sys: Have harddisk_ioctl return the same status as the IoStatus.
mountmgr.sys: Have mountmgr_ioctl return the same status as the IoStatus.
Esme Povirk (1):
mscoree: Update Wine Mono to 6.0.0.
Floris Renaud (1):
po: Fix Dutch spelling errors.
François Gouget (2):
windowscodecs/tests: Fix a typo in a variable name.
user32: Fix a typo in a comment.
Gabriel Ivăncescu (3):
gdi32: ExtTextOut should fail if count is larger than INT_MAX.
user32/tests: Test minimized window placement after trying to change position.
user32: Keep toplevel minimized windows offscreen if they're already.
Georg Lehmann (2):
winevulkan: Fix vkDestroyDebugUtilsMessengerEXT with NULL object.
winevulkan: Fix vkDestroyDebugReportCallbackEXT with NULL object.
Hans Leidekker (4):
wbemprox: Report the real OS version.
wbemprox: Fix Windows 8/8.1 caption.
wldap32: Convert berval structures.
wbemprox: Implement Win32_LogicalDisk.Caption.
Haoyang Chen (2):
gdiplus: Avoid negative integer overflow due to implicit type conversion.
gdiplus/tests: Test image brush transformation.
Henri Verbeet (11):
wined3d: Invalidate STATE_STENCIL_REF when switching between NULL and non-NULL depth/stencil views.
d3d11/tests: Add format compatibility tests for DXGI_FORMAT_R9G9B9E5_SHAREDEXP.
d3d10core/tests: Add format compatibility tests for DXGI_FORMAT_R9G9B9E5_SHAREDEXP.
d3d11/tests: Add format compatibility tests for compressed formats.
d3d10core/tests: Add format compatibility tests for compressed formats.
wined3d: Allow resource copies between block-compatible formats.
wined3d: Use the format block dimensions to construct the destination box for sub-resource region copies.
wined3d: Compare resource sizes in blocks in wined3d_device_copy_resource().
wined3d: Construct a separate source box in wined3d_device_copy_resource().
wined3d: Create the backbuffer rendertarget view only after calling adapter_init_3d().
wined3d: Add some TRACEs to command stream callbacks.
Hugh McMaster (1):
reg/tests: Add initial syntax tests for 'reg copy'.
Jacek Caban (5):
kernelbase: Support FileEndOfFileInfo in SetFileInformationByHandle.
mshtml: Move load_gecko() call from DllRegisterServer to DllInstall.
include: Add relogger.idl file.
winebuild: Use lld-link for static libraries on msvc target.
winebuild: Don't use llvm-lib to build static libs containing importlibs.
Jactry Zeng (2):
include: Add IFileOperation interface.
shell32: Implement IFileOperation stub.
Jan Sikorski (7):
wined3d: Store stencil reference value in wined3d_state.
wined3d: Check for stencil reference change in vulkan backend.
wined3d: Added missing states to debug_d3dstate().
wined3d: Align vertex attribute offsets to their size, if smaller than 4.
wined3d: Return E_INVALIDARG from vertexdeclaration_init() on validation failure.
d3d10core/tests: Add input layout alignment tests.
d3d11/tests: Add input layout alignment tests.
Jefferson Carpenter (1):
msxml3: Fold in reset_output_buffer.
Michael Müller (3):
kernel32: Add sr-Latn-RS locale definition.
kernel32: Update sr-Latn locale definition.
server: Grant the same access rights when req->access is zero in duplicate_token.
Nikolay Sivov (45):
gdiplus/metafile: Fix copy-paste typo when setting resolution (Coverity).
mf: Add shutdown state for the standard quality manager.
mf: Subscribe standard quality manager to clock state change events.
mf: Implement NotifyTopology() for the standard quality manager.
mfplat: Add a few MF_SA_* attributes for tracing.
mf/tests: Add some more tests for video processor transform.
mfreadwrite: Fix vtable variables types.
dwrite: Fix vtable variables types.
d2d1/tests: Add return value test (Coverity).
mfplat/tests: Add some tests for D3D11-aware sample allocator.
mfplat/tests: Test texture parameters used by sample allocator.
mf: Add missing const for vtable structures.
mfmediaengine: Fix vtable variables types.
mf/topology: Improve error handling when connecting sample copier node (Coverity).
evr/allocator: Fix sample entry leak.
mfplat: Move sample implementation to a separate file.
mfplat: Added MFMapDX9FormatToDXGIFormat().
mfplat/tests: Switch to a different texture format to enable more tests on older versions.
mfplat/tests: Add a workaround for test failures on Windows 7 VMs.
mfplat: Add a stub implementation of DXGI surface buffer.
mfplat/allocator: Add initial implementation of sample allocator.
mfplat/tests: Add some tests for sample allocator using D3D9 device.
mfplat/allocator: Keep a reference to initialization attributes.
mfplat/allocator: Add support for MF_SA_BUFFERS_PER_SAMPLE.
mfplat/tests: Fix a crash on Vista.
dwrite: Change remaining traces to have consistent format.
dwrite/layout: Implement desired orientation get/set methods.
oleaut32/tests: Remove workarounds in VarFormat* tests.
oleaut32/tests: Use wide strings in VarFormat* tests.
oleaut32: Handle preformatted strings in VarFormatCurrency().
oleaut32: Added ICreateTypeInfo2::DeleteFuncDesc().
dwrite: Call shaper masks setup only when doing substitutions.
dwrite: Track attachment chain during cursive positioning.
dwrite: Use attachment chain for marks positioning.
dwrite: Adjust comment regarding digits substitution during shaping.
evr/tests: Add some more interface checks for the allocator.
mfplat/allocator: Improve initialization handling.
mfreadwrite/reader: Keep a reference to configuration attributes.
mfreadwrite/reader: Create sample allocator for video streams.
dwrite/shaping: Make sure initial glyph buffer can fit at least one glyph per WCHAR.
explorerframe: Do not block clicks on the item button.
dwrite: Fix setting canBreakShapingAfter when applying ligatures.
dwrite/arabic: Use resolved codepoint for joining types.
dwrite/arabic: Mark glyphs with assigned action as unsafe to break.
explorerframe: Handle NSTCS_SINGLECLICKEXPAND style.
Paul Gofman (6):
vcomp100: Share the source with vcomp.
vcomp110: Share the source with vcomp.
vcomp120: Share the source with vcomp.
vcomp140: Share the source with vcomp.
cryptsp: Add dll.
opengl32: Support PFD_DEPTH_DONTCARE flag in wglChoosePixelFormat().
Piotr Caban (15):
ucrtbase: Fix _Syserror_map behavior on unknown error.
msvcrt: Make __lc_time_data more similar to native.
msvcr110: Copy utf16 strings in _Gettnames.
msvcrt: Imporve sqrt accuracy and performance on x86_64.
msvcrt: Improve sqrt accuracy and performance on i386.
msvcrt: Improve __libm_sse2_sqrt_precise implementation.
msvcr120/tests: Run strtof tests once.
msvcp90: Return required buffer size in _Strxfrm.
msvcp90: Add _Wcsxfrm implementation.
msvcr120: Don't export thiscall functions on arm.
concrt140: Add arm exports.
msvcrt: Set mxcsr denormal flag in sqrtf if needed.
msvcrt: Disable sse2 math functions in older versions of runtime.
msvcrt: Add x87 asin implementation.
msvcr120: Relax gettnames structure layout tests.
Roman Pišl (4):
conhost: Fix copy-paste error when setting windows size.
conhost: Improve notification when resizing window.
cmd: Fix handling of nested if-for expressions on a single line.
cmd: Fix handling of brackets in if-set expressions on a single line.
Rémi Bernon (57):
widl: Support WinRT flags attribute parsing.
widl: Support WinRT eventadd/eventremove attributes.
include: Define DECLSPEC_SELECTANY on MinGW.
include: Add IWMPVideoRenderConfig interface to wmprealestate.idl.
include: Add IWMPRenderConfig interface to wmprealestate.idl.
include: Add IWMPGraphCreation interface to wmpservice.idl.
include: Add WMPGC_FLAGS_SUPPRESS_DIALOGS constant to wmpservices.idl.
include: Add more DISPID constants to wmpids.h.
mscoree: Improve non-neutral assembly lookup logic.
widl: Generate WinRT runtimeclass name constants.
d3d11/tests: Add more tests for ID3D11DeviceContext1_SwapDeviceContextState.
d3d11/tests: Add missing ID3D11DeviceContext1_CSSetUnorderedAccessViews.
d3d11/tests: Add tests for ID3DDeviceContextState_SetPrivateData.
d3d11/tests: Add tests for input assembler stage state swap.
d3d11/tests: Add tests for output merger stage state swap.
d3d11/tests: Add tests for rasterizer stage state swap.
d3d11/tests: Add tests for stream output state swap.
d3d11/tests: Add tests for predicate state swap.
include: Rename class parameters to mmcss_class.
windowscodecs: Use IWICImagingFactory_CreatePalette in write_source.
wmphoto: Implement class factory for WmpDecoder.
widl: Remove useless find_type_or_error2 helper.
widl: Remove constant t parameter from find_type_or_error.
widl: Factor and cleanup coclass type declaration and definition.
widl: Factor and cleanup runtimeclass type declaration and definition.
widl: Distinguish interface declarations from interface references.
widl: Factor and cleanup interface type declaration and definition.
widl: Factor and cleanup dispinterface type declaration and definition.
widl: Factor and cleanup apicontract type declaration and definition.
widl: Factor and cleanup module type declaration and definition.
widl: Fold aIDENTIFIER / aKNOWNTYPE rules together.
wmphoto: Implement WMP decoder using jxrlib.
windowscodecs: Return E_INVALIDARG from GetFrame with NULL pointer.
configure: Silence a linker warning about no-PIC .text relocations.
ntdll: Print a warning for thread rename exceptions.
ntdll: Print a warning for debug print exceptions.
ntdll: Print a warning or an error for other exceptions.
widl: Add explicit namespace parameter to find_type_or_error.
widl: Use explicit namespace parameter for qualified names.
widl: Disallow qualified types in expressions.
widl: Remove aNAMESPACE token from the lexer.
widl: Fold inherit cases by using typename rule in qualified_type.
widl: Support referencing qualified interface names.
server: Grow rawinput buffer instead of allocating its maximum size.
widl: Support WinRT activatable attribute parsing.
widl: Support WinRT static attribute parsing.
widl: Support WinRT requires keyword.
include: Add Windows.Media.SpeechSynthesis.SpeechSynthesizer runtimeclass.
ntdll/tests: Remove traces from threadpool callbacks.
ntdll/tests: Test RtlRegisterWait with WT_EXECUTEINWAITTHREAD flag.
ntdll: Move Rtl(Un)RegisterWait code below threadpool structs.
ntdll: Don't force submit wait in TpSetWait if timeout is 0.
ntdll: Introduce new tp_object_execute helper.
ntdll: Re-implement RtlRegisterWait using TpSetWait.
kernel32: Write the wait handle before executing the callback.
widl: Support WinRT parameterized type parsing.
widl: Introduce new strappend helper.
Sebastian Lackner (1):
ntdll: Return STATUS_INVALID_DEVICE_REQUEST when trying to call NtReadFile on directory.
Timothy Pearson (2):
include: Add PPC64 endianness.
widl: Add PPC64 support.
Zebediah Figura (82):
winegstreamer: Move the "bus" field of struct parser to a new "wg_parser" object.
winegstreamer: Move the "element" field to struct wg_parser.
winegstreamer: Move the "my_src" and "their_sink" fields to struct wg_parser.
winegstreamer: Move the push offset tracking fields to struct wg_parser.
winegstreamer: Duplicate the file size into struct wg_parser.
include: Fix the definition of NOTIFYICON_VERSION[_4].
explorer: Send systray messages with SendNotifyMessage().
winemac: Send systray messages with SendNotifyMessage().
winex11: Send systray messages with SendNotifyMessage().
winegstreamer: Move the "push_thread" field to struct wg_parser.
winegstreamer: Move the playback initialization fields to struct wg_parser.
winegstreamer: Move the read request fields to struct wg_parser.
winegstreamer: Move the "flushing" field to struct wg_parser.
winegstreamer: Duplicate the "sink_connected" field in struct wg_parser.
ntoskrnl: Do not destroy the device list in enumerate_new_device().
winebus.sys: Fix the definition of ABS_TO_HID_MAP.
include: Pack HID_DESCRIPTOR.
winegstreamer: Move the "mutex" field to struct wg_parser.
winegstreamer: Move the "segment" field of struct parser_source to a new "wg_parser_stream" object.
winegstreamer: Move the GstPad fields to struct wg_parser_stream.
winegstreamer: Move the "flip" field to struct wg_parser_stream.
winegstreamer: Move the "caps" field to struct wg_parser_stream.
kernel32/tests: Correctly check for failure from FindFirstFile().
ntdll/tests: Check the alternate NT path only if it is present.
ntdll/tests: Add more tests for RtlDosPathNameToNtPathName_U().
kernel32/tests: Add some more tests for wildcards.
ntdll: Treat '>' the same as '?' in match_filename().
winegstreamer: Move the stream event fields to struct wg_parser_stream.
winegstreamer: Move the "eos" field to struct wg_parser_stream.
winegstreamer: Move the "flushing" field to struct wg_parser_stream.
winegstreamer: Avoid accessing the DirectShow peer from GStreamer callbacks.
winegstreamer: Reset the push offset in parser_init_stream().
kernelbase: Map LANG_SERBIAN_NEUTRAL in ConvertDefaultLocale().
ntdll: Map LANG_SERBIAN_NEUTRAL in RtlLocaleNameToLcid().
winegstreamer: Store the wg_parser pointer as our source pad's private data.
winegstreamer: Store the wg_parser_stream pointers also in struct wg_parser.
winegstreamer: Store the stream duration also in the wg_parser_stream structure.
winegstreamer: Use the "streams" array in wg_parser code.
winegstreamer: Factor out free_stream().
advapi32/tests: Add some tests for querying the security of pseudo-handles.
advapi32: Support GetSecurityInfo() with special root HKEY constants.
advapi32/tests: Add a couple tests for DuplicateTokenEx() access flags.
ntdll: Always return at least sizeof(PRIVILEGE_SET) in NtAccessCheck().
ntdll: Do not touch the privilege output buffers if access_check fails.
ntdll: Check the output buffer length in NtAccessCheck().
winegstreamer: Do not use gst_segment_to_running_time().
winegstreamer: Introduce an intermediate media format structure.
winegstreamer: Use struct wg_format to convert from AM_MEDIA_TYPE to GstCaps.
winegstreamer: Store the preferred stream format as a wg_format structure.
winegstreamer: Handle MPEG-1 audio formats in amt_to_wg_format().
winegstreamer: Store the current stream format in the wg_parser_stream structure.
winegstreamer: Compare wg_format structures in GST_QUERY_ACCEPT_CAPS.
winegstreamer: Use wg_format_to_caps() in GST_QUERY_CAPS.
winegstreamer: Use amt_to_wg_format() in decodebin_parser_source_query_accept().
winegstreamer: Avoid using Wine debug functions in query_sink().
winegstreamer: Don't force query_sink() onto a Wine thread.
server: Hold a reference to the iosb in the accept_req structure.
server: Terminate accept asyncs when the last socket handle is closed.
server: Hold a reference to both sockets in the accept_req structure.
server: Use a callback to free the accept_req structure.
winegstreamer: Store the wg_parser_stream pointers as our sink pads' private data.
winegstreamer: Separate parser_source and wg_parser_stream allocation.
winegstreamer: Defer source pin creation until after all pads are exposed.
winegstreamer: Pass a wg_parser pointer to signal callbacks.
winegstreamer: Avoid using Wine debug functions in existing_new_pad().
winegstreamer: Don't force existing_new_pad() onto a Wine thread.
ntoskrnl/tests: Test the contents of the user IO_STATUS_BLOCK.
ntoskrnl: Copy the IRP I/O status block to the user I/O status block in IoCompleteRequest().
ntoskrnl: Retrieve information from the user I/O status block for PnP IRPs.
ntoskrnl: Pass a KEVENT to IoBuildSynchronousFsdRequest() for PnP IRPs.
hidclass.sys: Pass a KEVENT to IoBuildDeviceIoControlRequest() in call_minidriver().
winebus.sys: Return success from IRP_MN_QUERY_CAPABILITIES.
hidclass.sys: Do not manually clean up devices on unload.
hidclass.sys: No longer track devices in a list.
wineusb.sys: Return STATUS_DELETE_PENDING rather than STATUS_CANCELLED when a device is removed.
winebus.sys: Return STATUS_DELETE_PENDING rather than STATUS_CANCELLED when a device is removed.
winegstreamer: Separate parser and filter initialization.
winegstreamer: Move wg_parser object creation to a new Unix library.
winegstreamer: Move GStreamer library initialization to __wine_init_unix_lib().
winegstreamer: Move wg_parser_destroy() to the Unix library.
wined3d: Support WINED3D_RTYPE_BUFFER in wined3d_check_device_format().
d3d11: Report D3D11_FORMAT_SUPPORT_BUFFER in CheckFormatSupport().
Ziqing Hui (1):
windowscodecs/tests: Fix an argument typo in ok().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.1 is now available.
What's new in this release (see below for details):
- Arabic text shaping.
- More WinRT support in WIDL.
- VKD3D version 1.2 is used for Direct3D 12.
- Support for Rosetta's memory layout on M1 Macs.
- Support for Thumb-2 mode on ARM.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.x/wine-6.1.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.x/wine-6.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.1 (total 37):
17848 Windows Print Preview: Lines drawn have incorrect width
21014 Dark Sector no Sound
21038 F-Secure BlackLight Engine 2.2.x (Rootkit scanner) crashes after accepting license agreement (Wine on-disk placeholder dlls sections must be padded with data up to section virtual size)
30062 Deer Hunter demo: unable to start a new game (map view unusable)
30469 Multiple .NET 2.0 applications abort with error 'System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' (SegFlex demo)
33349 Add support for 32-bit ARM Thumb-2 Wine build
35017 Rollercoaster Tycoon 3 has no music
38501 GetClipboardData(CF_UNICODETEXT) - return ANSI
39407 LabVIEW 2014 crashes on startup
42913 ACAT Dashboard, part of Intel Assistive Context-Aware Toolkit (ACAT) v1.00.0 (.NET 4.5 app) crashes with 'invalid parameter' in 'System.Drawing.Icon.Initialize' (missing support for PNG icons in user32)
43408 Quest 5.7.x (.NET 4.0 WPF app) crashes on direct access of MIL4 (Media Integration Layer, wpfgfx_v0400.dll) to internal bitmap struct/class impl (depends on exact layout)
45046 Skyrim SE: Shadow artifacts (missing handling of 'precise' shader modifier)
48685 Multiple games and applications need D3DX11CompileFromFile implementation
48714 mass effect spits error when using mouse fix
48790 mfplat:mfplat crashes on Windows 7
48870 Aldi (Buhl) Steuer 2019/2020 installer crashes
49327 Hearthstone Deck Tracker (with installed dotnet472) does not work with wine-staging 5.9 anymore
49484 test_query_process_image_info() test is broken on a not PE build
50033 WMI class SystemRestore is missing
50194 x64dbg snapshots >= 2020-11-12_05-12 crash on unimplemented function ntdll.dll.NtCreateDebugObject when attaching to process
50229 Battle.net launcher sometimes crashes after login (wine-5.22)
50256 Animate VST plugin activation doesn't work: wbem_services_ExecQuery gets no network adapters
50349 SlingPlayer crashes on launch (needs IDirectXVideoDecoderService)
50357 Star Stable Online crashes with unimplemented function dcomp.dll.DCompositionCreateDevice2
50376 Banished crashes when Antialiasing set to 3x MSAA with Vulkan renderer
50379 The Witcher 3 has broken rendering with Vulkan renderer
50386 Sniper Elite V2 some objects aren't rendered with Vulkan renderer
50387 Batman: Arkham Origins has broken dynamic shadows with Vulkan renderer
50459 Studio One 5 crashes on unimplemented function dcomp.dll.DCompositionCreateDevice
50485 Still Life 2 crashes when CSMT is disabled
50486 The Sims 3 launcher hangs
50494 ID2D1RenderTarget::DrawText(): The position and size of the drawn text is incorrect
50508 ACAT Phrase, part of Intel Assistive Context-Aware Toolkit (ACAT) v1.00.0 (.NET 4.5 app) crashes on unimplemented function 'uiautomationcore.dll.UiaRegisterProviderCallback'
50515 SofTalk 1.56 doesn't speak continuously after punctuation marks.
50525 ws2 _32 fails to build on macOS
50549 Some games fail to launch with Vulkan renderer
50570 Unknown Debian package and website in README
----------------------------------------------------------------
Changes since 6.0:
Akihiro Sagawa (6):
winmm/tests: Expect TIME_BYTES format for TIME_MS request.
winmm: Get rid of TIME_MS format support in waveOutGetPosition().
winmm/tests: Strictly test returned time format of waveOutGetPostion().
winmm: Get rid of TIME_SMPTE format support in waveOutGetPosition().
comdlg32/tests: Add a test for CF_NOSCRIPTSEL.
comdlg32: Set DEFAULT_CHARSET if CF_NOSCRIPTSEL is set.
Alex Henrie (1):
include: Add new LCMAP constants.
Alexandre Julliard (37):
msvcrt: Don't export fabsf on x86_64.
msvcrt: Implement pwctype() functions.
msvcrt: Fix some spec file discrepancies.
winebuild: Simplify ARM64 import thunks.
wordpad: Make qsort callback function cdecl.
evr: Make qsort and bsearch callback functions cdecl.
winebuild: Generate Thumb2-compatible assembly code on ARM.
winebuild: Support non-PIC mode for ARM targets.
ntdll: Make inline asm compatible with Thumb-2.
ntdll: Support Thumb mode in signal handling.
rpcrt4: Make inline asm compatible with Thumb-2.
vcomp: Make inline asm compatible with Thumb-2.
configure: Default to Thumb-2 mode for ARM.
ntdll: Always inline NtCurrentTeb() on ARM.
ntdll: Support more Dwarf pointer types.
include: Add a couple of dll characteristics.
gdi32: Merge rectangles horizontally when possible in CreatePolyPolygonRgn.
msvcp: Fix some spec file discrepancies.
d3dx9: Fix some spec file discrepancies.
winegcc: Pass the same winebuild args to all winebuild invocations.
ntdll: Add some more section information data.
ntdll: Load the COR header directly from the file handle.
ntdll: Check for valid architecture before mapping the module.
ntdll: Delay mapping a module until we have found the final one to load.
makefiles: Add missing dependency to wrc for test dll resources.
ntdll: Set the environment size in the process parameters.
ntdll: Fill the image information data also for .so builtins.
ntdll: Create a SEC_IMAGE view also for .so builtins.
server: Get rid of the exe_file parameter in the new_process request.
server: Rename debug_ctx to debug_obj.
ntdll: Implement NtCreateDebugObject().
server: Allocate handles only when returning the debug event to the client.
server: Don't store the debugger thread in debug events.
server: Store a debug object instead of a debugger thread in the process.
ntdll: Implement DbgUiGet/SetThreadDebugObject().
ntdll: Implement DbgUiConnectToDbg().
ntdll: Support the NtCreateDebugObject() flags.
Alistair Leslie-Hughes (5):
msado15: Only support put CursorLocation on Closed Recordset.
msado15: Support ADOConnectionConstruction15 on _Connection interface.
msado15: Implement ADOConnectionConstruction15 get_Session.
dsound: IDirectSoundBuffer8 GetStatus return DSBSTATUS_LOCSOFTWARE for deferred buffers.
include: Add more sal.h macros.
Arkadiusz Hiler (1):
hidclass.sys: Calculate correct bitCount for vendor-specific 1 bit repeated elements.
Biswapriyo Nath (1):
propkey.h: Added more PROPERTYKEY declarations.
Brendan Shanks (4):
winemac.drv: Use Metal to get a display's GPU info if possible.
winemac.drv: Handle non-PCI GPUs correctly.
loader: On Mac, move the top-down allocations area down to avoid Rosetta regions.
loader: On Mac, reserve an area starting at 4GB to force Rosetta's allocations higher.
Byeong-Sik Jeon (1):
gdi32: Preserve the GGO_UNHINTED bits until used.
Damjan Jovanovic (2):
mmsystem: Win16 DllEntryPoint uses HINSTANCE16, not HINSTANCE.
secur32: Implement the SECPKG_ATTR_UNIQUE_BINDINGS context attribute.
Daniel Lehman (3):
ntdll/tests: Add tests for semaphores.
ntdll/tests: Fix error messages for mutant test.
ntdll: Check event type on creation.
Derek Lesho (2):
winegstreamer: Correct mistaken enum value in ProcessMessage.
winegstreamer: Reformat type-setting functions to prevent the need for a conditionally initialized variable.
Dmitry Timoshkov (5):
shell32: Return S_OK from IShellLink::SetFlags() stub.
wbemprox: Add class SystemRestore stub implementation.
wbemprox: Flesh out a bit SystemRestore::Enable() implementation.
gdi32: Avoid best fit chars when mapping unicode character to a glyph index.
msi: Also set "MsiRunningElevated" installer property.
Floris Renaud (3):
po: Update Dutch translation.
documentation: Change obsolete Debian and Red Hat packages.
documentation: Add Dutch README translation.
Georg Lehmann (6):
winevulkan: Skip extensions that require a skipped extension.
winevulkan: Update to VK spec version 1.2.166.
winevulkan: Wrap VkSurfaceKHR in winevulkan.
winevulkan: Unwrap VkSurfaceKHR if required.
winevulkan: Don't advertise VK_EXT_headless_surface.
winevulkan: Fix surface functions if they aren't called by winevulkan.
Giovanni Mascellani (1):
winegstreamer: Wait on error conditions when initializing GStreamer.
Hans Leidekker (8):
wldap32: Properly initialize the context in ldap_sslinitW.
winhttp: Avoid a crash when the connection is closed while handling a redirect.
ws2_32: Avoid returning duplicate entries from WS_getaddrinfo.
ws2_32: Fix buffer size query in WSAAddressToStringW.
wbemprox: Implement Win32_NetworkAdapter.GUID.
wbemprox/tests: Add tests for Win32_NetworkAdapter/Configuration.
wbemprox: Handle escaped backslashes in LIKE queries.
wbemprox: Implement Win32_NetworkAdapter.ServiceName.
Haoyang Chen (2):
dwrite/layout: Handle NULL format in CreateEllipsisTrimmingSign().
d2d1: Fix text position in DrawText().
Henri Verbeet (22):
wined3d: Use glFinish() for synchronisation when cleaning up a destroyed context in wined3d_context_gl_cleanup().
wined3d: Get rid of the destination offset in wined3d_texture_vk_upload_data().
wined3d: Cleanup the staging bo on an error path in wined3d_texture_vk_upload_data().
wined3d: Handle UNORM/SNORM as FLOAT in shader_glsl_append_dst_ext().
wined3d: Handle UNORM/SNORM as FLOAT in shader_glsl_sprintf_cast().
wined3d: Also trace memory types in adapter_vk_init_driver_info().
wined3d: Implement the "precise" flag in the GLSL shader backend.
wined3d: Get rid of the "UseGLSL" setting.
ddraw: Use BitBlt() for exclusive mode frontbuffer updates if the swapchain window is not in the foreground.
wined3d: Introduce wined3d_context_vk_reference_resource().
wined3d: Add some barriers between resource usage on different bind points.
wined3d: Properly convert Vulkan sample count format information.
wined3d: End the current render pass in wined3d_buffer_vk_barrier().
wined3d: Always include any depth/stencil attachment in the Vulkan framebuffer.
wined3d: Stencil test also uses the depth/stencil buffer.
wined3d: Correct the argument order of a FIXME in wined3d_texture_vk_download_data().
wined3d: Require VK_KHR_sampler_mirror_clamp_to_edge for WINED3D_TADDRESS_MIRROR_ONCE.
wined3d: Implement NULL constant buffer views for the Vulkan backend.
d3d12: Implement D3D12SerializeVersionedRootSignature() on top of vkd3d_serialize_versioned_root_signature().
d3d12: Implement D3D12CreateVersionedRootSignatureDeserializer().
d3d12: Request VKD3D_API_VERSION_1_2.
wined3d: Trace the available Vulkan extensions.
Jacek Caban (14):
jscript: Return DateInstance from create_date.
jscript/tests: Add VT_DATE handling tests.
jscript: Support VT_DATE to number conversion.
jscript: Support VT_DATE to string conversion.
jscript: Support VARIANT type in jsval_strict_equal.
ntdll: Honour alertable argument in NtContinue.
winnt.h: Fix MSVC variants of InterlockedIncrement16 and InterlockedDecrement16.
ntdll/tests: Don't assume 32-bit test module base.
jscript: Add VT_CY type support.
winebuild: Make mingw a separated platform from msvc.
mshtml/tests: Use more winetest.js helpers in documentmode.js.
mshtml: Implement IHTMLCSSStyleDeclaration2::animation property.
mshtml: Make xhr.open async argument optional in IE9+ mode.
ieframe: Implement SetQueryNetSessionCount.
Jactry Zeng (3):
d2d1: Limit source rectangle to the actual size for ID2D1RenderTarget_DrawBitmap().
d2d1: Skip empty source rectangle for ID2D1RenderTarget_DrawBitmap().
d2d1: Partially implement d2d_device_context_DrawImage().
Jan Sikorski (1):
winemac.drv: Include depth32+stencil pixel formats in enumeration.
Jeff Latimer (1):
ws2_32: Do not print an ERR message when returning WSAEWOULDBLOCK from WSAIoctl().
Liam Middlebrook (2):
winevulkan: Skip commands which are declared but not defined.
winevulkan: Update to VK spec version 1.2.168.
Martin Storsjo (2):
include: Don't use __attribute__((pcs("aapcs-vfp"))) when building in PE mode.
msvcrt: Fix reading BOM-less files opened with ccs=unicode.
Michael Stefaniuc (2):
ddraw: Remove superfluous cast to self.
d2d1/tests: Remove superfluous cast to self.
Nikolay Sivov (42):
mf: Add a helper to get associated topology node object.
dcomp: Add DCompositionCreateDevice2().
dcomp: Add DCompositionCreateDevice() stub.
dwrite: Set lookup flags for joiners.
dwrite: Propagate joiners mode to iterators.
dwrite: Use joiner modes for matching.
dwrite: Set joiners mode for gsub case.
dwrite: Use table access helpers for reading names.
dxva2: Add IDirectXVideoDecoderService stub.
d2d1: Pass zeros as text layout size for inverted rectangles in DrawText().
dwrite/layout: Fail to create layouts with negative size.
ntdll/tests: Remove skips on missing ntdll.dll.
dwrite: Fix feature mask for non-global features.
dwrite: Zero-initialize run analysis object structure.
gdi32/uniscribe: Merge Arabic joining types C and D.
gdi32/uniscribe: Get rid of shaping group values in Arabic shaping data table.
make_unicode: Make it explicit what other default joining type is.
make_unicode: Remove unused variable.
dwrite: Zero initialize font data structure.
dwrite/tests: Add some tests for text format properties.
dwrite: Add font set builder stub.
dwrite: Set script id in shaping context.
dwrite: Add a stub Arabic shaper.
dwrite/arabic: Mark some features for fallback.
dwrite: Mark features that were not found.
dwrite: Add per shaping stage functions.
dwrite: Call stage function for substitution loop.
dwrite/arabic: Set per-glyph action.
dwrite/arabic: Set per-glyph mask.
dwrite/shape: Fix iterator skipping logic on ignorable characters.
mfmediaengine: Return current session time in GetCurrentTime().
mfmediaengine: Add partial implementation of a time range object.
mfmediaengine: Return full presentation range in GetBuffered().
mf/sar: Release pending items when audio client is released.
mf/sar: Handle shutdown state in rendering callback.
mf/tests: Use interface check helper more.
mfmediaengine: Use presentation clock interface from the session.
mfmediaengine: Use existing helper to update engine state flags.
mfmediaengine: Set "ended" state when session presentation ends.
mfmediaengine: Force returned playback position after presentation ends.
mfmediaengine: Use consistent format for traces.
mf/session: Add a stub for IMFTopologyNodeAttributeEditor.
Paul Gofman (20):
d3d9/tests: Add more tests for shader validator.
dbghelp: Fix unwind opcodes on x64.
dbghelp: Support UWOP_PUSH_MACHFRAME on x64.
bcrypt: Introduce export_gnutls_datum() helper and use it in export_gnutls_pubkey_rsa().
bcrypt: Pad exported datums in export_gnutls_pubkey_ecc().
bcrypt: Pad exported datums in export_gnutls_pubkey_dsa().
bcrypt: Pad exported datums in export_gnutls_pubkey_dsa_capi().
bcrypt: Pad exported datums in key_export_ecc().
bcrypt: Pad exported datums in key_export_dsa_capi().
bcrypt: Fix padding in format_gnutls_signature().
ws2_32: Reimplement SIO_GET_INTERFACE_LIST on top of GetIpAddrTable().
ws2_32: Use if_nameindex() instead of SIOCGIFNAME.
msvcrt: Add -norelay flag to lldiv definition in spec files.
iphlpapi: Mark adapter addresses as DNS eligible when interface has a gateway.
windowscodecs: Add IWICMetadataBlockWriter stub interface.
windowscodecs: Add IWICMetadataBlockWriter stub interface for Gif encoder.
windowscodecs/tests: Add test for metadata writer.
windowscodecs: Add IWICMetadataQueryWriter stub interface.
windowscodecs: Implement CommonEncoderFrame_GetMetadataQueryWriter().
windowscodecs: Return correct error codes from BmpFrameEncode_GetMetadataQueryWriter().
Piotr Caban (2):
crypt32: Also import user/admin defined root certificates on macOS.
msvcrt: Improve memmove performance on i386 and x86_64 architectures.
Rémi Bernon (36):
d2d1/tests: Check for d2d1 math functions presence.
d2d1/tests: Introduce init_test_context().
d2d1/tests: Create a window in init_test_context_().
d2d1/tests: Create a swapchain in init_test_context_().
d2d1/tests: Retrieve the swapchain back-buffer in init_test_context_().
d2d1/tests: Create a Direct2D render target in init_test_context_().
d2d1/tests: Store the resource data pointer and row-pitch directly in struct resource_readback.
d2d1/tests: Pass a d2d1_test_context structure to compare_surface().
d2d1/tests: Pass a d2d1_test_context structure to compare_figure().
d2d1/tests: Pass a d2d1_test_context structure get_surface_readback().
d2d1/tests: Store an IDXGIDevice interface instead of an ID3D10Device1 interface in struct d2d1_test_context.
d2d1/tests: Run most tests on d3d11 as well.
include: Add windows.media.speechsynthesis.idl stub.
windowscodecs: Use create_instance instead of ImagingFactory_CreateInstance.
windowscodecs: Use IWICComponentFactory_CreateStream in GetReaderByIndex.
widl: Remove unnecessary WinRT type comments.
widl: Support WinRT marshaling_behavior attribute parsing.
d3d11: Add initial implementation of CreateDeviceContextState.
d3d11: Add initial implementation of SwapDeviceContextState.
d3d11: Capture and restore vertex shader state.
d3d11: Capture and restore geometry shader state.
d3d11: Capture and restore pixel shader state.
widl: Support WinRT mta threading attribute parsing.
widl: Support WinRT exclusiveto attribute parsing.
windowscodecs: Use IWICComponentFactory_CreateQueryReaderFromBlockReader in GetMetadataQueryReader.
windowscodecs: Move several helpers to new wincodecs_common.c source.
widl: Support WinRT runtimeclass type parsing.
include: Add VoiceInformation runtimeclass to windows.media.speechsynthesis.idl.
include: Add IWMPRemoteMediaServices interface to wmp.idl.
include: Add IWmpControls2 interface to wmp.idl.
include: Add IWMPMedia2 interface to wmp.idl.
include: Add IWMPMedia3 interface to wmp.idl.
d3d11/tests: Add more SwapDeviceContextState tests.
d3d11/tests: Add tests for hull shader state swap.
d3d11/tests: Add tests for domain shader state swap.
d3d11/tests: Add tests for compute shader state swap.
Sebastian Lackner (1):
server: Store and notify all notification events associated with a given registry handle.
Shawn M. Chapla (1):
dsound: Send CaptureBuffer stop notification whenever stopping.
Ulrich Czekalla (1):
riched20: Add check to ensure iob is a valid index into the object array.
Vijay Kiran Kamuju (1):
uiautomationcore: Add stub UiaRegisterProviderCallback function.
Zebediah Figura (79):
gdi32: Do not compare face file names in insert_face_in_family_list() if either is NULL.
winegstreamer: Get rid of the unknown_type() callback.
winegstreamer: Avoid using Wine debug functions in autoplug_blacklist().
winegstreamer: Don't force autoplug_blacklist() onto a Wine thread.
winegstreamer: Don't bother setting the GStreamer pipeline to PLAYING.
winegstreamer: Rename gstdemux_source to parser_source.
winegstreamer: Rename gstdemux to parser.
winegstreamer: Unify the decodebin parser definitions under the name "decodebin_parser".
winegstreamer: Avoid leaking GstEvent objects.
winegstreamer: Explicitly store a GstCaps pointer in the parser_source structure.
include: Move interlocked functions to winnt.h.
winegstreamer: Do not handle GST_EVENT_TAG in event_src().
winegstreamer: Do not call gst_pad_event_default().
strmbase: Rename csFilter to filter_cs.
strmbase: Move strmbase_renderer.csRenderLock into the strmbase_filter structure.
quartz/dsoundrender: Use the strmbase stream lock.
include: Move InterlockedCompareExchange128 next to the other InterlockedCompareExchange* functions.
strmbase: Acquire the streaming lock in MemInputPin_Receive().
strmbase: Acquire the streaming lock in sink_EndOfStream().
quartz/acmwrapper: Use the strmbase stream lock.
quartz/avidec: Use the strmbase stream lock.
winegstreamer: Manage our own streaming thread.
include: Use __atomic_exchange_n() for InterlockedExchange*() if possible.
include: Add InterlockedOr().
include: Add MemoryBarrier().
winegstreamer: Flush connected pins directly in SetPositions().
winegstreamer: Consistently use GST_STATE_PAUSED for test-play.
winegstreamer: Do not return GST_FLOW_NOT_LINKED if the DirectShow pin is not connected.
winegstreamer: Keep the stream in paused state for its entire lifetime.
winegstreamer: Use the "flushing" field to unblock the streaming thread when stopping.
include: Add InterlockedAnd().
include: Add InterlockedIncrement16() and InterlockedDecrement16().
include: Add YieldProcessor().
wined3d: Use YieldProcessor().
ntoskrnl: Use YieldProcessor().
winegstreamer: Move pin duration and caps retrieval to GST_Connect().
winegstreamer: Store the segment parameters in the parser_event structure.
winegstreamer: Use a pthread condition variable to wait for filter initialization.
winegstreamer: Avoid using Wine debug functions in watch_bus().
winegstreamer: Don't force watch_bus() onto a Wine thread.
server: Avoid leaking "acceptsock" on allocation failure.
server: Use default_fd_get_poll_events() for file objects.
winegstreamer: Avoid using Wine debug functions in no_more_pads().
winegstreamer: Don't force no_more_pads() onto a Wine thread.
winegstreamer: Use pthread condition variables to queue stream events.
winegstreamer: Factor out get_stream_event().
winegstreamer: Avoid using Wine debug functions in got_data_sink().
winegstreamer: Don't force got_data_sink() onto a Wine thread.
msi: Check for failure from do_msidbCustomActionTypeDll().
msi: Return an error if trying to run a 64-bit custom action in a 32-bit prefix.
ntdll/tests: Add an alignment helper.
wined3d: Make adapter_gl_clear_uav() static.
winegstreamer: Avoid using Wine debug functions in event_sink().
winegstreamer: Don't force event_sink() onto a Wine thread.
winegstreamer: Avoid using Wine debugging functions in event_src().
winegstreamer: Don't force event_src() onto a Wine thread.
winegstreamer: Avoid using Wine debugging functions in query_function().
winegstreamer: Don't force query_function() onto a Wine thread.
winegstreamer: Avoid using Wine debug functions in removed_decoded_pad().
winegstreamer: Don't force removed_decoded_pad() onto a Wine thread.
winegstreamer: Manage our own thread for read requests.
winegstreamer: Don't force request_buffer_src() onto a Wine thread.
ntdll/tests: Add more tests for registry notifications.
winegstreamer: Use the "filesize" field in push_data().
winegstreamer: Use request_buffer_src() in push_data().
winegstreamer: Avoid using Wine debug functions in push_data().
winegstreamer: Make push_data() into a POSIX thread.
include: Include ntddndis.h in ndis.h.
ndis.sys: Avoid including ntddndis.h directly.
winegstreamer: Do not flush the upstream source pin in activate_push().
winegstreamer: Don't grab filter_cs in activate_push().
winegstreamer: Avoid using Wine debug functions in activate_mode().
winegstreamer: Don't force activate_mode() onto a Wine thread.
wineboot: Set the NXSupportPolicy member of the user shared data to NX_SUPPORT_POLICY_OPTIN.
kernel32: Implement GetSystemDEPPolicy().
kernel32: Implement SetProcessDEPPolicy().
wined3d: Implement global resource memory barriers.
include: Fix the definition of PNDIS_HANDLE.
include: Define some types before including ntddndis.h.
Zhiyi Zhang (4):
wined3d: Support multiple outputs.
user32/tests: Add display DC tests.
gdi32: Report correct HORZRES and VERTRES values for GetDeviceCaps() with DCs on a specific monitor.
gdi32: Report real VREFRESH values for GetDeviceCaps() with display DCs.
Ziqing Hui (4):
gdiplus/tests: Add tests for drawing on printer DC.
gdiplus: Correctly handle UnitDisplay for printer DC.
gdiplus/tests: Add initial tests for metafile created from printer DC.
gdiplus: Record logical DPI in metafile.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine team is proud to announce that the stable release Wine 6.0
is now available.
This release represents a year of development effort and over 8,300
individual changes. It contains a large number of improvements that
are listed in the release notes below. The areas of major changes are:
- Core modules in PE format.
- Vulkan backend for WineD3D.
- DirectShow and Media Foundation support.
- Text console redesign.
This release is dedicated to the memory of Ken Thomases, who passed
away just before Christmas at the age of 51. Ken was an incredibly
brilliant developer, and the mastermind behind the macOS support in
Wine. We all miss his skills, his patience, and his dark sense of
humor.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.0/wine-6.0.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.0/wine-6.0.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.
----------------------------------------------------------------
What's new in Wine 6.0
======================
*** PE modules
- The core DLLs, including NTDLL, KERNEL32, GDI32, USER32, etc. are
built in PE format. This should help a number of copy protection
schemes that check that the DLL files on disk match the in-memory
contents.
- There is a new mechanism to associate a Unix library with a PE
module, to make it possible to call Unix libraries from PE for the
functions that can't be handled with Win32 APIs.
These libraries are found by replacing the PE module file extension
with .so, for instance ntdll.dll -> ntdll.so. They have to be
located next to the PE file on disk.
- Winelib modules no longer link against libwine.so, or require it at
run-time. This is a backwards incompatible change, meaning that
modules built with Wine 6.0 won't run on older Wine versions.
- The libwine library is no longer used, but it's still provided to
support running Winelib modules built against older versions. It is
deprecated however, and will be removed in a future Wine
release. Applications that explicitly call libwine functions will
need to be changed to call equivalent Win32 or Unix APIs instead.
As a consequence, the wine/library.h header has also been removed.
- PE modules can be built with their debug information split to a
separate file, to reduce the size of the files installed into the
Wine prefix.
*** Direct3D
- An experimental Vulkan renderer for WineD3D is implemented. This
requires the vkd3d-shader library in order to translate Direct3D
shaders to SPIR-V shaders. In this release, shader support in the
Vulkan renderer is limited to shader model 4 and 5 shaders. In
practice, that limits its usefulness to Direct3D 10 and 11
applications. The Vulkan renderer can be enabled by setting the
Direct3D "renderer" registry setting to "vulkan".
- The following Direct3D 11 features are implemented:
- Per render-target ("independent") blend states.
- Dual-source blending.
- Multi-sample anti-aliasing sample masks.
- Several more capability queries.
- Support for Direct3D 9 alpha-to-coverage multi-sampling is
implemented.
- When the EXT_framebuffer_multisample_blit_scaled OpenGL extension is
available, scaled multi-sample resolve operations can happen as a
single operation.
- When the ARB_buffer_storage OpenGL extension is available, it will
be used to allocate OpenGL buffer objects. This can result in minor
performance improvements with some application and driver
combinations.
- The Direct3D graphics card database recognizes more graphics cards,
and the reported driver versions have been updated.
- New or modified HKEY_CURRENT_USER\Software\Wine\Direct3D registry keys:
- "renderer" (REG_SZ)
The backend API to target. This existing setting has an additional
valid value in this release: "vulkan". Possible values are now
"gl" (default) for OpenGL, "gdi" or "no3d" for GDI, and "vulkan"
for Vulkan.
- "csmt" (REG_DWORD)
Enable or disable multi-threaded command stream features. This
existing setting has an additional valid bit-field value in this
release. Valid bit-fields in this release are:
- 0x1 Enable the multi-threaded command stream feature.
- 0x2 Enable serialization between multiple command streams in the
same application. This feature is primarily useful for
applications using multiple Direct3D instances from
different threads, in combination with OpenGL drivers that
do not properly support multi-threaded access themselves. As
of this release, this is known to affect Microsoft Office
2013 and later versions in combination with the Mesa-based
Nouveau driver.
Note that this setting is a bit-field; in order to enable both
features above, set this to 0x3.
- Removed HKEY_CURRENT_USER\Software\Wine\Direct3D registry key:
- "DirectDrawRenderer"
This setting was previously deprecated in favor of the "renderer"
setting, and has been removed in this release.
*** D3DX
- Drawing text using the ID3DXFont interface is implemented.
- The ID3D12ShaderReflection shader reflection interface is
implemented.
- The D3DX10GetImageInfoFromMemory() and related image information
query functions are implemented.
*** Graphics
- Drawing arcs, ellipses and rounded rectangles using the Direct2D API
is implemented.
- The standard sRGB color profile is installed into the prefix, for
applications that expect to load it directly.
- The Null display driver can be used as a proper display driver, for
cases when a user interface is not needed.
- WindowsCodecs supports decoding images in DDS (DirectDraw Surface)
and JPEG-XR formats, as well as encoding images to GIF format.
- The Vulkan driver creates the JSON manifest and registry entry used
by the official Vulkan loader.
- The Vulkan driver supports up to version 1.2.162 of the Vulkan spec.
- There are a number of improvements in GdiPlus, including support for
widening lines, more hatch styles, and more record types in
metafiles.
*** Audio / video
- The Media Foundation framework is more complete, including:
- Initial Media Session implementation for state changes and data
flow.
- Initial Streaming Audio Renderer (SAR) pipeline component
implementation.
- Initial Video Renderer implementation, a pipeline component
hosting EVR mixer and presenter.
- Initial Topology Loader implementation.
- Various fixes for the Source Reader.
- Initial Media Engine implementation.
- Asynchronous queues functionality is moved to rtworkq.dll.
- The AMStream (ActiveMovie Multimedia Streaming) library is more
fully implemented, including support for streaming and sample
management.
- The Video Mixing Renderer supports the following features:
- Windowless and renderless mode.
- Automatic stretching and resizing of the video to match the window
size.
- Hardware-accelerated color space conversion of YUV formats, if
supported by the underlying Direct3D implementation.
- Preservation of video aspect ratio via letterboxing.
- The Video Mixing Renderer is used as the default video renderer if
supported by the underlying Direct3D implementation, replacing the
GDI video renderer.
- The DirectShow File Writer filter is implemented.
- The DirectX Media Object (DMO) Wrapper filter is implemented. DMOs
can be automatically enumerated and plugged into the filter graph.
- The video capture filter supports reporting more information about
video formats, including supported sizes and frame rates.
- More Media Detector APIs are implemented.
- The GStreamer wrapper filter supports video and audio format
conversion within the GStreamer pipeline. This obviates the need for
extra transform filters, and accordingly the GStreamer-based YUV to
ARGB converter, audio converter, and mp3 decoder have been
removed. Any video can be output in any of several RGB and YUV
formats, allowing for better performance in some cases.
- The Enhanced Video Renderer (EVR) contains an initial default mixer
and presenter implementation using DXVA2 API.
- The XACT3 (Cross-platform Audio Creation) engine library and
interfaces are implemented through FAudio.
*** Text and fonts
- Text console support is reimplemented, using the architecture of
recent Windows versions, which is closer to the Unix way of doing
things. In particular:
- Pseudo consoles are implemented (equivalent to Unix pseudo TTYs).
- All console handling is done in the ConHost process. WineConsole
is now only a thin wrapper around ConHost.
- ConHost handles VT escape sequences, meaning that the Unix Curses
library is no longer needed.
- Default shaping features are enabled for all scripts in
DirectWrite. All types of GSUB/GPOS lookups are supported.
- In DirectWrite, CMAP data is read directly from the font without
global cache or a need to create FreeType objects, for improved
performance.
- The font initialization in GDI32 avoids loading fonts through
FreeType when possible, for faster startup times. The font registry
cache is also more efficient.
- The Uniscribe support in the USP10 library is moved into GDI32, as
per recent Windows versions.
- An initial version of the Webdings font is implemented, with only a
few glyphs at this point.
*** Input devices
- Raw input devices and messages are implemented, and used by
DirectInput instead of less efficient low-level hooks.
- An initial USB kernel driver is implemented, based on the LibUSB
library, to provide access to USB devices.
- Mouse position history is implemented, for games that want more
precise mouse positions.
- SDL controller mappings can be set through the
'SDL_GAMECONTROLLERCONFIG' environment variable.
- Plug & Play device notifications are implemented.
*** Desktop integration
- Display settings are retrieved through XRandR 1.4 if available. This
also provides support for multiple display orientations.
- There is a consistent view of the graphics adapters across the X11,
OpenGL and Vulkan APIs.
- The desktop work area layout is supported on multi-monitor setups
using the _GTK_WORKAREAS property.
*** Internationalization
- Unicode character tables are based on version 13.0.0 of the Unicode
Standard.
- Unicode normalization is fully standard-compliant, including support
for Hangul, supplementary character planes, and IDN normalization.
- Codepage and other Unicode tables are stored in external NLS files
compatible with Windows. This makes it possible to test with the
native files to track down character mapping issues.
- Codepage mapping tables are generated from Microsoft's Open
Specification data for better compatibility.
- Unicode linguistic case mappings for languages like Turkish are
implemented.
- Codepage 708 (Arabic ASMO) is supported.
*** Kernel
- Windows version compatibility mode is implemented, to only report
the newest Windows versions to applications that have declared that
they support them.
- INI file mappings are implemented, to redirect .ini file entries to
registry keys.
- Many more NT kernel objects and functions are implemented, to
support anti-cheat systems that load kernel drivers.
- A NetIO.sys kernel driver is implemented, to support copy protection
drivers that want to access the network.
- AVX registers are supported in register contexts and exception
handling on x86 platforms.
- The Kernel User Shared Data block contains up-to-date timestamps, to
avoid system calls when retrieving the current time counter.
*** C Runtime
- The C runtime import libraries provide the necessary runtime support
so that PE modules no longer depend on the MinGW runtime.
- The Wine modules are all built against the new UCRT runtime.
- Winegcc uses the new UCRT runtime by default, unless an older C
runtime library is explicitly imported.
- The C runtime supports Windows locales that use the UTF-8 codepage.
- A number of C runtime math functions are implemented internally
based on code from the Musl C library, to avoid depending on the
system math library.
- Floating point formatting is reimplemented in the C runtime to avoid
depending on the system printf function.
*** Internet and networking
- The Gecko engine is updated to version 2.47.2.
- The WebSocket API is implemented.
- JScript and VBScript report the correct location for errors in
scripts.
- There are various improvements to the LDAP and Active Directory
Service support.
- There is an initial implementation of the NDIS network driver.
- The OLE data link dialog supports configuring the ODBC data
connection.
*** Cryptography
- The BCrypt library supports additional algorithms, including DSA
keys and the 3DES cipher.
- The DSSENH (Digital Signatures) Cryptographic Provider is
implemented, and enabled by default.
*** Alternative platforms
- Support for exception handling and stack unwinding on ARM platforms
(both 32-bit and 64-bit) should be on par with the x86
architectures.
- There is initial support for ARM64 on macOS, for the new Apple
Silicon.
- Support for the obsolete 32-bit PowerPC architecture is removed. It
had been broken for some time already.
- Case-insensitive filesystem optimizations are enabled on FreeBSD.
*** Builtin applications
- WineCfg supports querying and modifying the configured Windows
version through the command line with a new /v option.
- The Shell Folders configuration in WineCfg also supports the
Downloads and Templates folders.
- The removable drive autodetection has been removed in WineCfg, now
that the dbus dynamic device support is stable.
- The FSUTIL tool supports a 'hardlink' command to create hard links.
- The FIND tool supports searching multiple files, in addition to
standard input.
- The WHOAMI tool is implemented to display the current username.
*** Development tools
- Winegcc supports generating PDB files when building PE DLLs, for
compatibility with Windows debuggers.
- DbgHelp supports GNU-style debug information also in PE files.
- Winegcc can generate an import library directly when building a DLL,
with the '-Wl,--out-implib' option.
- The various build tools also look for include and library files in
paths relative to the tool binary, to allow relocatable Winelib
installations.
- The Resource Compiler (wrc) and Message Compiler (wmc) use the
external NLS files for codepage conversions. If necessary, the path
to the external files can be specified with the '--nls-dir' option.
- There are various improvements in the gdb proxy mode in WineDbg,
including support for hardware watchpoints, and for loading symbols
from PE modules.
- The Message Compiler (wmc) handles the Unicode BOM to detect the
input file format.
- The Resource Compiler (wrc) has a '--utf8' option to specify UTF-8
input, as an alternative to putting #pragma codepage inside the
file.
- The IDL compiler (widl) supports a WinRT mode, and various
constructs specific to that mode.
- The IDL compiler (widl) supports custom attributes in type
libraries.
*** Build infrastructure
- Makefiles are no longer recursive; a single Makefile is generated to
build the entire tree, with correct dependencies between modules.
- Automake-style silent build rules are supported. They are disabled
by default, but can be enabled by passing the '--enable-silent-rules'
option to configure.
- The new LLVM-MinGW compiler is supported for PE cross-compilation.
- Building with the Clang compiler in MSVC mode is supported.
- A '-syscall' entry point flag is supported in spec files, to
generate NT-style system call entry points.
*** Miscellaneous
- The Mono engine is updated to version 5.1.1, containing the open
sourced parts of the WPF framework, and initial replacements for
some of the closed source parts.
- Most modules have been converted to use wide-character string
constants like L"abc" instead of explicit arrays, for more readable
code.
- Many of the less common timezones (for various remote islands) are
supported.
- Listviews and image buttons are supported in MSI installers.
- There is initial support for the Print Ticket API.
*** New external dependencies
- The LibUSB library is used to implement the USB driver.
- The VkD3D-Shader library is used to translate Direct3D shaders to
SPIR-V shaders for the WineD3D Vulkan renderer.
- The Curses, GLU, and Zlib libraries are no longer used.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.0-rc6 is now available.
Barring any last minute issue, this is expected to be the last
release candidate before the final 6.0.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.0/wine-6.0-rc6.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.0/wine-6.0-rc6.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 6.0-rc6 (total 10):
48860 RegiStax 6: mouse does not work in open file dialog
49500 Wine is not displaying any windows (on a headless system)
49511 Kontakt (Native Instruments) runtime is broken
49575 Delphi applications no longer show their main window in the WM's taskbar
50151 World of Tanks fails to launch if LC_LANG/LC_ALL are set ja_JP
50153 HID doesn't work on macOS Catalina and Big Sur unless "Input Monitoring" permission is granted
50355 Commandos 2: Men of Courage hangs after starting
50437 wineserver crashes when running SteelSeries Engine client
50453 CDB (Part of Debugging Tools for Windows) fails resume debugging after entry point break (continue debug event: 'DBG_EXCEPTION_HANDLED' must be treated as an alias for 'DBG_CONTINUE')
50454 Icons have non-transparent background in HxD
----------------------------------------------------------------
Changes since 6.0-rc5:
Alexandre Julliard (1):
winex11: Don't delay mapping 0-sized layered windows.
André Hentschel (4):
ddraw/tests: Don't test functions directly when reporting GetLastError().
d3d8/tests: Don't test functions directly when reporting GetLastError().
dxgi/tests: Don't test functions directly when reporting GetLastError().
d3d9/tests: Don't test functions directly when reporting GetLastError().
Anton Baskanov (2):
winegstreamer: Move sample sending to a helper function.
winegstreamer: Split audio data to fit in the sample buffer.
Byeong-Sik Jeon (1):
readme: Update Korean translation.
Gabriel Ivăncescu (4):
comctl32/tests: Add more tests for 32bpp bitmaps with and without alpha, and masks.
comctl32: Remove the masked background when 32bpp bitmaps have no alpha values.
ntdll: Do not override existing context's EAX when dispatching user APC.
ntdll: Do not override existing context's RAX when dispatching user APC on x86_64.
Jacek Caban (3):
conhost: Fix wrapping search in edit_line_find_in_history.
jscript/tests: Silence noisy debug trace.
configure: Check for linker delayload support on mingw hosts.
Julian Rüger (1):
readme: Update German translation.
Kevin Puetz (1):
include: Check whether the ms_abi attribute is supported on aarch64.
Nikolay Sivov (1):
mfplat/tests: Get source events in async mode.
Piotr Caban (1):
msvcr100: Use LC_TIME code page when converting strftime data.
Qijia Liu (1):
winedbg: Distinguish -0 from 0.
Rémi Bernon (2):
windowscodecs: Copy container_count GUIDs, not bytes, in GetContainerFormats.
server: Accept DBG_EXCEPTION_HANDLED parameter in continue_debug_event.
Zebediah Figura (6):
wined3d: Use debug_d3dusage() for both usage and usage query flags.
user32/tests: Add some tests for WM_CANCELMODE.
user32/tests: Add some tests for release of capture via modal dialogs.
user32: Send WM_CANCELMODE to the current capture window after initializing a modal dialog.
ntdll: Set the process detaching flag before calling FLS callbacks.
kernel32/tests: Add a regression test for a deadlock calling FLS callbacks on process exit.
Zhiyi Zhang (1):
readme: Update Simplified Chinese translation.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.0-rc5 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.0/wine-6.0-rc5.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.0/wine-6.0-rc5.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 6.0-rc5 (total 21):
21987 Acrobat 7 tryout installer complains: "This Postscript Driver or Windows Platform (Win9x/Me) not supported" (winspool.drv missing level 8/global default printer settings handling)
38166 Heroes of Might and Magic V performance issue: severe fps drop on certain maps
41593 Molot VST 0.3.1 UI: some knobs are not rendered
43852 Monkey Island Special Edition Collection: White screen and crash when starting Monkey1.exe
44243 Spire and Serum VST plugins using Direct2D render very slowly
44367 Multiple applications need d2d FillEllipse/DrawEllipse implementation (OP-X PRO II VST)
44454 Windows Media Encoder 9 refuses to install
44574 Microsoft Office 2013 client area is rendered black (Direct2D)
45096 MPC-HC 1.7.13 displays a message box: "Error creating EVR Custom renderer", "DXVA2CreateDirect3DDeviceManager9 failed"
47770 Waves Central plugin installation fails
47824 Remote Life 1.2 demo terminates with 'Cannot load library nw_elf.dll'
48142 shell32:appbar tests fail on some Windows 10 machines
49010 ilok license manager: doesn't connect to the activation server as in 4.0.2
49356 Saya No Uta (a.k.a. The Song of Saya) crashes when launching
49771 ntdll:exception causes an unhandled segmentation fault
50241 Vertical Text in NL5 schematic doesn't display correctly
50304 Control-C exits winedbg instead of stopping the inferior
50397 dlls/d3dcompiler_43/tests/hlsl_d3d11.c: error: unknown field ‘Texture2D’ specified in initializer
50408 wineboot crash to due getaddrinfo() returning NULL ai_canonname
50420 Divinity: Original Sin - Enhanced Edition crashes on startup
50423 dlls/devenum/mediacatenum.c: | function ‘property_bag_Read’ | error: unknown field ‘cPins2’ specified in initializer
----------------------------------------------------------------
Changes since 6.0-rc4:
Akihiro Sagawa (1):
readme: Update Japanese translation.
Alex Henrie (1):
winebus: Remove redundant preprocessor check for libsdl2.
Alexandre Julliard (1):
Update copyright info for 2021.
Alistair Leslie-Hughes (1):
include: Add DBACCESSORFLAGSENUM/DBBINDSTATUSENUM values.
Anton Baskanov (1):
winegstreamer: Unmap and unref the buffer and release the sample before returning.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Damjan Jovanovic (1):
ws2_32: Deal with getaddrinfo() returning NULL ai_canonname despite AI_CANONNAME.
Dean M Greer (2):
readme: Update OS X requirements.
configure: Remove Xcode 3.x check.
Esme Povirk (1):
user32/tests: Don't kill explorer to test shell window.
Jacek Caban (2):
condrv: Don't requre write access for IOCTL_CONDRV_CTRL_EVENT ioctl.
conhost: Ignore CONTROL_C_EXIT exceptions in Unix mode.
Jefferson Carpenter (1):
ntdll/tests: Clear AC flag in align check test.
Lauri Kenttä (1):
readme: Update Finnish translation.
Michael Stefaniuc (1):
msscript.ocx/tests: Use wide-char string literals.
Nikolay Sivov (1):
readme: Update Russian translation.
Paul Gofman (2):
ntdll: Use WINAPI calling convention for stub_entry_point().
user32: Add stub for SetDisplayConfig().
Qijia Liu (1):
winedbg: Remove arm_disasm_branchreg.
Sveinar Søpler (1):
readme: Update Norwegian translation.
Zebediah Figura (3):
httpapi/tests: Avoid some test failures with newer Windows 10.
devenum: Avoid initializing nameless unions in designated initializers.
server: Pass the correct size to sockaddr_from_unix() (Valgrind).
Zhiyi Zhang (1):
winex11.drv: Check that there are connected outputs before using XRandR 1.4.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.0-rc4 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.0/wine-6.0-rc4.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.0/wine-6.0-rc4.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 6.0-rc4 (total 29):
24116 Cannot save game in Rainblood: Town of Death
25409 Windows Live Essentials for XP installer crashes
27229 printf() newline missing with multibyte strings
31942 Microsoft Office 2003 and Office 2003 Editions Resource Kit installers crash on startup
32061 Guild Wars: Launcher hangs sometimes
39731 Assassin's Creed IV Black Flag crashes
40430 Multiple NVIDIA installers abort due to failure to process xml config (PhysX 9.x, GeForce Now, GeForce Experience 3.x, RTX Voice)
41298 Battlefield 3 crashes during loading
41450 timestamp is missing from some debug messages
43329 Multiple applications fail to get selected path after double click last path element in IFileDialog2 folder selection dialog (Wargaming.net Game Center, Adobe DNG Converter 10.x/11.x)
43412 World of Warships: CEF screens cannot be displayed
44185 DragonAgeOrigins autorun.exe crash inside winegstreamer
44538 Tales of Zestiria doesn't start
45950 RedMon 1.9 (Redirection Port Monitor) does not work (missing support for monitors providing the MONITOR2 interface)
48587 httpapi tests are broken on Windows 8
49143 RTF Editor does not support cyrillic letters using MS Sans Serif Font
49347 Settlers III: mouse not working on start screen, game entry and statistics screen after a game, if "Automatically capture the mouse in full-screen windows" is on in winecfg
49493 Children Of Morta stays at blue stars screen after starting game.
49545 Current working directory reset to "/" executing a winegcc/wineg++ compiled program
49563 Adobe DNG converter 12.4 crashes after upgrade to Wine 5.12
49650 Bunch of Heroes (Steam) hangs with a black screen at startup
49683 Kingdom Come Deliverance crashes
49782 Elite Dangerous Horizons: crashes with wine64 5.16
49789 Tina 11 Demo crashes when run in a 64-bit prefix
50126 Writing VT_UI8 property type to a stream is not currently supported
50291 World of Warcraft Classic Fails to Close Cleanly
50354 Team Fortress 2 crashes during loading
50373 Touhou Shinpiroku trial terminates immediately
50378 dlls/amstream/tests/amstream.o error: unknown field ‘dwBitMasks’ specified in initializer
----------------------------------------------------------------
Changes since 6.0-rc3:
Akihiro Sagawa (2):
po: Update Japanese translation.
d3dx9: Avoid closing invalid handles.
Alexandre Julliard (2):
gdi32: Don't fail font creation when we are out of handles.
dwrite: Avoid a compiler warning when FreeType is missing.
Alistair Leslie-Hughes (4):
include: Add DB_LRESERVE type.
include: Add ExecuteOptionEnum typedef.
msado15: Set row_set point to NULL on close.
msado15/tests: Add test for interface ADOConnectionConstruction15.
Andrey Gusev (1):
po: Update Ukrainian translation.
André Hentschel (2):
opengl32/tests: Don't test function directly when reporting GetLastError().
kernel32/tests: Don't test functions directly when reporting GetLastError().
Biswapriyo Nath (2):
include: Add more Media Foundation error codes.
include: Add IAMCameraControl definition in axextend.idl.
Can Taşan (1):
po: Update Turkish translation.
Dmitry Timoshkov (6):
wbemprox/tests: Run StdRegProv tests using ROOT\\DEFAULT connection point.
wbemprox/tests: Add some tests for SystemRestore class.
gdi32/tests: Add some tests to show that GetGlyphIndices() should avoid best fit chars.
fonts: Correct default glyph index for MS Sans Serif font to match Windows.
shell32/tests: Remove no longer used parameter.
shell32/tests: Remove workarounds for shell32 < 5.0.
Huw D. M. Davies (1):
qcap: Avoid unused variable warning if v4l is absent.
Jacek Caban (1):
conhost: Fix copy-paste typos in selection coordinates.
Martin Storsjo (6):
asm: Separate .def/.scl/.type/.endef with newlines instead of semicolons.
winebuild: Pass -m options to dlltool for arm and arm64.
asm: Use SEH assembly when building with clang in MSVC mode.
include: Fix the signature of _InterlockedCompareExchange128.
include: Check whether the ms_abi attribute is supported on aarch64.
ntdll: Implement a no-op __chkstk for arm64.
Michael Stefaniuc (1):
winspool/tests: Use wide-char string literals.
Nikolay Sivov (1):
dwrite: Add a notice regarding HarfBuzz.
Paul Gofman (2):
ntdll: Always copy context in call_user_apc_dispatcher() on x86.
ntdll: Preserve syscall frame when calling async IO system APC.
Zebediah Figura (3):
amstream/tests: Define NONAMELESSUNION.
ucrtbase: Do not add MSVCRT_ prefix to the exported function name of _lrot*.
d3dcompiler/tests: Avoid initializing nameless unions in designated initializers.
Zhiyi Zhang (2):
gdi32/tests: Fix possible test failures in test_clip_box().
gdi32/tests: Fix test failures on Win10 1909+.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.0-rc3 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.0/wine-6.0-rc3.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.0/wine-6.0-rc3.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 6.0-rc3 (total 19):
20352 Autodesk 3ds Max 9 fails to start: "adlmdll.dll failed to initialize" (failure to connect to Autodesk Licensing Service)
22009 Symantec Antivirus 10.1 installer fails due to missing Windows Event Log Service (wevtsvc)
32772 Built-in iexplore crashes on exit with Flash player 11 ActiveX plug-in installed
45699 Multiple applications crash on unimplemented function RPCRT4.dll.NdrClientCall3 (MS Office 2016 Pro Plus 64-bit/x64 installer, MS-MPI 10.x)
48808 user32:cursorinfo "wrong info cursor" failure in Chinese locale on Windows 10
49584 DbgHelp no longer can write minidumps
49614 Regression: Steam win32 client floods with "CreateSharedImage: invalid format" before crashing
49831 winetricks dotnet30sp1 fails
49832 Crysis crashes when starting a new game
49841 Provide an intermediate level of make output
49940 64Bit iexplore.exe crashes on macOS
50014 ConEmu hangs (no interaction possible with console)
50015 YUMI-UEFI broken in Wine 5.15
50052 wineconsole and mark-copy
50124 Objects are visible through each other or invisible at all with vulkan renderer (Sniper Elite V2, Banished)
50142 winedbg fails to run programs
50252 (linked ?) fonts not handled correctly since wine 5.21
50271 Wine throws virtual_setup_exception error during PSPad splash screen or while checking for updates
50343 ConEmu is extremely slow when resizing or selecting text
----------------------------------------------------------------
Changes since 6.0-rc2:
Akihiro Sagawa (3):
po: Update Japanese translation.
po: Update Japanese translation style.
po: Update Japanese translation.
Alex Henrie (2):
po: Update Catalan translation.
kernel32/tests: Add tests for Get(Active|Maximum)ProcessorCount.
Alexandre Julliard (6):
gdi32: Don't create font substitutes for identical names.
gdi32: Properly fail mapping glyph for invalid characters in fonts without encoding.
ntdll: Pass the correct handle to NtTerminateProcess().
vcomp/tests: Explicitly request signed chars.
makefiles: Make the tests also depend on the Unix library of the tested module.
ntdll: Only reset the Unix current directory on removable devices.
Biswapriyo Nath (7):
include: Add AUDCLNT_STREAMOPTIONS_AMBISONICS in audioclient.idl.
include: Add error codes in audioclient.idl.
include: Add AMBISONICS_PARAMS structure in audioclient.idl.
include: Add IAudioAmbisonicsControl interface in audioclient.idl.
include: Add more GUIDs in mfreadwrite.idl.
include: Add DEFINE_ENUM_FLAG_OPERATORS macro in mfreadwrite.idl.
include: Add DEFINE_ENUM_FLAG_OPERATORS macro in directmanipulation.idl.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Can Taşan (1):
po: Update Turkish translation.
François Gouget (4):
ws2_32/tests: Skip some raw socket tests when missing elevated privileges.
ntdll/tests: Skip some registry tests when missing elevated privileges.
ntdll/tests: The case-sensitivity tests don't need write access.
crypt32/tests: Fix a registerOIDInfo() failure when missing elevated privileges.
Haidong Yu (2):
inetcpl.cpl: Fix memory leak in security_on_initdialog.
ieframe: Fix memory leak in PersistFile_Save.
Henri Verbeet (9):
wined3d: Compare requested memory types in wined3d_bo_slab_vk_compare().
wined3d: Only clear "map_ptr" if the memory was unmapped in wined3d_allocator_chunk_vk_unmap().
wined3d: Unmap the chunk if needed in wined3d_context_vk_destroy_bo().
wined3d: Unmap the slab if needed in wined3d_context_vk_destroy_bo().
wined3d: The Vulkan blitter supports depth blits.
wined3d: Zero-initialise context_vk in wined3d_context_vk_init().
wined3d: Avoid referencing empty command buffers in wined3d_query_event_vk_issue().
wine.inf: Store Dynamic DST data for Asia/Tehran as "relative" dates.
wined3d: Do not create Vulkan 2D (array) views for UAVs on 3D resources.
Jacek Caban (9):
dbghelp: Fetch version info only for PE modules in minidumps.
ucrtbase: Improve __intrinsic_abnormal_termination stub.
msvcrt: Prefix *rot* functions.
msvcrt: Use GCC-style assembly on Clang MSVC target.
msvcrt: Use __ASM_USE_THISCALL_WRAPPER in cxx.h.
winapi: Use __alignof__ on clang.
conhost: Don't create bitmap for hidden windows.
conhost: Improve get_output_info debug traces.
widl: Don't apply call_as methods to async interface.
Jactry Zeng (1):
po: Update Simplified Chinese translation.
Michael Stefaniuc (7):
wldap32/tests: Use wide-char string literals.
hnetcfg/tests: Use wide-char string literals.
atl100/tests: Use wide-char string literals.
msi/tests: Use wide-char string literals.
schedsvc/tests: Use wide-char string literals.
qcap/tests: Use wide-char string literals.
gdi32/tests: Use wide-char string literals.
Paul Gofman (5):
ws2_32: Fix buffer size check in WSAIoctl() for SIO_GET_INTERFACE_LIST.
ntdll: Remove unwind registers save space from struct stack_layout on x64.
ntdll: Always copy context in call_user_apc_dispatcher() on x64.
ntdll: Save unwind information in KiUserApcDispatcher() on x64.
ws2_32/tests: Don't fail the test in test_wsaioctl() if only one interface is available.
Rafał Harabień (1):
d3d9: Fix handling of D3DENUM_WHQL_LEVEL.
Rémi Bernon (1):
wintrust: Don't fail CryptCATOpen on empty file or invalid data.
Zebediah Figura (5):
httpapi/tests: Sleep before calling GetOverlappedResult() in test_v2_server().
winmm: Always allocate at least MAX_PATH bytes in mmioOpenW().
winmm/tests: Test the mmioOpen() search path with various flags.
winmm/tests: Add some tests for MMIO_PARSE with long file names.
winmm: Search the default path when opening an existing file in create_file_OF().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.0-rc2 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.0/wine-6.0-rc2.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.0/wine-6.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 6.0-rc2 (total 40):
16250 Sacred Gold Edition: cinematics do not play
29310 FirstClassClient 12.005 no login screen
32877 Gnomoria Demo crashes on launch.
33488 Print Artist 4.0 (Win 3.11/95) installer doesn't show up
34373 AirScout 0.9.9.5 (.NET 4.0 app) fails to start with Wine-Mono (System.Windows.Forms.DataVisualization.Charting.Chart.BeginInit method not implemented)
38161 Whispering Willows has missing text for Cyrillic alphabet
42152 eFax Messenger 4.4: hangs during installation
43362 Bethesda Net Launcher can`t download games
44455 Grandia 2 movies don't play
45249 Multiple applications wrapped with PE Compact v2.x protection scheme crash on startup (GOT/PIC code emitted at Win32 API entries)(Zockinger Facilitator TFFT v1.1x)
45404 LEGO Rock Raiders crashes early on launch
48362 Shadwen (32-bit version) crashes after an intro or chapter restart
48531 Commandos 2 - HD Remaster fails to launch without native .NET 4.0
48850 Mafia: The City of Lost Heaven videos playing in pink
49106 error: redefinition of typedef ‘UCHAR’ (plus 'PUCHAR’, ‘USHORT’, 'PUSHORT’, ‘ULONG’, and 'PULONG’)
49191 armv7l build broken: dlls/ntdll expression too complex (compiler default '-march=armv6' doesn't support __sync_add_and_fetch for 64-bit integers)
49455 Resident Evil Revelations 2 goes into split screen with one controller.
49467 Resident Evil Revelations 2 my directional pad does not work when analogs are enabled.
49535 Multiple applications have overly green and purple videos due to bad YUV -> RGB conversion (Final Fantasy XI Online, Megarace 3, BlazBlue Calamity Trigger, Mafia: The City of Lost Heaven)
49540 Silverlight configuration tab "Webcam / Mic" crashes without functional GL libraries
49690 winetricks dotnet35 hangs in 64-bit prefixes
49838 Backtraces no longer contain symbols
49892 WINE 5.17 never ending loop on "Setting up the windows environment..." ( Android-x86 OS running on PC)
49900 Go programs built using go-winio crash on unimplemented function ntdll.dll.RtlDefaultNpAcl
50010 Deus Ex Mankind Divided crashes if Wine is compiled with mingw
50024 signtool.exe from Windows 7 SDK fails to find certificates
50102 Starcraft fails to download cloud settings in fullscreen mode
50114 Battle.net App hangs when opening web links
50121 Commandos 2 - HD Remaster too dark with vulkan renderer
50127 Fonts are thin and pale
50139 Exact Audio Copy (EAC) 1.6 plugins not loading (dotnet20 / dotnet40)
50173 Autocad 2005 no longer launches
50175 Path of Exile: some Cyrillic and Hungul text is missing since Wine 5.20
50190 Shockwave Projector: crash on launch
50211 Quicken 2004 XG Release 2 crashes on startup
50216 Doesn't start Thunderbird (x64 portable version) any more
50228 Warframe: filtering by text does not work for Cyrillic since wine-5.14
50273 Sid Meier's Civilization III Complete crashes on start
50274 Copy paste bug in ipstats.c
50294 It's no longer possible to execute a Winelib binary built with older version of Wine
----------------------------------------------------------------
Changes since 6.0-rc1:
Alex Henrie (1):
ntdll: Remove unnecessary call to strlen from get_dos_device.
Alexandre Julliard (11):
gdi32: Always let the Freetype driver fixup the AA flags.
ntdll: Don't use the main exe path as bindir on Android.
libwine: Move the Android JNI initialization to ntdll.
libwine: Mark more functions as obsolete.
ntdll: Support the Android Java %fs register being a GDT selector.
winegcc: Look for ntdll.so instead of libwine.so to find the library directory.
libwine: Add missing wine/asm.h include.
configure: Force -static-libgcc when using libunwind.
include: Avoid redefining base types in ntdef.h.
configure: Get rid of some removed files in the install target.
makefiles: Add support for Automake-style silent make rules.
Biswapriyo Nath (6):
ntdll: Add RtlDefaultNpAcl stub.
include: Add ID2D1ColorContext interface in d2d1_1.idl.
include: Add ID2D1GradientStopCollection1 interface in d2d1_1.idl.
include: Add ID2D1ImageBrush interface in d2d1_1.idl.
include: Add ID2D1StrokeStyle1 interface in d2d1_1.idl.
include: Add ID2D1Multithread interface in d2d1_1.idl.
Charles Davis (1):
iphlpapi: Fix copy-paste error.
Haidong Yu (1):
evr: Add missing LeaveCriticalSection on creating tracking thread.
Hans Leidekker (1):
setupapi: Handle NULL source filename in build_filepathsW.
Henri Verbeet (5):
wined3d: Ensure the last mip-level is at least large enough to hold a single compressed block.
wined3d: Use an sRGB fallback format for sRGB formats in wined3d_swapchain_vk_select_vk_format().
wined3d: Do not request VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT for dynamic buffers.
wined3d: Request VK_MEMORY_PROPERTY_HOST_CACHED_BIT for WINED3D_RESOURCE_ACCESS_MAP_R buffers.
wined3d: Do not request VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT for unmappable buffers.
Jacek Caban (4):
conhost: Fix handling selection boundaries in copy_selection.
conhost: Use QS_ALLINPUT to wait for input in main loop.
dbghelp: Use WINELOADER environment variable from debuggee process in get_wine_loader_name.
setjmp.h: Use GCC-style setjmp on Clang in MSVC mode.
Jeff Smith (5):
gdiplus/tests: Use wide-char string literals for font names.
gdiplus/tests: Use wide-char string literals for file names.
gdiplus/tests: Use wide-char string literal for mimetype.
gdiplus/tests: Use wide-char string literal for metafile description.
gdiplus/tests: Use wide-char string literals for test strings.
Julian Rüger (1):
po: Update German translation.
Michael Stefaniuc (13):
msvfw32/tests: Use wide-char string literals.
oledlg/tests: Use wide-char string literals.
msctf/tests: Use wide-char string literals.
gameux/tests: Use wide-char string literals.
ieframe/tests: Use wide-char string literals.
jscript/tests: Use wide-char string literals.
scrrun/tests: Use wide-char string literals.
cryptui/tests: Use wide-char string literals.
dnsapi/tests: Use wide-char string literals.
shcore/tests: Use wide-char string literals.
version/tests: Use wide-char string literals.
wmvcore/tests: Use wide-char string literals in locale.c.
ntoskrnl/tests: Use wide-char string literals in locale.c.
Nikolay Sivov (1):
sxs: Query context that contains the GUID in SxsLookupClrGuid().
Paul Gofman (4):
ntdll/tests: Add a broken result for Win7u in test_extended_context().
ntdll: Restore non-volatile registers in call_user_exception_dispatcher() on x86_64.
kernelbase: Get language sort only when required in LCMapStringEx().
ntdll: Don't set xstate in context if xstate features are not supported.
Rafał Harabień (1):
include: Remove two D3DCAPS2 defines in d3d9 headers.
Rémi Bernon (3):
gdi32/tests: Test GetGlyphIndices with '\0' default and a glyph.
gdi32: Don't try to get glyph index when default char is 0.
gdi32: Fix gdi font leak in CreateScalableFontResourceW.
Zebediah Figura (4):
Revert "winegstreamer: Avoid performing color matrix conversions in videoconvert.".
winegstreamer: Clean up a newly allocated buffer on error in bytestream_wrapper_pull().
kernel32/tests: Add some more tests for FILE_ATTRIBUTE_REPARSE_POINT.
winegstreamer: Remove the color matrix setting for the other videoconvert as well.
Zhiyi Zhang (2):
user32/tests: Test that monitor handles are user32 handles.
user32/tests: Test that monitor enumeration is not affected by window stations and desktops.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 6.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 6.0. It
marks the beginning of the yearly code freeze period. Please give this
release a good testing to help us make 6.0 as good as possible.
What's new in this release (see below for details):
- Gecko engine update.
- WindowsCodecs and QCap libraries converted to PE.
- Faster font initialization at process start.
- Support for named pipes with empty names.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/6.0/wine-6.0-rc1.tar.xzhttp://mirrors.ibiblio.org/wine/source/6.0/wine-6.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 6.0-rc1 (total 53):
15301 Biliardo 2 installer terminates on launch (32-bit Ghost-based installer uses year 2045 file date for decrypting database, triggering y2038 problem)
21881 iScreensaver Designer 3.5 crashes
28089 exception handling code touches stack for exceptions handled by the debugger
28332 Wazzal 1.2 (2002 release) crashes after clicking 'Play'
33310 Minimizing window erases chess board in Shredder Classic 4 Windows
33996 Multiple installers fail in VBScript custom actions due to missing support of Properties with Parameters (IncrediMail, LabChart Reader 8, Toad for MySQL Freeware 7.x)
34770 Some WMI applications fail when incorrectly passing WBEM_MASK_CONDITION_ORIGIN to IWbemClassObject::GetNames method
35272 Mortal Kombat Komplete Edition (Steam) crashing to desktop within graphics autoconf.
40146 Mein Verein 2016 Trial fails to install
42095 winamp: skins don't change unless app is restarted
42623 Changing current dir ~/.wine crashes Far Manager
42741 Multiple Blizzard games fail to launch (StarCraft I & II, Diablo III, Heroes of the Storm)
43567 Vietcong - game crashes during radiocalls ('kernel32.GetTickCount' clobbers ECX)
44061 Destiny 2 crashes on launch (needs non-zero TimeDateStamp field in PE file header)
44435 Call of Duty WWII crash
44502 Epic Games Launcher (Fortnight 7.x) reports 'Error: Initialization failed while advising the language notification sink to the TSF source. (0x80004001)' (unsupported ITfActiveLanguageProfileNotifySink)
44524 skyrim keypad 0~9,'*','/' is not working causing some shortcut not work.
44882 Call of Duty Infinite Warfare crashes after Splash-Screen with a Direct-X Error
45383 Xanadu Next: movies not working (avi/MPEG-4 (XviD))
45510 Sentinel HASP Runtime v6.6-7.8 driver installer reports Windows error 1053 when starting the 32-bit hardlock kernel driver service (custom imports resolver fails to locate some ntoskrnl exports)
46028 Provide separate debug/symbol info files (.pdb) for 32-bit and 64-bit Wine-Gecko 2.47+ package (unstripped 32-bit 'xul.dll' too large to be mapped)
46216 Multiple games need ThreadEnableAlignmentFaultFixup (Lords of the Fallen, Batman: Arkham Knight, Mirror's Edge: Catalyst)
46236 Far 3.0 x64 crashes starting from build 5200
46237 Far 3.0 x86 crashes starting from build 5288
47950 Ys: Memories of Celceta crashes on launch
48545 SDL GameControllerAddMapping registry keys do not work
49116 Multiple installers using "mbahost.dll" crash due to method invocation on CCW class interface (Windows 10 1903 SDK (10.0.18362.0), SQL Server Management Studio, Raid Shadow Legends)
49437 Segmentation fault (core dumped) even on winecfg or wineconsole on FreeBSD
49969 Videos are not synced in X3 Reunion
49975 Battlefield 1, 4 and V not start from with wine-staging 5.17 on
50031 The Foundation Game crashes with bundled ucrtbase
50037 wineconsole and mingw64 gdb.exe and keyboard input
50080 Burnout Paradise: The Ultimate Box crashes between intros
50094 Rockstar Games Launcher installer hyperlinks don't work
50096 Performance Regression in Secondhand Lands
50105 New Vegas Heap Replacer crashes with "Call from 0x7bc91c09 to unimplemented function d3dx9_38.dll.D3DXMatrixMultiply"
50134 Steam terminates/crashes in clean prefix.
50154 Allow using SDL_GAMECONTROLLERCONFIG to configure SDL controller mappings
50160 VstHost crashes on unimplemented function avrt.dll.AvSetMmMaxThreadCharacteristicsA
50163 Multiple applications crash with a stack overflow (Mod Organizer 2, World of Tanks, SWTOR, Audacity)
50169 Regression: Microsoft Flight Simulator X hangs on startup (bisected)
50171 32-bit PE entry point no longer called through BaseThreadInitThunk() assembly wrapper when Wine is built with LLVM MinGW
50176 Tracing with 'msvcrt' debug channel causes any application to fail with stack overflow in Wine 5.22
50179 Future Pinball: parse_hex_literal invalid literal
50188 Audacity fails to start
50189 Multiple 64-bit applications crash with Wine MinGW PE build due to violation of Windows 64-bit ABI (RSP must be 16-byte aligned when making a call to Win64 API)
50192 Python "import sys" crashes with Unhandled exception
50197 cmd and winedbg: Unable to insert some chars (*, _) with de-adnw keyboard layout
50204 wineserver from Wine 5.22-195-gcbca9f847f6 debug dumps NLS object information on shutdown
50206 Cinebench R23 needs dcomp.dll
50213 Summer Pockets (demo) complains about timezone settings.
50236 Multiple console applications using WriteFile() to write to console don't show any output since Wine 5.22 (winepath)
50240 CLR console applications loop output infinitely
----------------------------------------------------------------
Changes since 5.22:
Akihiro Sagawa (3):
ntdll: Add a timezone mapping rule for North Korea Standard Time.
quartz/tests: Add some tests for VMR7 windowless video size.
quartz/vmr9: Allow the aspect ratio parameters to be NULL in IVMRWindowlessControl::GetNativeVideoSize().
Alexandre Julliard (51):
kernel32: Implement BaseThreadInitThunk in assembly also for PE builds.
include: Add asm helper macros to define import variables.
include: Move XSTATE definitions to winnt.h.
include: Use proper dllimports for kernel32 functions.
include: Use proper dllimports for msvcrt functions.
ntdll: Make x86_64 syscall thunks position independent.
include: Only define _strnicmp() prototype when needed.
include: Make the CURRENT_STACK16 and CURRENT_DS macros available globally.
include: Add CURRENT_SS/SP macros for 16-bit code.
krnl386: Move the 16-bit stack out of the WOW32Reserved field.
ntdll: Store the syscall dispatcher also in the WOW32Reserved TEB field.
include: Force aligning stack pointer also for Mingw builds.
configure: Also disable format warnings for ARM64.
msvcrt: Fix floating-point status register size on ARM64.
kernel32/tests: Fix floating-point status register size on ARM64.
ntdll/tests: Fix a trace format on ARM64.
winebuild: Initialize entry point to avoid a compiler warning.
shell32: Silence buffer overflow compiler warnings.
winemenubuilder: Silence out of bounds compiler warning.
msxml3: Clear one extra variant in collection enumeration.
msxml3: Only allow ASCII characters in number conversion.
msvcp: Use a constant string as fprintf format.
ntdll: Avoid closing an invalid handle on process creation failure.
server: Use l_intl.nls for case mappings.
server: Create the NLS section object for the l_intl.nls file.
server: Release the l_intl fd once the mapping is created.
libport: Add both inline and non-inline versions for every Unicode function.
libport: Move the non-inline version of the string functions to libwine.
libwine: Move libwine private definitions out of the global wine/unicode.h
libport: Move the case mapping table back to libwine and stop updating it.
libport: Move the char type table back to libwine and stop updating it.
windowscodecs: Build with msvcrt.
libport: Remove the rint() function replacements.
libport: Remove the ffs() function replacement.
libport: Remove the statvfs() function replacements.
libport: Remove the strnlen() function replacement.
libport: Remove the usleep() function replacement.
libport: Remove the isfinite/isinf/isnan function replacements.
configure: Remove some no longer needed configure checks.
makedep: No longer use wine/port.h.
include: Remove some no longer used Unicode functions.
wine.inf: Create a default win.ini file.
rpcrt4/tests: Avoid a printf format warning.
hhctrl.ocx: Use stricmp() instead of _strnicmp(..., -1).
wpp: Don't try to recover from memory allocation errors.
wpp: Use standard Wine lists where possible.
wpp: Remove some dead code.
wpp: Merge preproc.c into wpp.c.
Revert "winecrt0: Make the main() and wmain() entry points cdecl."
makefiles: Get rid of the libwine.so symlink.
msvcrt: Fix _wstat() spec entry.
Alistair Leslie-Hughes (3):
msctf: Accept ITfActiveLanguageProfileNotifySink in ThreadMgr AdviseSink.
include: Add some DB_S_ defines.
odbccp32: Implement SQLRemoveDSNFromIni/w.
Andrey Gusev (2):
bcrypt: BCryptCreateHash is no longer a stub.
wined3d: Add NVIDIA GeForce GTX 1060 Mobile.
Arkadiusz Hiler (2):
user32: Fix WM_DEVICECHANGE handling.
plugplay: Send WM_DEVICECHANGE with DBT_DEVNODES_CHANGED with each event.
Austin English (1):
dcomp: Add stub dll.
Bernhard Übelacker (1):
gdi32: Avoid crash by initializing variable font_set.
Biswapriyo Nath (5):
include: Add D3D10_RAISE_FLAG structure in d3d10.idl.
include: Add D3D11_FENCE_FLAG_NON_MONITORED name in d3d11_3.idl.
include: Add D3D11_FEATURE_DATA_D3D11_OPTIONS5 structure in d3d11.idl.
include: Add D3D11_RAISE_FLAG enumeration in d3d11.idl.
include: Add D3D11_FORMAT_SUPPORT2 enumeration in d3d11.idl.
Brendan Shanks (3):
winebus.sys: Open IOHID devices individually to fix macOS Catalina and Big Sur.
winebrowser: Prefix an invalid URL with 'http://' before opening with a browser.
wine.inf: Add UrlAssociations for FTP/HTTP/HTTPS.
Damjan Jovanovic (1):
ntdll: Fix backward compatibility for struct link_map on FreeBSD.
Daniel Lehman (4):
shcore: Return ISequentialStream interface for memory stream.
msxml3: Support ISequentialStream in domdoc_transformNodeToObject.
shcore: Return failure on Read past end of memory stream.
ntdll: Handle 64-bit addresses in +seh traces on x64.
Dean M Greer (1):
configure: Don't prepend folder name for SDL.h.
Derek Lesho (14):
mf/samplegrabber: Evaluate type compatibility by comparison to the initial type.
mf/topoloader: Add partial topology resolution tests.
mf/topoloader: Move node connection responsibility to connection function.
mf/topoloader: Implement source node to sink node branch resolver.
mf/topoloader: Unstub IMFTopologyLoader::Load.
winegstreamer: Use gst_audio_info_to_caps for media type translation.
winegstreamer: Introduce audio conversion transform.
winegstreamer: Register the audio conversion transform.
winegstreamer: Implement ::GetInputAvailableType for audio conversion transform.
winegstreamer: Implement ::GetOutputAvailableType for audio conversion transform.
winegstreamer: Implement ::ProcessMessage for audio conversion MFT.
winegstreamer: Implement ::SetInputType for audio conversion transform.
winegstreamer: Implement ::SetOutputType for audio conversion transform.
winegstreamer: Implement Get(Input/Output)CurrentType functions for audio converter transform.
Dmitry Timoshkov (3):
crypt32: Add support for CRYPT_STRING_HEX to CryptBinaryToStringW.
crypt32: Fix reading and writing CRYPT_KEY_PROV_INFO certificate property.
crypt32/tests: Add some tests for CRYPT_KEY_PROV_INFO certificate property.
Erich Hoover (1):
ntdll: Fix converting large 32-bit time_t when time_t is signed.
Esme Povirk (4):
windowscodes: Move tiff encoding to the unix lib.
windowscodecs: Initialize encoder flags for png encoder.
windowscodecs: Move jpeg encoding to the unix lib.
windowscodecs: Move ICNS encoding to the unix lib.
François Gouget (13):
xactengine3_7/tests: Fix the spelling of a couple of comments.
user32/tests: Fix the spelling of a win_skip() message.
dssenh/tests: Fix the spelling of a skip() message.
qmgr/tests: Fix the spelling of an ok() message.
ole32/tests: Add a trailing linefeed to an ok() message.
ws2_32: Fix the spelling of a comment.
gdi32/tests: Fix the spelling of an ok() message.
dxgi/tests: Fix the grammar in a comment.
advapi32/tests: Don't check the display name if not in an English locale.
ntdll/tests: Don't check the load address in the WoW64 case.
msxml3/tests: Fix the spelling of a test string.
fsutils/tests: Fsutils requires elevated privileges on Windows <= 7.
mscoree/tests: The comtest registry tests may require elevated privileges.
Gabriel Ivăncescu (11):
msvcrt: Fix signature of _mbscmp.
winex11.drv: Always enable minimize/maximize functions for minimized windows.
conhost: Respect the StartupInfo's wShowWindow.
include/icmpapi: Add missing function declarations.
iphlpapi/tests: Close the ICMP handle when done.
iphlpapi/tests: Trace the ICMP reply only with debug level > 1.
iphlpapi: Move the ICMP reply retrieval to a helper function.
iphlpapi: Implement IcmpSendEcho and IcmpSendEcho2 via IcmpSendEcho2Ex.
iphlpapi: Fix adjusting data pointer after an ICMP reply.
iphlpapi: Make sure there's no gap between the ICMP_ECHO_REPLY array and the data.
iphlpapi: Store an IO_STATUS_BLOCK at the end of the reply buffer if there's enough space available.
Gerald Pfeifer (1):
advapi32/tests: Initialize luid in test_CreateRestrictedToken.
Gijs Vermeulen (7):
sapi: Fix typo in ISpVoice::SetOutput() trace.
msctf/tests: Add ITfSource::[Un]AdviseSink() test with ITfActiveLanguageProfileNotifySink.
quartz: Return VFW_E_ENUM_OUT_OF_SYNC in IEnumFilters::Skip() when enum version doesn't match graph version.
quartz: Return E_INVALIDARG when cursor is NULL in IEnumFilters::Skip().
quartz: Only return S_FALSE in IEnumFilters::Skip() if count goes past the end of the sequence.
avrt: Add AvSetMmMaxThreadCharacteristicsA/W stub.
winegstreamer: Initialise type_handler to NULL in media_stream_init_desc().
Hans Leidekker (4):
winebus.sys: Fix registry access rights for SDL controller mapping.
winebus.sys: Support setting SDL controller mapping through environment variable.
oledb32: Add a partial implementation of IErrorRecords_GetErrorInfo().
wbemprox: Mark some string properties as dynamic.
Henri Verbeet (22):
include: Update the d3d12 headers from vkd3d.
wined3d: Store the usage in struct wined3d_bo_gl.
wined3d: Use command buffer IDs for synchronisation in wined3d_buffer_gl_sync_apple().
wined3d: Reference the source/destination bo in wined3d_context_gl_copy_bo_address().
wined3d: Reference the bo in wined3d_unordered_access_view_gl_clear_uint().
wined3d: Reference the indirect buffer bo in wined3d_context_gl_draw_indirect().
wined3d: Reference the indirect buffer bo in dispatch_compute().
wined3d: Reference the stream output bo in context_load_stream_output_buffers().
wined3d: Reference the UAV bo in context_load_unordered_access_resources().
wined3d: Reference the SRV bo in context_load_shader_resources().
wined3d: Reference the constant buffer bo in context_gl_load_shader_resources().
wined3d: Reference the bo (if any) in texture2d_read_from_framebuffer().
wined3d: Reference the source/destination bo in wined3d_texture_copy_sysmem_location().
wined3d: Reference the bo in wined3d_texture_gl_upload_data().
wined3d: Reference the bo in wined3d_texture_gl_download_data_slow_path().
wined3d: Reference the bo in wined3d_texture_gl_download_data().
wined3d: Reference the bo in wined3d_buffer_gl_upload_ranges().
wined3d: Explicitly synchronise in wined3d_context_gl_map_bo_address().
wined3d: Use the "bo user" mechanism to invalidate existing bindings in wined3d_buffer_gl_destroy_buffer_object().
wined3d: Allocate a new bo for busy DISCARD maps.
wined3d: Get rid of redundant DISCARD filtering.
wined3d: Handle GL_APPLE_flush_buffer_range flushing in wined3d_context_gl_unmap_bo_address().
Jacek Caban (26):
server: Properly handle NtQueryInformationFile on console handles.
kernelbase: Use NtQueryInformationFile for consoles handles in GetFileSizeEx.
server: Support FileFsDeviceInformation queries on console handles.
server: Remove no longer needed hack for inheriting console from stdin.
conhost: Signal console in process_console_input if needed.
mshtml: Normalize bool values before passing them to Gecko.
jscript: Set error location when handling errors directly in parser.
server: Rename console_input to console.
server: Rename create_console_output to create_screen_buffer.
server: Rename unbound devices to console_input and console_output.
server: Use separated fd ops for unbound console input.
server: Use separated fd ops for unbound console output.
kernelbase: Use FileFsDeviceInformation for console handles in GetFileType.
mshtml: Update to Wine Gecko 2.47.2.
server: Remove no longer needed free_console.
server: Set console renderer thread in get_next_console_request.
cmd: Don't use WCMD_is_console_handle.
kernelbase: Remove no longer needed console handle mapping.
kernel32: Remove no longer needed CONSOLE_Init.
kernelbase: Simplify CreateFileW.
server: Block console write until conhost processes ioctl.
kernel32: Remove no longer used variables.
kernel32: Remove outdated comments.
conhost: Allow events with left alt pressed in edit_line_insert.
server: Fix handling of STATUS_ALERTED in get_next_console_request.
makedep: Use -fno-builtin for crt modules.
Jeff Smith (4):
gdiplus: Fix function name typo in comment.
gdiplus: Guard initialization of installed font collection.
jscript: Use wide-char string literals.
jscript: Clean up date formatting strings with era.
Kevin Puetz (5):
ntdll: Don't access empty IMAGE_FILE_IMPORT_DIRECTORY.
winegcc: Implement -Wl,--out-implib.
winebuild: Select all __wine_spec_exe* entry inside winebuild.
winebuild: Find main/wmain in static libraries.
winebuild: Find WinMain/wWinMain in static libraries.
Lauri Kenttä (1):
po: Update Finnish translation.
Liam Middlebrook (2):
winevulkan: Make_vulkan handle VkDeviceAddress basetype.
winevulkan: Update to VK spec version 1.2.162.
Matteo Bruni (16):
d3dx9: Correctly handle sprites array reallocation.
wined3d: Ignore WINED3DFMT_NULL rendertarget in D/S size checks.
d3d9/tests: Use get_readback_color() in test_null_format().
d3d9/tests: Test using a "NULL" texture with a smaller D/S texture.
wined3d: Use glClearDepthf() when available.
wined3d: Add a trace to wined3d_context_gl_bind_fbo().
wined3d: Introduce wined3d_context_gl_destroy_bo().
wined3d: Introduce wined3d_context_gl_create_bo().
wined3d: Use GL_ARB_buffer_storage if available.
wined3d: Get rid of an unnecessary assignment.
d3d9/tests: Make a variable static const.
d3d11: Don't explicitly check for cube map support.
wined3d: Rename d3d_synchronous debug channel to d3d_sync.
wined3d: Allow forcing commands serialization in the CS thread.
d3d9/tests: Skip pretransformed_varying_test() on 32-bit WARP.
d3d9/tests: Accept new WARP test failure in test_updatetexture().
Michael Stefaniuc (42):
comdlg32: Use wide-char string literals.
wininet: Use wide-char string literals in struct initialization.
jscript: Use wide-char string literals.
mshtml: Use wide-char string literals in html*.c.
mshtml: Use wide-char string literals for PRUnichar strings.
mmdevapi: Use wide-char string literals.
msacm32: Make the registry key variables global.
msacm32: Use wide-char string literals.
mshtml: Use wide-char string literals.
kernelbase: Use wide-char string literals.
wininet: Use wide-char string literals.
ole32: Use wide-char string literals.
ole32: Use wide-char string literals in filemoniker.c.
rpcrt4: Use wide-char string literals.
oleaut32: Use more wide-char string literals.
wbemdisp: Use wide-char string literals.
cmd: Avoid casting a const away.
cmd: Inline some simple extern WCHAR strings.
cmd: Use wide-char string literals in builtins.c.
cmd: Use wide-char string literals.
urlmon: Use wide-char string literals in struct initialization.
dmusic: Sync up the dmobject.[ch] files.
cryptdlg: Use wide-char string literals.
sti: Use wide-char string literals.
shdocvw: Use wide-char string literals.
windowscodecs: Use wide-char string literals in metadataquery.c.
windowscodecs: Use wide-char string literals in regsvr.c.
windowscodecs: Use wide-char string literals.
windowscodecs: Use wide-char string literals in struct initialization.
oleaut32: Use a string literal for an empty string.
regsvr32: Use a string literal for an empty string.
mapi32: Use wide-char string literals.
qcap: Use wide-char string literals.
msi: Use a string literal for empty strings.
urlmon: Use wide-char string literals.
ntdll: Print the correct debug string and not a random global variable.
ntdll: Use wide-char string literals in actctx.c.
ntdll: Use wide-char string literals in version.c.
ntdll: Use wide-char string literals.
xmllite: Use a string literal for an empty string.
xmllite: Drop superfluous casts to self.
localspl: Use wide-char string literals.
Nikolay Sivov (38):
mf/tests: Relax error code test for IsMediaTypeSupported() of SAR.
mf/tests: Add another test for SAR time source.
mf/session: Fix comment for the stop helper.
mf/evr: Translate EC_DISPLAY_CHANGED notification to MEStreamSinkDeviceChanged events.
evr/tests: Add some tests for presenter quality control.
mfreadwrite/reader: Alternate between selected streams for MF_SOURCE_READER_ANY_STREAM requests.
evr/presenter: Set frame size and aperture attributes for mixer output type.
evr/presenter: Add aspect ratio preserving scaling.
mfreadwrite/reader: Implement GetServiceForStream() for stream objects.
oleaut32: Use wide-char string literals.
winegstreamer: Fix possible leak on error path (Coverity).
mf/session: Propagate allocator initialization failure code (Coverity).
mfplat/mediatype: Store extra format data as MF_MT_USER_DATA when initializing from WAVEFORMATEX.
dwrite/layout: Keep automatic axes property.
dwrite/layout: Zero-initialize format structure.
dwrite/layout: Zero-initialize layout structure.
dwrite/layout: Zero-initialize initial runs and ranges.
dwrite/layout: Use consistent tracing format for default trimming sign.
dwrite/font: Use consistent traces for the font object.
dwrite/gdiinterop: Use consistent trace format for the bitmap render target.
dwrite/gdiinterop: Use consistent traces for the interop object.
dwrite/font: Reimplement HasVerticalGlyphVariants() flag using general shaping logic.
dwrite: Use font data access helpers when reading metrics tables.
mfplat: Remove duplicated attribute from tracing.
mfplat/mediatype: Do not add user data when converting from WAVE_FORMAT_EXTENSIBLE.
mf/topoloader: Set MF_TOPONODE_DECODER for the decoders.
mf/topoloader: Set MF_TOPONODE_TRANSFORM_OBJECTID for created transforms when CLSID is available.
mf/topoloader: Make sure MF_TOPONODE_STREAMID is set for all outputs.
mf/topoloader: Set MF_TOPONODE_MEDIASTART for all source nodes.
mf/topoloader: Add copier transform automatically for D3D-aware outputs.
dwrite/shaping: Merge extension subtables handling with existing helper.
dwrite: Remove explicit lookup type check in GetVerticalGlyphVariants().
dwrite: Use consistent trace format for strings object.
dwrite: Use consistent trace format for rendering parameters object.
dwrite: Use consistent trace format for font data access objects.
dwrite: Use consistent trace format for rendering object.
bcrypt: Implement RSA key pair importing.
bcrypt: Add initial support for asymmetric keys in BCryptDecrypt().
Paul Gofman (5):
server: Do not dereference symlinks specified as root directory.
server: Allow named pipes creation with device file as root directory.
server: Return STATUS_OBJECT_PATH_INVALID for noname pipe name query.
server: Allow client pipe creation with server pipe as root directory.
ntdll/tests: Test noname named pipe uniqueness.
Piotr Caban (89):
msvcrt: Update lc_category.wrefcount in __get_current_locale.
msvcrt: Remove traces from printf.
msvcrt: Fix C locale lc_time_curr refconting.
msvcrt: Introduce flags field to describe locale stored in thread data.
msvcrt: Lock _MB_CP_LOCK lock in setmbcp.
msvcrt: Return thread locale copy in get_locinfo and get_mbcinfo.
msvcrt: Reimplement _configthreadlocale function.
msvcrt: Make old locale access thread-safe in setlocale.
msvcrt: Simplify get_current_locale_noalloc implementation.
msvcrt: Don't write Unicode BOM if file is not empty in _wsopen_dispatch.
msvcrt: Implement opening Unicode files with no BOM in _wsopen_dispatch.
msvcrt: Move btowc implementation to mbcs.c file.
msvcrt: Move towctrans to wcs.c file.
msvcrt: Remove MSVCRT_lconv type.
msvcrt: Remove MSVCRT_pthreadlocinfo type.
msvcrt: Remove MSVCRT_pthreadmbcinfo type.
msvcrt: Remove MSVCRT__locale_t type.
msvcrt: Remove MSVCRT prefix from locale functions.
msvcrt: Remove MSVCRT_wchar_t type.
msvcrt: Use wide-char string literals.
msvcrt/tests: Use wide-char string literals.
msvcrt: Use type ranges definition from public header.
msvcrt: Use simple type definitions from public header.
msvcp90: Remove MSVCP_size_t type.
msvcp90: Use wide-char string literals.
msvcp90/tests: Use wide-char string literals.
msvcp90: Remove MSVCP_bool type.
msvcp60: Remove MSVCP_size_t type.
msvcp60: Use wide-char string literals.
msvcp60/tests: Use wide-char string literals.
msvcp60: Remove MSVCP_bool type.
msvcp120/tests: Use wide-char string literals.
msvcp140/tests: Use wide-char string literals.
msvcr90/tests: Use wide-char string literals.
msvcr100/tests: Use wide-char string literals.
msvcr120/tests: Use wide-char string literals.
msvcrt: Use WEOF from public header.
msvcrt: Use EOF from public header.
msvcrt: Use struct tm from public header.
msvcrt: Remove MSVCRT_ prefix from cpp.c functions.
msvcrt: Use _beginthread_start_routine_t from public header.
msvcrt: Use errno values from public header.
msvcrt: Use _onexit_table_t from public header.
msvcrt: Use printf and scanf flags from public header.
msvcrt: Use _CRT_FLOAT and _CRT_DBL from public header.
msvcrt: Use _exception definiotion from public header.
msvcrt: Use locale category definiotion from public header.
msvcrt: Remove MSVCRT_ prefix from errno.c functions.
msvcrt: Remove MSVCRT_ prefix from heap.c functions.
msvcrt: Use FILE from public header.
Revert "msvcrt: Avoid conflict with mingw __iob_func declaration.".
msvcrt: Use __utimbuf{32,64} from public header.
msvcrt: Use ctype definition from public header.
msvcrt: Use status word flags from public header.
msvcrt: Use fpclass constants from public header.
msvcrt: Use _ARGMAX from public header.
msvcrt: Use floating point exception signals definition from public header.
msvcrt: Use signal definitions from public header.
msvcrt: Use fpclassify constants from public header.
msvcrt: Use FPU control word definitions from public header.
msvcrt: Remove MSVCRT_ prefix from ctype.c functions.
msvcrt: Remove MSVCRT_ prefix from data.c functions.
msvcrt: Use heap structures and definitions from public header.
msvcrt: Use stdio.h definitions.
msvcrt: Remove MSVCRT_ prefix from environ.c functions.
msvcrt: Remove MSVCRT_ prefix from except.c functions.
msvcrt: Remove MSVCRT_ prefix from exit.c functions.
msvcrt: Remove MSVCRT_ prefix from mbcs.c functions.
msvcrt: Remove MSVCRT_ prefix from misc.c functions.
msvcrt: Remove MSVCRT_ prefix from process.c functions.
msvcrt: Remove MSVCRT_ prefix from scanf.c functions.
msvcrt: Remove MSVCRT_ prefix from string.c functions.
msvcrt: Remove MSVCRT_ prefix from time.c functions.
msvcrt: Remove MSVCRT_ prefix from wcs.c functions.
msvcrt: Remove MSVCRT_ prefix from math.c functions.
msvcrt: Remove MSVCRT_ prefix from dir.c functions.
msvcrt: Remove MSVCRT_ prefix from file.c functions.
msvcrt: Use _invalid_parameter_handler from public header.
msvcrt: Use _purecall_handler from public header.
msvcrt: Use _Dcomplex definition from public header.
msvcrt: Use _JUMP_BUFFER from public header.
include: Add corecrt_io.h header.
msvcrt: Use _finddata_t definition from public header.
msvcrt: Use _stat64 definition from public header.
msvcrt: Remove non-needed defines from msvcrt.h.
msvcrt: Remove non-needed function declarations from msvcrt.h.
msvcrt: Use _configthreadlocale arguments definition from public header.
msvcrt: Remove separate long double math funtions.
ntdll: Fix memchr implementation.
Robert Wilhelm (4):
vbscript: Support property set with parameters.
vbscript: Remove overzealous check in parse_hex_literal.
vbscript: Add parameters to FIXME in VBScript_AddTypeLib.
vbscript: Remove no longer used bool call_statement_t.is_strict member variable.
Rémi Bernon (23):
ntdll/tests: Add tests for NtOpenProcess return status.
server: Return STATUS_INVALID_CID from NtOpenProcess.
ntdll: Return failure from RtlQueryProcessDebugInformation.
gdi32/tests: Add locale-dependent face matching test.
gdi32: Compare font face names using RtlDowncaseUnicodeChar.
ntdll: Initialize local variable (valgrind).
gdi32: Load registry fonts after system fonts.
gdi32: Index scalable faces by full name in rbtree.
gdi32: Update the external keys after all fonts are loaded.
gdi32: Only request registry font path when necessary.
gdi32: Only use the registry cache for application fonts.
include: Emit assembly function size when compiling without MinGW.
widl: Add abi_prefix parameter to format_namespace.
widl: Support WinRT contractversion attribute parsing.
widl: Support WinRT apicontract type.
widl: Support WinRT contract attribute.
gdi32: Introduce struct unix_face as a ft_face wrapper.
gdi32: Store ft_face font props on unix_face.
gdi32: Introduce new opentype font parsing helpers.
gdi32: Try to parse font names without FreeType.
gdi32: Try to parse font props without FreeType.
gdi32: Use FreeType as a fallback when loading font faces.
dbghelp: Read process memory using target addresses, not debugger.
Zebediah Figura (42):
ntdll: Use a dynamically allocated buffer in find_forwarded_export() if necessary.
quartz/tests: Add some tests for IPin::EndOfStream() on the DirectSound renderer.
quartz/tests: Add some tests for IMediaSeeking on parser filters.
quartz/tests: Add some tests for parser streaming.
winegstreamer: Return the seeking start time from IMediaSeeking::GetCurrentPosition().
winegstreamer: Don't query the pad position in IMediaSeeking::SetPositions().
quartz/tests: Add some more tests for IMediaSeeking return value handling.
quartz: Correct return value handling in IMediaSeeking::GetDuration().
quartz/tests: Avoid some test failures related to timing.
quartz: Avoid autoplugging renderers in IGraphBuilder::Connect().
qcap: Remove "stub" from an implemented function.
qcap: Get rid of the VfwCapture typedef.
qcap: Call the right method to clean up the video capture stream.
qcap: Move the image buffer back into the video_capture_device structure.
qcap: Move the video capture device creation function to the function table.
qcap: Move the video capture streaming thread to vfwcapture.c.
qcap: Move the allocator management to vfwcapture.c.
qcap/tests: Add some tests for pin connection.
qcap: Return the connection type from IAMStreamConfig::GetFormat() if connected.
qcap: Directly pass AM_MEDIA_TYPE and VIDEOINFOHEADER pointers to the get_caps() operation.
qcap: Validate the index in AMStreamConfig_GetStreamCaps().
qcap: Directly pass a VIDEOINFOHEADER pointer to the get_format() operation.
qcap: Directly pass a VIDEOINFOHEADER pointer to the get_media_type() operation.
mountmgr.sys: Add a comment advertising the HKLM\Software\Wine\Ports registry key.
mp3dmod/tests: Add more tests for GetInputSizeInfo() and GetOutputSizeInfo().
qcap: Use malloc() instead of heap_alloc().
qcap: Move v4l2 support to a new Unix library.
qcap: Make video capture functions CDECL.
qcap: Build with msvcrt.
qcap: Link to strmbase.
qcap: Use wide-char string literals.
qcap: Use malloc() instead of HeapAlloc() or CoTaskMemAlloc().
qcap/tests: Add some tests for smart tee streaming using the strmbase infrastructure.
qcap/tests: Remove old tests for smart tee streaming.
qedit/tests: Add some tests for sample grabber streaming.
qedit/tests: Add some tests for sample grabber streaming events.
quartz/dsoundrender: Remove the unused "in_loop" field.
quartz/dsoundrender: Don't drop stream_cs in DSoundRender_HandleEndOfStream().
quartz/dsoundrender: Don't drop stream_cs in DSoundRender_SendSampleData().
strmbase: Don't drop csRenderLock in BaseRenderer_Receive().
qedit/nullrenderer: Don't drop csRenderLock in NullRenderer_DoRenderSample().
mfplat: Zero-initialize the device manager object.
Zhennan Cai (1):
ntoskrnl.exe: Fix a reversed spin lock loop condition.
Zhiyi Zhang (1):
wined3d: Do not use wined3d_output_get_desc() to retrieve display rotation.
Ziqing Hui (1):
d3dx10/tests: Add tests for D3DX10CreateTextureFromMemory.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.22 is now available.
What's new in this release (see below for details):
- C runtime libraries converted to PE.
- Use fontconfig cache for faster startup.
- Video playback improvements.
- 3DES cipher support.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.22.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.22.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 5.22 (total 36):
16991 Cobra 11 Nitro: No video and music at game startup
28210 Rome Total War crash at start
30668 Motocross Madness 2 needs IAMMultiMediaStream::GetState() implementation
32613 Tom Clancy's Rainbow Six: Lockdown crashes after the intro videos (needs DxDiag_SoundDevices device child nodes present)
37396 Multiple applications need "sRGB Color Space Profile.icm" (Asperite, Word 2007, Word 2010)
38014 CCCP Insurgent v2007-01-01 crashes when querying system information via DxDiag
41081 Foldit puzzle 1266 crashes at start up
42731 stack overflow when .bat script variable has more than 256 characters
43513 Ys VI: The Ark of Napishtim - videos are not playing
44884 Call of Duty Modern Warfare Remastered: Crash after splash with error about Memory/Disk space
45421 Need for Russia does not play msvideo movies
45650 chromium 32-bit sandbox expects different syscall thunks depending on Windows version
46429 Multiple games need IV50 codec to play videos (Thief Gold, Thief II: The Metal Age, Commandos 2: Men of Courage)
46478 Wordpad is slow to start with large enough number of fonts in the system
47320 Black Ops 4 Unhandled Exception When Loading gdi32.dll
47374 Thronebreaker: The Witcher Tales rendering is messed up
47846 Age Of Empires III Crash after Intro
48171 Call of Duty: Modern Warfare (2019) exception
48212 Ys: The Oath in Felghana - movies don't play
48505 WinRAR x64 4.x/5.x installer crashes on unimplemented function GDI32.dll.ScriptGetCMap
49238 Oblivion: No sound/music
49376 Light of Altair demo has no text in options menu
49490 Overwatch installer fails with new wine prefix
49526 Anno 1800: Crashes on startup
49546 Titan Quest Anniversary Edition has no text with builtin d3dx9_42
49665 Wine 5.14 won't start, but 5.12 - do!
49844 Cannot create a new file on a mounted fat volume
49907 Fallout New Vegas crashes when leaving Doc Mitchell's house
50046 wineserver persistence after setup of a WINEPREFIX
50084 Wargaming.net Game Center can't install updates since wine 5.19
50101 Ghostrunner has no sound after intro movies when prefix is set to Win10
50110 Elite Dangerous Launcher (wine-5.21): AccessViolationException Protected Memory
50116 ODBC applications fail to create/configure system DSNs with builtin 'odbccp32' (SQLConfigDataSource must remap ODBC_xxx_SYS_DSN values for ConfigDSN)
50135 explorer.exe crashes when UseXRandR and UseXVidMode are specified to be disabled in registry
50140 "Guild Wars 2 Launcher" over time consumes all available memory
50149 Chromium/MS WebView2 depends on TEB->ReservedForOle 'apt_mask' value
----------------------------------------------------------------
Changes since 5.21:
Alex Henrie (2):
urlmon: Remove unused variable has_ipv6.
urlmon: Reimplement canonicalize_ipv6address on top of ntdll functions.
Alexandre Julliard (49):
crypt32: Move the GnuTLS code to a new Unix library.
crypt32: Move the root store initialization to the Unix library.
crypt32: Build with msvcrt.
crypt32: Use wide-character string literals.
crypt32: List allowed characters instead of relying on wctype properties.
wineboot: Fall back to initial hostname if the name lookup fails.
mscms: Implement profile tag functions without relying on liblcms2.
mscms: Move liblcms support to a new Unix library.
mscms: Build with msvcrt.
setupapi: Add a few more dirids.
setupapi: Add an extension to support file copies from module resources.
winebus.sys: Move winebus.inf into the module resources.
winehid.sys: Move winehid.inf into the module resources.
wineusb.sys: Move wineusb.inf into the module resources.
mscms/tests: Avoid depending on the exact Microsoft color profile.
mscms: Install the sRGB color profile.
glu32: No longer load the Unix libGLU.
glu32: Build with msvcrt.
kernelbase: Copy MulDiv() implementation instead of forwarding.
msvcrt: Reimplement _dclass() using musl code.
msvcrt: Reimplement _fpclass().
msvcrt: Reimplement _finite().
msvcrt: Reimplement _isnan().
msvcrt: Reimplement _dsign().
msvcrt: Reimplement _chgsign().
msvcrt: Import _copysign() from musl.
msvcrt: Import fabs() from musl.
msvcrt: Import ilogb() from musl.
msvcrt: Use the global musl copyright notice.
msvcrt: Add floating point classification macros.
msvcrt: Avoid long double type in $I10_OUTPUT().
jscript: Use the standard isfinite() function.
msvcrt: Use the msvcrt math functions internally.
msvcrt: Use the msvcrt allocation functions internally.
msvcrt: Use the msvcrt ctype functions internally.
msvcrt: Use the msvcrt atoi() function internally.
msvcrt: Use the msvcrt string functions internally.
msvcrt: Move math functions to a new Unix library.
msvcrt: Remove obsolete USE_MSVCRT_PREFIX defines.
msvcrt: Enable multi-thread locking by default.
include: Use gcc builtin for HUGE_VAL.
makefiles: Don't add a default crt lib for msvcrt dlls.
makefiles: Allow modules to link to their own import library.
msvcrt: Build with msvcrt headers.
msvcrt/tests: Remove the headers test.
msvcrt: Avoid msvcrt-specific types in the Unix library interface.
msvcrt: Remove some duplicate definitions from msvcrt.h.
msvcrt: Move the fenv_t definition to the public header.
msvcrt: Use the public standard type definitions where possible in msvcrt.h.
Alistair Leslie-Hughes (12):
include: Add interface IGetDataSource.
include: Add ICommandStream interface.
include: Add ICommandProperties interface.
include: Add IConvertType interface.
include: Add ICommandPrepare interface.
include: Add IRowsetChange interface.
include: Add IRowsetUpdate interface.
xaudio2_9: Add version resource.
msi: Correct Query for loading an image.
msado15/tests: Add ADORecordsetConstruction tests.
msado15: Support ADORecordsetConstruction in _Recordset.
msado15: Implement ADORecordsetConstruction get/put Rowset.
Andrew Eikum (1):
mmdevapi: Support older version of the AudioClientProperties structure.
Anton Baskanov (7):
amstream/tests: Add comments to AMDirectDrawStream::CompletionStatus tests.
amstream: Wait for presentation time in AMDirectDrawStream::Receive.
amstream: Implement AMDirectDrawStream::GetTimePerFrame.
amstream: Factor out the common code of MediaStreamFilter seeking tests.
amstream: Implement MediaStreamFilter::IsFormatSupported.
amstream: Implement AMMultiMediaStream::GetState.
amstream: Implement AMMultiMediaStream::GetTime.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Biswapriyo Nath (6):
include: Add D2D1_PROPERTY enumeration in d2d1_1.idl.
include: Add D2D1_SUBPROPERTY enumeration in d2d1_1.idl.
include: Add D2D1_POINT_DESCRIPTION structure in d2d1_1.idl.
include: Add ID2D1GdiMetafileSink interface in d2d1_1.idl.
include: Add ID2D1GdiMetafile interface in d2d1_1.idl.
include: Add ID2D1PrintControl interface in d2d1_1.idl.
Brendan Shanks (1):
winecoreaudio.drv: Only read 'length' bytes from received MIDIPackets.
Charles Davis (10):
msvcr90/tests: Test _get_current_locale()/setlocale() interaction.
msvcrt: Make locale name string refcounted for C locale.
msvcrt: Share locale names between threadlocinfo instances.
msvcrt: Copy LC_COLLATE codepage between threadlocinfo instances.
msvcrt: Share ctype tables between threadlocinfo instances.
msvcrt: Share lconv data between threadlocinfo instances.
msvcrt: Share __lc_time_data between threadlocinfo instances.
ucrtbase: Sync __lc_time_data definitions.
msvcrt: Swap the threadlocinfo pointers in setlocale().
msvcrt: Increment refcounts for all locale data in _get_current_locale().
Damjan Jovanovic (8):
ntdll: Implement get_thread_times() on FreeBSD.
ntdll: Improve character device type detection on FreeBSD and macOS.
ntdll: Fix wrong return values in get_dir_case_sensitivity_stat().
ntdll: FAT filesystems are called "msdosfs" on FreeBSD >= 5.
ntdll: Msdosfs was case-insensitive since FreeBSD 8 or even earlier.
ntdll: Treat smbfs as case-insensitive on FreeBSD.
ntdll: Document a few other filesystem case-sensitivity cases.
cmd.exe: Increase size of WCMD_HandleTildeModifiers() buffers to MAXSTRING.
Daniel Lehman (3):
tzres: Add Lord Howe Standard Time Zone.
tzres: Add Aus Central W. Standard Time Zone.
wine.inf: Add Dynamic DST for Australian time zones.
David Torok (1):
ntdll: Add NtDebugActiveProcess stub.
Derek Lesho (4):
winegstreamer: Require media source's IMFByteStream to be seekable.
winegstreamer: Implement IMFMediaSource::GetCharacteristics.
winegstreamer: Set MF_PD_DURATION on source's presentation descriptor.
mf/session: Call session_command_complete after NotifyTopology command.
Dmitry Timoshkov (6):
crypt32/tests: Fix test failures under newer Windows versions.
advapi32/tests: Fix compilation with PSDK compiler.
advapi32: Implement LsaGetUserName.
crypt32: Make helper for copying CMSG_CMS_SIGNER_INFO attributes more generic.
crypt32: Add support for CMSG_SIGNER_AUTH_ATTR_PARAM for a being decoded signed message.
crypt32: Add support for CMSG_ENCODED_MESSAGE for a being decoded signed message.
Esme Povirk (5):
windowscodecs: Move jpeg decoding to the unix lib.
windowscodecs: Start interface for unix encoders.
windowscodecs: Move PNG encoding to the unix lib.
windowscodecs: Fix memory leak in common decoder.
windowscodecs: Fix allocation in tiff_decoder_get_metadata_blocks.
François Gouget (5):
cryptnet: Fix the spelling of the x-pkcs7-certificates MIME type.
mshtml: Fix the spelling of the filter attribute.
gdi32/tests: Avoid a D3DKMTOpenAdapterFromHdc() crash on Windows 10 >= 2004.
mmdevapi/tests: Only warn about the console when it is used.
mmdevapi/tests: Work around Initialize() render breakage on Win 10.
Georg Lehmann (1):
winevulkan: Initialize Vulkan in native_vkGetInstanceProcAddrWINE.
Gerald Pfeifer (1):
msvcrt: #include <stdarg.h> from unixlib.c.
Gijs Vermeulen (2):
sapi: Add stub SpStream object.
sapi: Add stub SpResourceManager object.
Hans Leidekker (1):
odbccp32: Map system DSN requests to user DSN requests in SQLConfigDataSource.
Haoyang Chen (1):
gdi32: Avoid exceeding the actual bitmap height.
Huw D. M. Davies (5):
riched20: Pass a para or run ptr to the char ofs propagation function.
riched20: Use row ptrs in the page up/down handlers.
riched20: Use row and para ptrs in the cursor up/down handler.
riched20: Simplify search for the cell to delete.
riched20: Move the code to clear the cell bottom out of the loop.
Jacek Caban (25):
kernel32/tests: Add more console waiting tests.
server: Support waiting on console input handles.
server: Support waiting on screen buffer handles.
kernelbase: Wait directly on console handles.
server: Remove no longer needed get_console_wait_event request.
kernel32: Allow non-console handles in DuplicateConsoleHandle.
kernel32: Allow non-console handles in CloseConsoleHandle.
conhost/tests: Initialize whole OVERLAPPED struct in fetch_console_output.
conhost: Use console debug channel.
conhost/tests: Silence debug output in child process if std output is a console.
server: Support unbound console input device.
server: Support unbound console output device.
kernel32/tests: Add more unbound console handles tests.
kernelbase: Remove no longer needed console handle handling from create_process_params.
attrib: Use CP_ACP for non-console output encoding.
fsutil: Use CP_ACP for non-console output encoding.
hostname: Use CP_ACP for non-console output encoding.
kernelbase: Move Unicode conversion from WriteConsoleA to conhost.
server: Support writing directly on console handle.
kernel32: Import WriteFile from kernelbase.
makedep: Use short debug file names.
conhost/tests: Add more ReadConsoleA tests.
kernelbase: Move Unicode conversion from ReadConsoleA to conhost.
server: Allow reading directly from console handle.
kernel32: Import ReadFile from kernelbase.
Jeff Smith (4):
user32/tests: Change misleading variable name and type.
user32/tests: Simplification of some message broadcast tests.
user32/tests: Test message broadcast to parented windows.
user32: Only child windows should not receive broadcast messages.
Kevin Puetz (7):
ole32/tests: Fix flaky test in cowait_unmarshal_thread.
widl: Parse attribute custom(guid,expr).
widl: Write ATTR_CUSTOM into typelib.
widl: Allow adding the same custdata GUID multiple times in a typelib.
oleaut32/tests: Cover Get*CustData in test_dump_typelib.
oleaut32: Fix error handling/reporting in TLB_copy_all_custdata.
oleaut32: Load GetVarCustData from MSFT-format typelib.
Liam Middlebrook (1):
winevulkan: Update to VK spec version 1.2.160.
Michael Müller (2):
dxdiagn: Enumerate DirectSound devices and add some basic properties.
dxdiagn: Calling GetChildContainer with an empty string on a leaf container returns the object itself.
Michael Stefaniuc (31):
msidb: Use wide-char string literals.
icinfo: Use wide-char string literals.
start: Use wide-char string literals.
wintab32: Use wide-char string literals.
wineps.drv: Use wide-char string literals.
gdiplus: Use wide-char string literals.
gdi32/uniscribe: Use wide-char string literals.
mscms: Use wide-char string literals.
mscms/tests: Inline a simple string.
hidclass.sys: Use wide-char string literals.
inetcpl.cpl: Trace the actual AutoConfigURL and not the value name.
inetcpl.cpl: Use wide-char string literals.
mstask: Use wide-char string literals.
vbscript: Use wide-char string literals.
kernel32: Use wide-char string literals.
taskschd: Use wide-char string literals.
userenv: Use wide-char string literals.
oleview: Inline WCHAR strings of length 1.
winmm: Use wide-char string literals.
winmm/tests: Use a string literal instead of a char array.
dpnet: Use wide-char string literals.
dxdiagn: Use wide-char string literals.
comctl32: Use wide-char string literals.
riched20: Use wide-char string literals.
riched20: Use wide-char string literals in a struct initialization.
riched20: Use zero terminated wchar strings.
riched20: Use a wchar string literal for the array of neutral chars.
itss: Use wide-char string literals.
itss: Use zero terminated WCHAR strings.
imm32: Use wide-char string literals.
mshtml: Fix spelling of fuchsia.
Nikolay Sivov (61):
gdi32: Merge in Uniscribe functionality.
mf/tests: Add a test for copier buffer handling.
mf/evr: Accept samples when prerolling.
evr/mixer: Reuse full set of type attributes for output types.
evr/mixer: Add partial implementation of sample processing.
evr/presenter: Fix error handling on object creation.
user32: Remove usp10 from delayed imports.
evr/presenter: Create sample allocator on object creation.
evr/presenter: Add a helpe for input processing.
evr/presenter: Notify renderer host about mixer latency.
evr/presenter: Add sample allocator notification callback.
evr/allocator: Call user callback when sample is returned to the pool.
mf/evr: Handle sample requests from the mixer.
mf/evr: Handle user events from the presenter.
mf/session: Provide quality manager with presentation clock.
mf/session: Notify quality manager when setting new topology.
mf/session: Notify quality manager on input/output processing.
mf/session: Forward MEQualityNotify event to the quality manager.
oledb32: Use wide-char string literals.
evr/allocator: Fix released sample pointer check.
evr/allocator: Fix reference counting for returned samples.
mf/session: Query and initialize sample allocators for capable output nodes.
mf/session: Implement support for sinks that provide sample allocators.
mf/evr: Set display window to the presenter if it was specified on sink creation.
mfplat/tests: Remove a couple of failing tests.
wordpad: Fill font selection combobox with fully processed font list.
ole32/propstorage: Handle VT_I8/VT_UI8 when serializing properties.
dxva2: Add a semi-stub for VideoProcessBlt().
evr/presenter: Add IQualProp stub.
evr/presenter: Create a swapchain for given output window.
evr/presenter: Add IMFQualityAdvise stub.
evr/mixer: Fix method function name for consistency.
mf/tests: Use a helper for supported intefaces checks.
mf/evr: Add IMFQualityAdvise stub.
mfplat/buffer: Fix byte width set for d3d9 surface buffers.
comctl32: Use wide-char string literals.
mfplat/tests: Add a helper to check for supported interfaces.
include: Guard MFVideoNormalizedRect definition in mfmediaengine.idl.
mfplat: Add EVRConfig_* attributes to tracing.
evr/sample: Reset attributes, timestamps, and flags on ::Clear().
evr/mixer: Fix output filling behaviour regarding sample properties.
evr/tests: Add more tests for supported service interfaces.
evr/presenter: Expose all interfaces for MR_VIDEO_RENDER_SERVICE.
evr/mixer: Set timestamp and duration for output samples.
evr/mixer: Improve GetService() handling of unsupported interfaces/services.
evr/presenter: Fix error code for unsupported services.
evr/presenter: Add IDirect3DDeviceManager9 as a supported interface.
evr/tests: Presenter should support IMFQualityAdviseLimits.
evr/presenter: Implement sample presenting functionality.
xmllite/reader: Use wide-char string literals.
xmllite/writer: Use wide-char string literals.
mfplat: Use wide-char string literals.
mf/evr: Add support for per-stream attributes.
evr/tests: Relax allocator initialization test.
mf/evr: Derive stream attributes from mixer input attributes.
mf/samplegrabber: Implement IMFRateSupport.
combase: Set a flag on thread id initialization.
combase: Update thread flags when entering/leaving apartments.
mf/session: Shutdown and release presentation clock on session shutdown.
mf/session: Keep a reference to the original activation object when binding sink nodes.
mf/session: Shutdown current topology when clearing presentation.
Paul Gofman (12):
crypt32: Fix adding trusted roots to store.
wininet: Correctly return error status from InternetSetFilePointer() stub.
mshtml: Check for EVENTID_LAST in ensure_doc_nsevent_handler().
bcrypt: Prevent gnutls from using system priority file.
crypt32: Prevent gnutls from using system priority file.
secur32: Prevent gnutls from using system priority file.
ws2_32: Force adding completion for error status in WS2_ConnectEx().
user32: Avoid holding display_dc_section when creating display DC.
directmanipulation: Return S_OK form viewport_SetViewportOptions stub.
ntdll: Avoid overwriting parameters with context in call_user_apc_dispatcher() on x86.
msvcrt: Save and restore rounding mode in fegetenv() / fesetenv().
ntdll: Fix SMT CPU flag reporting.
Piotr Caban (7):
ucrtbase: Add support for utf8 codepage in setlocale.
msvcrt: Mark old_locinfo as const in create_locinfo.
msvcrt: Call set_lc_locale_name in update_threadlocinfo_category.
msvcrt: locinfo->lc_name should be guarded by lc_category->wrefcount.
msvcrt: Simplify category checks in create_locinfo.
msvcrt: Lock global locale in _get_current_locale.
msvcrt: Don't overwrite threadmbcinfostruct structure in _setmbcp.
Robert Wilhelm (2):
vbscript: Allow keywords to be used as property name.
vbscript: Support properties with parameters.
Rémi Bernon (21):
bcrypt: Implement 3DES cipher support.
msvcrt: Make locale and thread helper functions CDECL.
msvcrt: Introduce noalloc current locale lookup helpers.
msvcrt: Pass temporary locale to MSVCRT__towlower_l.
msvcrt: Pass temporary locale to MSVCRT__towupper_l.
gdi32: Index font families by name in an rbtree.
gdi32: Rewrite find_face_from_filename using the rbtree.
gdi32: Rewrite find_any_face using the rbtree.
winemenubuilder: Only extract icons when association changed.
widl: Support repetition for some attributes.
widl: Restrict some keywords to WinRT mode only.
widl: Prefer mangled name over typedef in WinRT mode.
gdi32: Ignore Type 1 fonts in fontconfig enumeration.
gdi32: Move FreeType face creation to AddFaceToList.
gdi32: Load font list directly from fontconfig cache.
gdi32: Lazily create and cache fontconfig patterns.
ntdll: Stub ThreadEnableAlignmentFaultFixup info class.
include: Fix DPFLTR_MASK value to 0x80000000.
ntdll/tests: Add tests for DbgPrint* functions.
ntdll: Reimplement DbgPrint* using DBG_PRINTEXCEPTION_C.
ntdll: Raise debug exceptions when invalid heap is destroyed.
Sven Baars (5):
gdi32/tests: Fix a compiler warning.
d3dx9: Don't release textures when D3DXSPRITE_DO_NOT_ADDREF_TEXTURE is specified.
d3dx9: Fully initialize the glyph position.
d3dx9: Implement clipping of glyphs in ID3DXFont_DrawText.
d3dx9: Remove unreachable DT_SINGLELINE handling from ID3DXFont_DrawText.
Zebediah Figura (29):
quartz: Don't hold an extra reference in async_run_cb().
quartz/tests: Test releasing the graph while waiting for an asynchronous paused -> running transition.
msi: Use the global is_wow64 variable in custom_start_server().
msi/tests: Test the "VersionNT" property.
quartz/tests: Test adding and removing filters while the graph is running.
quartz: Don't stop the filter in IFilterGraph::RemoveFilter().
quartz/tests: Store a testfilter pointer inside the testpin structure.
quartz/tests: Add more tests for interaction between pin connection and graph state.
quartz: Immediately return failure from IFilterGraph::RemoveFilter() if IPin::Disconnect() fails.
makefiles: Disable implicit rules.
quartz/tests: Pass an IMediaControl to some functions.
winegstreamer: Don't fail state change methods if the sink pin is not connected.
winegstreamer: Don't fail parser_init_stream() if a source pin is not connected.
wineqtdecoder: Do not fail state change methods if source pins are not connected.
quartz: Commit the allocator directly.
amstream/tests: Commit the allocator directly.
strmbase: Remove no longer used allocator commit helpers.
strmbase: Get rid of strmbase_pin_get_media_type().
quartz/tests: Enable no longer failing tests for IBasicVideo::GetCurrentImage().
strmbase: Forbid disconnecting the sink if the filter is not stopped.
quartz/tests: Test (dis)connecting while not stopped.
qasf/tests: Test (dis)connecting while not stopped.
qcap/tests: Test (dis)connecting while not stopped.
qedit/tests: Test (dis)connecting while not stopped.
quartz/avidec: Don't send ICM_DECOMPRESS_BEGIN or ICM_DECOMPRESS_END messages if the source is disconnected.
quartz/tests: Add some tests for AVI decoder sample processing.
quartz/avidec: Don't copy the media time to the output sample.
quartz/tests: Add some tests for streaming events on the AVI decoder.
quartz/tests: Add some tests for flushing on the DirectSound renderer.
Zhiyi Zhang (3):
user32/tests: Pass a struct DEVMODEA pointer to expect_dm() for monitor tests.
winex11.drv: Adjust the priority of NoRes display settings handler to 1.
winex11.drv: Clarify parent in struct x11drv_win_data comments.
Ziqing Hui (3):
windowscodecs: Correctly set pixel format of uncompressed DDS with extended header.
d3dx10/tests: Add tests for D3DX10GetImageInfoFromResource{A, W}().
d3dx10: Implement D3DX10GetImageInfoFromResource{A, W}().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 5.0.3 is now available.
What's new in this release (see below for details):
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0.3.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0.3.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 5.0.3 (total 44):
7102 Microsoft Word 6.0 for Windows: copy/paste causes crash on unimplemented function ole2.dll16.OLEISCURRENTCLIPBOARD
26171 BVRP classic phone tools installer reports error 'Insufficient buffer' when trying to install print processor (AddPrintProcessorA stub should be symmetric to AddPrintProcessorW)
35903 CED1401 USB function driver fails to install (setupapi should use the original INF path as a default source path when copying files)
38020 Foxit Reader 6.12 crashes on unimplemented function msasn1.dll.ASN1_CreateModule during validation of digital signatures
44127 Metal Gear Solid V: Ground Zeroes doesn't launch
44306 Visual Novel "A Clockwork Ley-Line: The Borderline of Dusk" doesn't work with d3d9
44925 Multiple kernel drivers require 'ntoskrnl.exe.ExCreateCallback' stub to return STATUS_SUCCESS (StarForce v3, TrackMania Nations ESWC. Denuvo Anti-Cheat)
45536 Total Commander 9.x crashes on unimplemented function usp10.dll.ScriptGetFontAlternateGlyphs when Wine is not detected via named export 'ntdll.wine_get_version'
46726 Dirt Rally 2.0 does not use embedded CA cert
46818 PS4 Remote Play 2.x (.NET 4.x app) crashes on Sign-In PlayStation network (mshtml:HTMLDocument_get_cookie should not fail for 'about:blank')
48256 pwsh.exe (from Powershell-6.*) crashes after 20~50 sec: System.EntryPointNotFoundException: Unable to find an entry point named 'FreeAddrInfoEx' in DLL 'ws2_32.dll'.
48405 Battle.Net Launcher Beta crashes with Windows version set to 10
48668 rFactor2 - Physics thread slower on multiplayer mode
48779 Secret Files 3 crashes at launch (needs d3dx9_skin_info_Clone)
48938 Ashes of the Singularity: Escalation crashes on start
48959 S-Gear 2 installer does not recognize wine as Windows 10
49147 Microsoft Teams 1.3.x crashes on unimplemented function setupapi.dll.CM_Get_Device_Interface_AliasW
49178 Spitfire Audio 3.x crashes on start due to 'WTSQuerySessionInformationA' stub not initializing out parameters
49179 winetest.exe fails to run on windows arm (surface rt / armv7): procedure entry point NtCurrentTeb could not be located in the dynamic link library C:\Users\User\Desktop\winetest.exe
49189 Auslogics Registry Cleaner 8.x crashes and shows "OLE error 80004001" (SetCurrentProcessExplicitAppUserModelID stub needs to return S_OK)
49221 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes due to unhandled emulation of MSR register reads related to CPU / virtualization features (returning zero value is sufficient)
49257 Avast Free Antivirus 20.3 crashes before installing due to unimplemented function rpcrt4.dll.RpcIfInqId
49264 MultiSync installation crashes (needs _Command::get/put_CommandText)
49272 MultiSync installation crashes (msado15.dll needs {b196b284-bab4-101a-b69c-00aa00341d07} IConnectionPointContainer)
49281 FinanceExplorer crashes inside msado15.dll
49289 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.ExRegisterCallback
49291 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.ExUnregisterCallback when unloading
49303 MultiSync installation crashes (msado15.dll needs IConnectionPointContainer::FindConnectionPoint)
49322 cmudpro334 shows error on unimplemented ITaskbarList::SetOverlayIcon()
49352 JamKazam 1.0.3744 msi installer fails at 'InstallFiles' action (incorrect handling of administrative image with compressed source files)
49372 winedump crashes for sltg typelib files
49379 Altium Designer 20 crashes on missing d2d1.dll.D2D1CreateDevice
49388 MultiSync installation crashes (msado15.dll needs IConnectionPoint::Advise)
49439 Printing and scanning software for Brother L2540DW fails to install (VBScript parser can't handle a "case else" statement with a comment and no statements to execute)
49460 where.exe is missing in wine (affects Waves Central )
49487 ListView control custom draw in report view shows blank item if handler clears uItemState CDIS_SELECTED flag
49488 uninitialized bytes in server call from ntdll/server_write_file
49570 LVM_FINDITEM should do case-insensitive test for item text
49620 Tableau Desktop fails to install
49656 SAP GUI - Ws2_32.getaddrinfo crashes with non-standard service (/etc/services)
49662 Wine Internet Explorer crashes on https://[2600::]/
49664 FrostyModManager v1.0.5.9 crashes on launch
49666 Red Dead Redemption 2 requires HEAP flags offset to match Windows
49685 Gigabyte "EasyTune" service crashes in wbemprox
----------------------------------------------------------------
Changes since 5.0.2:
Aaro Altonen (8):
msado15: Implement _Command get/put CommandType.
msado15: Implement _Command get/put CommandText.
msado15: Add IConnectionPointContainer stub to _Connection.
msado15: Add IConnectionPoint stub to _Connection.
msado15: Implement IConnectionPointContainer_FindConnectionPoint.
include: Add ConnectionEventsVt definition.
msado15/tests: Add tests for IConnectionPoint::Advise/Unadvise.
msado15: Implement IConnectionPoint::Advise/Unadvise.
Akihiro Sagawa (1):
documentation: Update Japanese translation.
Alex Henrie (2):
urlmon: Call parse_host in combine_uri to set related parse_data fields.
urlmon: Fix null pointer dereference in process_hook_section (Coverity).
Alexandre Julliard (1):
setupapi: Support a WineSourceDirs section to copy files from the Wine build or data dir.
Alistair Leslie-Hughes (1):
msado15: Implement _Connection get/put ConnectionString.
Anton Baskanov (1):
amstream: Don't crash if parent is NULL in AMAudioStream:: and AMDirectDrawStream::GetMultiMediaStream.
Brendan Shanks (5):
winhttp: Treat a partial certificate chain as having an unknown/invalid CA.
whoami: Add semi-stub application to display username.
winevulkan: Don't initialize the Vulkan driver in DllMain().
ntdll: Pad HEAP structure so 'flags' offset matches recent Windows.
winemac.drv: Fix warnings for constants deprecated by macOS 10.14.
Changping Yu (2):
kernel32/tests: Add test for thread enumeration order in toolhelp.
kernel32: Adjust thread creation insertion order.
Derek Lesho (1):
msctf: Always provide a context when from GetBase/Top.
Dmitry Kislyuk (1):
vbscript: Parse empty CASE ELSE clause.
Dmitry Timoshkov (1):
winedump: Fix parsing of SLTG typelib created with some old tool.
Gijs Vermeulen (5):
wtsapi32: Implement WTSQuerySessionInformationA.
d3dx9: Implement ID3DXSkinInfo_Clone().
amstream: Don't crash on NULL ddraw in IDirectDrawMediaStream::GetDirectDraw().
wbemprox: Set obj to NULL on error in get_object().
wbemprox: Don't crash in IWbemClassObject::Put() when called with empty class object.
Hans Leidekker (3):
msado15: Fix NULL pointer dereference in close_recordset.
msi: Fix installing from administrative image with compressed source files.
ws2_32: Avoid a crash in WS_getaddrinfo when the specified service doesn't exist.
Jacek Caban (3):
winnt.h: Provide inline NtCurrentTeb implementation for mingw arm builds.
mshtml: Return NULL in IHTMLDocument2::get_cookie if InternetGetCookieExW failes.
urlmon: Remove unused flags argument from parse_host.
Jefferson Carpenter (1):
ntoskrnl.exe: Set reserved to 0 in pnp WM_DEVICECHANGE broadcast.
Jiajin Cui (1):
gdiplus: Fix crash if failed to create bitmap.
Julian Rüger (1):
documentation: Update German translation.
Louis Lenders (7):
usp10: Add stub for ScriptGetFontAlternateGlyphs.
shcore: Return S_OK in SetCurrentProcessExplicitAppUserModelID.
ws2_32: Add FreeAddrInfoEx.
setupapi: Add stub for CM_Get_Device_Interface_Alias{A,W}.
explorerframe: Return S_OK in ITaskbarList::SetOverlayIcon.
where.exe: Add stub program.
sc.exe: Fake succes for the SdSet argument.
Matteo Bruni (3):
wined3d: Add GPU information for AMD Raven Ridge.
user32: Add missing WM_WINE_CLIPCURSOR message type name.
user32: Make sure update_window_state() is always executed on the owner thread.
Nikolay Sivov (7):
d2d1: Implement D2D1CreateDevice().
dwrite: Implement IDWriteFont::Equals().
dwrite: Add partial implementation for IDWriteFontFace5::Equals().
comctl32/listview: Rename helper argument.
comctl32/listview: Use case-insensitive compare in LVM_FINDITEM.
comctl32/listview: Do no alter custom draw text colors between notification stages.
winedbg: Double dll name buffer size for unimplemented function exception.
Paul Gofman (7):
ntoskrnl.exe: Return STATUS_SUCCESS from ExCreateCallback() stub.
ntoskrnl.exe: Return zero for unknown msr registers.
ntoskrnl.exe: Add stub for ExRegisterCallback() function.
ntoskrnl.exe: Add stub for ExUnregisterCallback() function.
ws2_32: Optimize interface_bind_check() by caching adapter addresses.
winebuild: Correct hotpatching prologue in import thunks for x86_64.
shell32: Only consider copy operation multidest if the number of dst files is greater than one.
Piotr Caban (1):
msasn1: Fix buffer allocations.
Rémi Bernon (1):
kernel32: Catch process creation breakpoint exceptions.
Vijay Kiran Kamuju (12):
ole2.dll16: Add stub OleIsCurrentClipboard function.
winspool.drv: Implement AddPrintProcessorA via AddPrintProcessorW.
include: Add related ASN1encoding_s and ASN1decoding_s structs.
msasn1: Add ASN1_CreateModule stub implementation.
msasn1/tests: Add initial tests.
msasn1: Implement ASN1_CreateModule function.
msasn1: Implement ASN1_CloseModule function.
msasn1: Add partial implementation of ASN1_CreateEncoder.
msasn1: Add stub for ASN1_CloseEncoder function.
msasn1: Add partial implementation of ASN1_CreateDecoder.
msasn1: Add stub for ASN1_CloseDecoder function.
msasn1: Add stub for ASN1_Decode function.
Zebediah Figura (6):
setupapi: Reset the source file pointer when comparing files.
setupapi: Store the original INF file path in a .pnf file.
setupapi: Use the original INF source path if possible when copying files.
winecfg: Set the Current{Major, Minor}VersionNumber registry values.
wbemprox: Return WBEM_E_NOT_FOUND from get_object() if no object is available.
d3dcompiler: Iterate through the instruction list in reverse in free_instr_list() (Valgrind).
Zhiyi Zhang (2):
rpcrt4: Implement RpcIfInqId().
dwmapi: Check NULL parameter in DwmIsCompositionEnabled().
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 5.21 is now available.
What's new in this release (see below for details):
- GDI32 library converted to PE.
- More fixes for windowless RichEdit.
- A number of timezone updates.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.21.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.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 5.21 (total 24):
22797 'Sample1_DLLEmbedding' example from BoxedApp SDK v3.3.x (native API application virtualization scheme) crashes (needs hookable NtXXXSection API entries / NT syscalls)
25834 Adobe Reader X and XI cannot open in Protected Mode due to advapi32.dll CreateRestrictedToken being a stub
33072 dxdiag: can't retrieve network info
33162 Acrobat Reader 11 crashes on start (native API application virtualization, NtProtectVirtualMemory removes execute page protection on its own code)
45349 Multiple applications and games crash due to missing support for 64-bit syscall thunks (StreetFighter V, World of Warcraft)
45550 League of Legends 8.15+ anticheat fails due to incorrect implementation of NtQuerySystemInformation(SystemModuleInformation)
45666 Multiple Riot Games' anti-cheat / protection schemes need implementation of NtQuerySystemInformation 'SystemModuleInformationEx' info class (League of Legends 8.15+, Valorant/Vanguard)
46373 Unknown game crashes in unimplemented function msvcr80.dll._strnset_s in 1.6.2
46870 League of Legends 8.12+ fails to start a game in Vista+ mode (anticheat engine, SystemExtendedProcessInformation)
46967 GOG Galaxy doesn't run in virtual desktop
48203 Far Manager 3 broken appearance
48204 Wineconsole running Far File Manager 3 crashes as soon as you try to resize its window
48715 A Wolf RPG game freezes on map transition
49298 Path of Exile crashes when switching to Vulkan Renderer on RADV. Switching works in proton.
49449 Terraria Mobile Server (.NET 4.x) crashes with System.NotImplementedException NATUPNPLib.IUPnPNAT.get_StaticPortMappingCollection()
49610 mu online crashes after login
49739 Microsoft Flight Simulator needs netutils.dll and srvcli.dll
49785 Linking of some objects sometimes fails with undefined reference to windowscodecs GUIDs
49813 Implement debugging feedback extensions (VK_EXT_debug_utils/VK_EXT_debug_report) to forward data to Linux impl
50038 IWbemClassObject::Get method with wszName = NULL crashes inside wbemprox
50039 Wine 5.18+ fails build on Ubuntu 18.04 with libwine.so Makefile symbolic link
50049 Fallout 76 opens black screen then crashes on start
50050 Wine 5.20 build fails on Ubuntu 16.04
50077 .NET 3.5SP1 installer depends on PEB->Reserved[1] / AtlThunkSListPtr32 being 0 or 1
----------------------------------------------------------------
Changes since 5.20:
Aaron Hill (2):
qmgr/tests: Fix issues with handling of transient errors.
qmgr/tests: Test registering an IBackgroundCopyCallback2.
Akihiro Sagawa (1):
gdi32: Fix font rendering issue when child font is used.
Alexandre Julliard (54):
gdi32: Set the font file name directly at creation time.
gdi32: Move the text metrics cache into the generic font structure.
gdi32: Move the kerning pairs data into the generic font structure.
gdi32: Move the fonts directory helper functions out of freetype.c.
gdi32: Move the Add/RemoveFontResource() implementation out of freetype.c.
gdi32: Move the AddFontMemResourceEx() implementation out of freetype.c.
gdi32: Move the loading of system fonts out of freetype.c.
gdi32: Move the loading of registry fonts out of freetype.c.
gdi32: Move the loading of filesystem fonts out of freetype.c.
gdi32: Add a helper to load a font without using a face.
gdi32: Allocate the backend font data in the load_font() helper.
gdi32: Move the CreateScalableFontResource() implementation out of freetype.c.
gdi32: Move part of the GetFontUnicodeRanges() implementation out of freetype.c.
gdi32: Move part of the GetCharWidthInfo() implementation out of freetype.c.
gdi32: Move the GSUB table support out of freetype.c.
gdi32: Store child font objects directly on the child font list.
gdi32: Move the glyph index mapping for GetGlyphOutline() out of freetype.c.
gdi32: Add a helper to get the FreeType face and cleanup private data.
winebuild: Set PE timestamps to a hash of the file name.
gdi32: Move the font substitution list out of freetype.c.
gdi32: Move the font family list out of freetype.c.
gdi32: Move the face data structure out of freetype.c.
gdi32: Move the loading of font replacements out of freetype.c.
gdi32: Make the family replacement point to the family object.
gdi32: Move the font link support out of freetype.c.
gdi32: Move the creation of the child font list out of freetype.c.
gdi32: Move the dumping of the font list out of freetype.c.
gdi32: Add a helper function to create a font from a face.
gdi32: Move the font enumeration out of freetype.c.
gdi32: Move the default AA flags handling out of freetype.c.
gdi32: Move the font list reordering out of freetype.c.
gdi32: Add a separate backend function to load the font list.
gdi32: Move the font cache out of freetype.c.
gdi32: Add a helper function to create a face.
gdi32: Update the Windows font registry keys only when they have changed.
gdi32: Move the remove_font() function out of freetype.c.
gdi32: Add some helper functions for font matching.
gdi32: Move the handling of font family fallbacks out of freetype.c.
gdi32: Move the rest of the font matching code out of freetype.c.
gdi32: Move the SelectFont() implementation out of freetype.c.
gdi32: Make a few definitions private to font.c.
gdi32: Don't abort enumeration if a font fails to load.
gdi32: Store scale as an integer.
gdi32: Use FT_MulDiv() instead of the kernel32 function.
gdi32: Use ntdll functions for codepage conversions.
gdi32: Use ntdll functions for DOS<->Unix path conversions.
gdi32: Use ntdll functions for locale support.
gdi32: Use ntdll functions for heap allocations.
gdi32: Move FreeType support to a new Unix library.
gdi32: Move OSMesa support to the Unix library.
gdi32: Build with msvcrt.
include: Fix setjmp() support with 32-bit ucrtbase.
gdi32: Use wide-character string literals.
gdi32: Initialize the font gamma ramp with the other font options.
Alistair Leslie-Hughes (5):
include: Add missing DBPARAM* types and enums.
include: Add more DBGUID_* defines.
srvcli: Add stub dll.
netutils: Add stub dll.
include: Add DBPROPSTATUSENUM enum values.
Anton Baskanov (5):
amstream: Wait for the state transition to complete in AMMultiMediaStream::SetState.
amstream: Handle AMMSF_NOCLOCK flag in AMMultiMediaStream::OpenFile.
amstream: Release filter critical section before calling upstream seeking methods.
amstream: Implement MediaStreamFilter::WaitUntil.
amstream: Implement MediaStreamFilter::Flush.
Aurimas Fišeras (3):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Austin English (10):
d3d8thk: Add stub dll.
d3dim700: Add stub dll.
ddrawex: Add version resource.
dpwsockx: Add version resource.
dx8vb: Add version resource.
ksproxy.ax: Add version resource.
ksuser: Add version resource.
qdvd: Add version resource.
strmdll: Add version resource.
dpnsvr: Add version resource.
Biswapriyo Nath (1):
mf/evr: Initialize variables which are checked conditionally.
Brendan Shanks (4):
ntdll: Update the PEB structures for newer Windows versions.
dbghelp: Use PEB->CloudFileFlags instead of PEB->Reserved for debug base address.
ntdll: Rename PEB->Reserved[1] to AtlThunkSListPtr32.
include: Force stack alignment on x86_64 with Clang.
Damjan Jovanovic (1):
oleaut32: IFont never had an IPersistStreamInit interface.
Daniel Lehman (11):
wine.inf: Fix SA Eastern Standard Time Zone info.
tzres: Add Tocantins Standard Time Zone.
tzres: Add Magallanes Standard Time Zone.
tzres: Add Saint Pierre Standard Time Zone.
msvcr110/tests: Use macro to get function address.
msvcr110: Add _Context::_CurrentContext.
msvcr120/tests: Add _Context::_CurrentContext tests.
concrt140/tests: Add _Context::_CurrentContext tests.
wine.inf: Update Azerbaijan Time Zone.
wine.inf: Update Caucasus Time Zone.
wine.inf: Update Pacific SA Time Zone.
Derek Lesho (12):
winegstreamer: Insert videoconvert into decoded-video streams.
winegstreamer: Insert audioconvert into decoded audio streams.
winegstreamer: Replace gst_pad_get_current_caps with gst_pad_query_caps.
winegstreamer: Implement IMFMediaSource::CreatePresentationDescriptor.
mfreadwrite: Abort ReadSample when unable to request any samples.
winegstreamer: Implement IMFMediaSource::Start.
winegstreamer: Implement IMFMediaStream::RequestSample.
mfmediaengine: Provide the partial topology to the media session.
mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_CANPLAY upon MF_TOPOSTATUS_READY.
mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_PLAYING upon MESessionStarted.
mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_ENDED upon MESessionEnded.
winegstreamer: Implement IMFMediaStream::GetMediaSource.
Eric Kohl (1):
widl: Add the [allocate] acf attribute.
Esme Povirk (2):
windowscodecs: Move TIFF decoding to unix lib.
avifil32: Only add the first stream reference to the parent.
François Gouget (1):
oleacc/tests: Fix the window name and keyboard shortcut tests.
Georg Lehmann (5):
winevulkan: Implement VK_EXT_debug_report.
winevulkan: Don't use comments for object types.
winevulkan: Remove comment from VkEnumValue.
winevulkan: Implement VK_EXT_debug_marker.
winevulkan: Enable VK_EXT_validation_features and VK_EXT_validation_flags.
Gijs Vermeulen (8):
quartz/vmr9: Don't expose IVMRFilterConfig9 from the VMR7.
quartz/vmr9: Don't expose IVMRMonitorConfig9 from the VMR7.
quartz/vmr9: Don't expose IVMRMonitorConfig9 in renderless mode.
quartz/vmr9: Don't expose IVMRFilterConfig from the VMR9.
quartz/vmr9: Don't expose IVMRMonitorConfig from the VMR9.
include: Add INetworkEvents and some enums to netlistmgr.idl.
quartz: Implement IVMRAspectRatioControl9.
netprofm: Create a connection point object for INetworkEvents.
Giovanni Mascellani (3):
d2d1: Implement D2D1SinCos().
d2d1: Implement D2D1Tan().
d2d1: Implement D2D1Vec3Length().
Hans Leidekker (10):
msi: Use wide character string literals in action.c.
msi: Use wide character string literals in dialog.c.
msi: Use wide character string literals in msi.c.
msi: Use wide character string literals in package.c.
msi: Use wide character string literals in registry.c.
msi: Use wide character string literals in classes.c.
msi: Use wide character string literals in the remaining files.
msi/tests: Use wide character string literals.
wbemprox/tests: Test more sound device properties.
jscript: Fix allocation size in BindFunction_call.
Huw D. M. Davies (45):
riched20: Pass a row ptr to the cursor from row function.
riched20: Use row ptrs in the cursor from virtual co-ords function.
riched20: Use row and para helpers for the selection function.
riched20: Use row helpers for Home/End key handling.
riched20: Use row ptrs in the cursor to co-ordinates function.
riched20: Use row and para helpers in the extend selection function.
riched20: Use a run helper in the delete text function.
riched20: Use a row ptr in the run drawing function.
riched20: Use row and para ptrs in the ensure visible function.
riched20: Fix the struct size check in the para fmt retrieval function.
riched20: Pass para ptrs to the various para selection functions.
riched20: Use a helper function to find the first row.
riched20: Use a helper to find the next run.
riched20: Use the paragraph from the cursor.
riched20: Use a helper to retrieve the first run.
riched20: Use para and run ptrs in the table deletion function.
riched20: Use cell ptrs in the append table row function.
riched20: Use cell ptrs in the table tab handler.
riched20: Use paragraph ptrs in the table move from row start function.
riched20: Remove the table corruption check function.
riched20: Use a paragraph ptr in the stream in function.
riched20: Use paragraph ptrs in the selection link check function.
riched20: Use paragraph ptrs in the enter handler.
riched20: Use a run ptr in the rtf row handler.
riched20: Use paragraph and run ptrs in the find text function.
riched20: Use paragraph ptrs in the WM_CHAR handler.
riched20: Use a run ptr in the link notify function.
riched20: Use para and row ptrs in the EM_GETFIRSTVISIBLELINE handler.
riched20: Return a row ptr from the row from row number function.
riched20: Use run ptrs in the EM_GETLINECOUNT handler.
riched20: Use row ptrs in the EM_GETLINELENGTH handler.
riched20: Use run ptrs in the text retrieval function.
riched20: Remove unused ME_RowStart().
riched20: Use para and row ptrs in the row number from offset function.
riched20: Use a paragraph ptr in the clipboard get text function.
riched20: Use a paragraph ptr in the rtf writer function.
riched20: Use a cell helper in the split paragraph undo function.
riched20: Return a row ptr from the row creation function.
riched20: Use para_in_table() instead of IsInTable().
riched20: Pass paragraph ptrs to the para marking function.
riched20: Use more cell helpers in some of the table functions.
riched20: Use cell ptrs in the paragraph splitting and joining functions.
riched20: Use cell ptrs to link the cells.
riched20: Add next / prev run from cursor helpers.
riched20: Use paragraph and run ptrs in the cursor structure.
Jacek Caban (1):
mshtml: Ignore attempts to set read only builtin properties in IE9+ mode.
Jan Sikorski (1):
wininet: Prevent use after free in logging.
Matteo Bruni (1):
winemac: Update the stored display settings immediately.
Michael Stefaniuc (21):
wmic: Use wide-char string literals.
wmiutils: Use wide-char string literals.
wmp: Use wide-char string literals.
sapi: Zero terminate some WCHAR strings.
powrprof: Use wide-char string literals.
sapi/tests: Use wide-char string literals.
msxml3/tests: Use wide-char string literals.
appwiz.cpl: Use wide-char string literals.
appwiz.cpl: Use zero terminated wide-char strings.
serialui: Use wide-char string literals.
mshtml: Use wide-char string literals in struct initialization.
wscript: Use wide-char string literals.
wscript: Zero terminate the host version string to avoid random garbage.
wscript: Use a zero terminated wchar string.
winedevice: Don't make a variable const just to cast the const away.
winedevice: Use wide-char string literals.
svchost: Use wide-char string literals.
svchost: Inline a simple string.
pdh: Use wide-char string literals.
mpr: Use wide-char string literals.
jscript: Use wide-char string literals in struct initialization.
Myah Caron (3):
include: Introduce MEM_EXTENDED_PARAMETER.
ntdll: Stub NtAllocateVirtualMemoryEx.
kernelbase: Implement VirtualAlloc2.
Nikolay Sivov (29):
evr/mixer: Add IMFClockStateSink stub.
mf/evr: Notify mixer and presenter on clock state changes.
mf/evr: Implement OnClockSetRate().
mfplat: Add IMFGetService stub for 2D memory buffer.
evr: Implement sample allocator.
include: Remove confusing comment.
include: Add IMFVideoSampleAllocatorEx.
evr/tests: Add sample allocator test with surface-backed buffers.
mfplat: Implement MFCreateDXSurfaceBuffer().
evr/allocator: Use different buffer implementation for surface buffers.
evr: Add MFCreateDXSurfaceBuffer() forward.
evr/presenter: Set mixer output type on type negotiation.
mf/copier: Move sample copier to its own file.
mf/evr: Pass incoming samples to the mixer.
mf/evr: Notify presenter on new input.
mfplat: Consider first type entry when returning major type for stream descriptors.
mfreadwrite/tests: And some more tests for ReadSample() and failing requests.
mfplat: Implement MFFrameRateToAverageTimePerFrame().
mfmediaengine: Keep "preload" property.
mfplat: Implement MFMapDXGIFormatToDX9Format().
mfmediaengine: Add video output topology branch.
mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_FIRSTFRAMEREADY on first video sample.
mfmediaengine: Implement OnVideoStreamTick().
mfmediaengine: Implement GetNativeVideoSize().
evr/presenter: Create dedicated thread to handle presentation time.
evr/presenter: Implement GetCurrentMediaType().
mfmediaengine: Implement GetVideoAspectRatio().
mfmediaengine: Handle shutdown state in GetNativeVideoSize().
evr/sample: Use separate thread for tracking notifications.
Olivier F. R. Dierick (1):
windowscodecs: Include system header png.h before Windows headers.
Paul Gofman (3):
kernel32: Align stack in get_proc_address_wrapper().
kernelbase: Align stack in GetProcAddress() on x64.
kernel32: Add string for E_FAIL error.
Pengpeng Dong (1):
wbemprox: Implement Win32_SoundDevice.{DeviceID, PNPDeviceID}.
Robert Wilhelm (1):
vbscript: Allow keywords to be used as function name.
Rémi Bernon (4):
mscoree/tests: Test invalid assembly paths in registry.
mscoree/tests: Test querying interfaces with generated GUID.
mscoree: Fallback to assembly name if codebase path is invalid.
gdi32: Implement GdiDllInitialize stub.
Sergei Trofimovich (1):
aclocal.m4: Fix compatibility with upcoming autoconf-2.70.
Vitaly Lipatov (1):
ncrypt: Add NCryptIsKeyHandle stub.
Will Mainio (2):
msvcrt: Fix scanf with dashes in scanset.
msvcrt/tests: Add scanf tests for dashes in scanset.
Zebediah Figura (6):
ntdll: Stub NtQuerySystemInformation(SystemExtendedProcessInformation).
ntdll: Don't check "info" for NULL in NtQuerySystemInformation(SystemModuleInformation).
ntdll/tests: Add more tests for SystemModuleInformation[Ex].
ntdll: Semi-stub SystemModuleInformationEx.
quartz/tests: Add some more tests for seeking formats.
quartz: Treat a filter as supporting IMediaSeeking only if it supports TIME_FORMAT_MEDIA_TIME.
Zhiyi Zhang (12):
user32/tests: Test changing to a valid depth but zero width and height display mode.
user32: Use current width or height if a mode specifies zero width or height for ChangeDisplaySettingsExW().
wined3d: Store a struct wined3d pointer in struct wined3d_swapchain_state.
winemac.drv: Send HTMENU instead of HTCAPTION to query window activation.
winex11.drv: Update a comment.
d3d8/tests: Restore display modes at the end of test_wndproc().
d3d9/tests: Restore display modes at the end of test_wndproc().
ddraw/tests: Test display mode restoration.
d3d8/tests: Test display mode restoration.
d3d9/tests: Test display mode restoration.
dxgi/tests: Test display mode restoration.
wined3d: Restore display modes for all outputs when doing mode restoration.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.20 is now available.
What's new in this release (see below for details):
- More work on the DSS cryptographic provider.
- A number of fixes for windowless RichEdit.
- Support for FLS callbacks.
- Window resizing in the new console host.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.20.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.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 5.20 (total 36):
14640 Multiple OpenGL applications and games fail at ChoosePixelFormat/SetPixelFormat (Lazarus, Counterclockwise, USI T3 emulator)
30364 X3 Reunion hangs at start
33392 .NET Framework 4.0 installer misreports disk space if not enough disk space available 'Drive C: Required - 64u MB, Available - 64u MB' ('FormatMessageA/W' needs to support I64)
34558 Multiple applications and games wrapped with ASProtect 1.x-2.x protection scheme fail to start after registration (Farm Frenzy 2, Alawar, FL Studio 11.x VSTi 'Slayer2' plugin, FORScan)
35694 Serena hits deadlock on exit
35744 LabChart Reader 8 installer ends prematurely (VBScript support for class default sub missing)
36873 Multiple games have non-functional mouse input, invisible mouse cursor (Chronology, Mount & Blade II: Bannerlord)
39297 kernel32.IsValidCodePage and friends don't support code page 708.
46950 UFOHD2 crashes when trying to open camera preview
47771 Multiple games have broken mouse movement (Alan Wake, Hard Reset, Battlefield 3, Watch Dogs, Sniper Elite V2 Remastered)
47906 Alice Madness Return crashes
48336 Applications using MS ADO require Recordset Connect to be implemented (Enterprise Architect, Brickcom CMS client)
48717 Saints Row 2 needs xactengine3_2.dll
49012 Application build with .NET CoreRT crashes due to FLS callbacks not being called
49044 CPU-Z 1.92 crashing on startup
49450 Adobe Shockwave Player 11.x plugin installer fails with jscript:cc_parser_parse '&&' expression not implemented
49529 5.12 regression: Wine segfaults if the +heap debug channel is enabled
49661 Red Evil:black screen in game.
49673 Backpacker 3:Americana:unhandled exception
49679 Visual Studio 98 and Visual Basic 6 installers hang
49808 Stellaris loads very slowly
49814 FreeBSD 12.1 undebuggable crash on startup (regression)
49821 Seismobuild crashes at start
49860 Dungeons & Dragons Online 64bit client fails to start in wine-5.16, 5.17, 5.18
49904 all wine processes show a definite leak in load_libwine()
49950 d3d10:reflection tests crash
49960 The Sims Complete Collection is stuck on playing intro
49966 powershell_ise.exe fails with Unhandled Exception: System.NotImplementedException: The method or operation is not implemented. at System.Runtime.InteropServices.Marshal.ThrowEx
49982 A '(call )' line does not reset %ERRORLEVEL% to 0
49997 Capella no yakusoku: Game doesn't start (black screen)
50000 Wineconsole crashes on F8
50004 Python script hangs when pipe IPC is used
50008 Metro Exodus fails to launch since commit fde5967f725624c5ee4995dcbe22f262979c5c9c
50016 PS Remote Play can't install: "To use PS Remote Play, update your PC's OS to the latest version, and then install the Media Feature Pack from Microsoft."
50020 mf:mf tests crash on Windows 7
50025 Cannot run Line (chat app) on Wine
----------------------------------------------------------------
Changes since 5.19:
Aaron Hill (1):
cmd: Set errorlevel to 0 when 'call' is invoked with an empty string.
Akihiro Sagawa (1):
documentation: Update Japanese translation.
Alexandre Julliard (20):
makefiles: List all possible targets in the stub makefiles.
winebuild: Add __imp_ label on the import data for delayed imports.
server: Create the NLS directory.
ntdll: Make NtGetNlsSectionPtr() into a proper Nt syscall.
gdi32: Move the font driver out of freetype.c.
gdi32: Move the other exported freetype functions to the font backend table.
gdi32: Move the realized font handle allocation out of freetype.c.
gdi32: Move the font cache list out of freetype.c.
gdi32: Move the font file information out of freetype.c.
gdi32: Move the font name information out of freetype.c.
gdi32: Move the font charset information out of freetype.c.
gdi32: Move the font realization information out of freetype.c.
gdi32: Move more font metrics information to the generic font structure.
gdi32: Move the glyph metrics cache out of freetype.c.
gdi32: Move the font critical section out of freetype.c.
gdi32: Move the get_glyph_outline() helper to the font function interface.
gdi32: Move the GetFontFileData() implementation out of freetype.c.
gdi32: Move the GetGlyphIndices() implementation out of freetype.c.
gdi32: Don't bother caching the font type.
makefiles: Explicitly create destination dirs when installing symlinks.
Alistair Leslie-Hughes (5):
xactengine3_7: Initial IXACT3Engine tests.
sapi: Return a default token in ISpVoice::GetVoice
msado15: Implement _Connection Open.
server: Fix compile error when irda.h is available.
msado15: Implement _Recordset get/put CursorType.
Anton Baskanov (1):
amstream: Implement SSUPDATE_CONTINUOUS flag in IDirectDrawStreamSample::Update.
Arkadiusz Hiler (1):
user32: Implement GetMouseMovePointsEx().
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Austin English (5):
qedit: Add a version resource.
qasf: Add a version resource.
dsdmo: Add a version resource.
dplaysvr: Add stub program.
dpvsetup: Add stub program.
Brendan Shanks (2):
winemac: Remove unused GetCurrentProcess() call.
mountmgr: Avoid unnecessary permission prompts on macOS 10.15 and newer.
Damjan Jovanovic (1):
riched20: Implement ITextRange/ITextSelection Copy and Cut.
Daniel Lehman (1):
tzres: Add Eastern Standard Time (Mexico) Zone.
Derek Lesho (1):
mfplat: Fix asynchronous object creation from URL.
Dmitry Timoshkov (1):
advapi32/tests: Add QueryServiceStatusEx test for the EventLog service.
Esme Povirk (9):
windowscodecs: Add a unix library and start to use it for PNG.
windowscodecs: Start loading PNG in unix lib.
windowscodecs: Get PNG frame information from unix lib.
windowscodecs: Move PNG CopyPixels to unix lib.
windowscodecs: Use the unix library to find PNG metadata.
windowscodecs: Use unix lib to get PNG color contexts.
windowscodecs: Do not call png_read_end.
windowscodecs: Add a general wrapper around the decoder interface.
mscoree: Implement GetTokenForVTableEntry.
Georg Lehmann (3):
winevulkan: Generate helpers for wrapped handles.
winevulkan: Store a mapping from native handles to wrappers.
winevulkan: Implement VK_EXT_debug_utils.
Gijs Vermeulen (1):
qcap/capturegraph: Return E_POINTER when ICaptureGraphBuilder2::FindInterface() is called with NULL filter.
Hans Leidekker (27):
dssenh: Don't store the algorithm handle for hashes.
dssenh: Implement CPDuplicateHash.
dssenh: Implement CPDuplicateKey.
dssenh: Implement CPGenRandom.
dssenh: Set last error in CPHashData.
bcrypt: Add support for duplicating asymmetric keys.
dssenh: Implement CPExportKey.
dssenh: Implement CPSignHash.
dssenh: Implement CPVerifySignature.
dssenh: Implement CPGenKey.
bcrypt/tests: Fix a key handle leak.
bcrypt: Copy all fields in key_duplicate.
dssenh: Implement CRYPT_DELETEKEYSET.
dssenh: Implement CPGetUserKey.
dssenh: Access the hash value directly in CPSignHash and CPVerifySignature.
dssenh: Implement CPSetHashParam.
dssenh: Add support for exporting private keys.
dssenh/tests: Add tests for CryptDuplicateKey.
dssenh: Always duplicate container keys.
dssenh: Add support for importing version 3 public keys.
dssenh: Implement CRYPT_MACHINE_KEYSET.
dssenh: No longer prefer native.
bcrypt: Use internal helpers to generate hashes.
msado15: Use correct string type for default provider.
msado15: Avoid a crash with tracing on.
wbemprox: Also return system properties from IWbemClassObject::GetNames.
wbemprox: Implement IWbemClassObject::GetMethodQualifierSet.
Haoyang Chen (2):
gdiplus: Fix texture brush rotation.
wbemprox: Implement Win32_SoundDevice.Status.
Henri Verbeet (5):
wined3d: Make adapter_vk_clear_uav() static.
wined3d: Avoid accessing NULL depth/stencil state in wined3d_context_vk_update_graphics_pipeline_key().
wined3d: Clear the graphics pipeline key stencil test state when the stencil test is disabled.
wined3d: Do not invalidate STATE_RENDER(WINED3D_RS_TWOSIDEDSTENCILMODE).
wined3d: Use wined3d_get_primary_adapter_luid() if we didn't get a valid LUID from Vulkan.
Huw D. M. Davies (50):
riched20: Use a structure to hold the repaint range.
riched20: Use ME_Paragraph ptrs for the update range.
riched20: Use the table_row_start/end() helpers.
riched20: Use ME_Paragraph and ME_Run ptrs in GetCursorCoordinates().
riched20: Use ME_Paragraph ptrs in InternalDeleteText().
riched20: Use paragraph and run ptrs in InsertTextFromCursor().
riched20: Use the run and para helpers in the cursor movement functions.
riched20: Use paragraph ptrs in FindPixelPos().
riched20: Pass a run ptr to the run joining function.
riched20: Return a run ptr from the run creation function.
riched20: Return a run ptr from the run splitting function.
riched20: Don't mark the diTextStart paragraph as requiring repainting.
riched20: Don't return the diTextStart paragraph from para_prev().
riched20: Use run ptrs in SetCharFormat().
riched20: Return a run ptr from the run insert function.
riched20: Use run ptrs in GetCharFormat().
riched20: Simplify the cursor from char offset function.
riched20: Simplify the char offset from run offset function.
riched20: Remove InternalInsertTextFromCursor().
riched20: Use a run ptr in GetXForArrow().
riched20: Pass a paragraph ptr to the table update flags function.
riched20: Return a paragraph ptr from the paragraph creation function.
riched20: Use paragraph and run ptrs in the paragraph splitting function.
riched20: Pass a run ptr to, and return a para ptr from, the para splitting function.
riched20: Pass and return a paragraph ptr in the paragraph joining function.
riched20: Pass a paragraph ptr to the paragraph destruction function.
riched20: Pass a paragraph ptr to a couple of the drawing helpers.
riched20: Pass a run ptr to the run drawing function.
riched20: Use helpers in the cursor to start/end functions.
richedit: Use the correct ptr to the cell.
riched20: Pass run ptrs to the font and colour table writer function.
riched20: Pass paragraph ptrs to the paragraph property writers.
riched20: Update both co-ords during layout.
riched20: Start re-wrap loop at the beginning of any table.
riched20: Don't split the paragraph at the first \intbl.
riched20: Use the paragraph and run helpers in the delete text function.
riched20: Remove a redundant condition.
riched20: Pass a cursor ptr to the insert style retrieval function.
riched20: Pass and return paragraph ptrs in the table append row function.
riched20: Return a paragraph ptr from the table insert helper.
riched20: Return a para ptr from the insert start table row functions.
riched20: Return paragraph ptrs from the remaining table insert functions.
riched20: Use cell ptrs in the rtf parsing code.
riched20: Use cell ptrs in the rtf writing code.
riched20: Simplify some of the drawing code using a few helpers.
riched20: Use cell and para ptrs in the table border drawing function.
riched20: Use cell ptrs in the wrapping functions.
riched20: Use cell ptrs in the table position to offset function.
riched20: Use run and para ptrs in the cursor move lines function.
riched20: Remove the caret at end hack.
Jacek Caban (32):
conhost: Support window resizing.
conhost: Import scrolling support from wineconsole.
conhost: Store title as zero terminated string.
conhost: Set console window title.
kernelbase: Use conhost in AllocConsole.
wineconsole: Reimplement as AllocConsole wrapper.
kernel32: Always use conhost for WriteConsoleW.
kernel32: Always use conhost for ReadConsoleW.
kernel32: Move ReadConsole and WriteConsole to kernelbase.
kernelbase: Remove window position adjustment from SetConsoleCursorPosition.
kernelbase: Remove no longer needed free_console server call from FreeConsole.
server: Remove no longer used console requests.
server: Remove no longer needed server-side screen buffer ioctls.
server: Remove no longer needed server-side console input ioctls.
server: Remove no longer needed console_input fields.
server: Remove no longer needed screen_buffer fields.
server: Remove no longer needed console_input_events_append.
server: Remove no longer used console renderer object.
kernel32/tests: Use current console input in test_ReadConsole.
console: Don't allow blocking read ioctls on screen buffer object.
conhost: Fix check for the last history index in edit_line_find_history.
conhost: Remove no longer needed SET_CONSOLE_INPUT_INFO flags.
conhost: Remove no longer needed CHAR_INFO_MODE_TEXTSTDATTR.
conhost: Remove no longer needed SET_CONSOLE_OUTPUT_INFO flags.
conhost: Remove no longer needed condrv_input_info fields.
kernel32/tests: Add more FlushConsoleInputBuffer tests.
kernel32: Use new IOCTL_CONDRV_SCROLL ioctl for FlushConsoleInputBuffer implementation.
kernel32: Move FlushConsoleInputBuffer to kernelbase.
server: Implement console input flush in server.
kernel32: Import FlushFileBuffers from kernelbase.
conhost: Remove no longer needed non-blocking IOCTL_CONDRV_READ_INPUT.
kernelbase: Move console code page validation to conhost.
Jan Sikorski (4):
dbghelp: Avoid forwarded exports.
windowscodecs: Add a missing FIXME.
windowscodecs: Add 32bppRGBA to 32bppBGRA copy.
windowscodecs/tests: Add 32bppRGBA/BGRA converter tests.
Jeff Smith (1):
comdlg32: Set background to transparent for font dialog sample text.
Joachim Priesner (1):
ntdll: Fix read buffer overflow in find_file_in_dir().
Julian Rüger (1):
documentation: Update German translation.
Lauri Kenttä (1):
po: Update Finnish translation.
Liam Middlebrook (1):
winevulkan: Update to VK spec version 1.2.158.
Louis Lenders (1):
dwmapi: Quiet noisy fixme.
Matteo Bruni (1):
d3dcompiler/tests: Always expect failure in test_reflection_desc_ps_output() on d3d10.
Michael Stefaniuc (40):
qmgr: Use wide-char string literals.
ntdsapi: Use wide-char string literals.
write: Use wide-char string literals.
plugplay: Use wide-char string literals.
spoolsv: Use wide-char string literals.
termsv: Use wide-char string literals.
presentationfontcache: Use wide-char string literals.
winmgmt: Use wide-char string literals.
localui: Use wide-char string literals.
localui/tests: Use strings instead of arrays of chars.
wer: Use wide-char string literals.
iexplore: Use wide-char string literals.
opcservices: Use wide-char string literals.
msisip: Use wide-char string literals.
spoolss: Use wide-char string literals.
lz32/tests: Use wide-char string literals.
taskmgr: There's no need to GetProcAddress() IsHungAppWindow().
taskmgr: SwitchToThisWindow() is available, remove alternate code path.
wbemprox: Use 0 terminated WCHAR strings in wql.y.
wbemprox: Use wide-char string literals.
explorer: Use the WCHAR string version of LoadLibrary.
taskmgr: Shell32 is imported, no need to load it again.
rpcss: Use wide-char string literals.
taskmgr: Use GetGuiResources() directly.
dsound: Use wide-char string literals.
schtasks/tests: Use wide-char string literals.
uxtheme/tests: Use wide-char string literals.
find: Use wide-char string literals.
uxtheme: Use wide-char string literals in struct initialization.
uxtheme: Use wide-char string literals.
taskmgr: Use NtQuerySystemInformation() directly.
taskmgr: Use two kernel32 functions directly.
xcopy: Use wide-char string literals.
ipconfig: Use wide-char string literals.
xcopy: Avoid an empty if-block.
msi: Use 0 terminated WCHAR strings in the SQL tokenizer.
cryptnet/tests: Change the scope of a variable from global to local.
cryptnet: Use wide-char string literals.
inetcomm: Zero terminate the mhtml WCHAR strings.
inetcomm: Use wide-char string literals.
Myah Caron (2):
kernelbase: Use command_lineW for GetCommandLineW.
kernelbase: Remove DECLSPEC_HOTPATCH for GetCommandLine[AW].
Nikolay Sivov (57):
kernelbase: Add a name for codepage 708.
dbgeng/tests: Use different flags for unsupported options.
mfplat/mediatype: Enable IMFVideoMediaType based on major type.
mfplat/mediatype: Add IMFAudioMediaType stub.
evr/mixer: Add SetOutputBounds().
evr/mixer: Use regular media type interface for input streams.
evr/mixer: Use regular media type interface for the output stream.
evr/mixer: Implement SetOutputType().
dxva2/tests: Add a test for GetVideoProcessorDeviceGuids().
d3d11/tests: Add some more tests for device context state.
mf/evr: Do not use IMFVideoMediaType when setting mixer types.
mf/evr: Trigger media type negotiation through presenter for reference stream.
evr/tests: Add a test for MF_SA_REQUIRED_SAMPLE_COUNT.
evr/mixer: Keep original media type instances for inputs.
evr/tests: Use wide string literals.
evr: Add already implemented functions from mfplat.dll.
evr: Partially implement MFCreateVideoSampleFromSurface().
evr/sample: Implement IMFDesiredSample.
evr/sample: Add a surface buffer on sample creation.
evr/sample: Implement GetService() for surface buffers.
mf/evr: Add attributes store for the sink.
mf/evr: Add default attributes on sink creation.
evr/tests: Add a mixer tests for clearing output in idle state.
mf/tests: Add a test for EVRConfig_ handling for already initialized presenter.
mf/evr: Add per-stream lock.
mf/evr: Implement NotifyPreroll().
mf/evr: Implement stream state change events.
server: Handle duplicate handles when inheriting them for the new process.
comsvcs: Create MTA without initialization thread.
include: Fix typo in IDirectXVideoProcessor argument name.
dxva2: Fix new handle flags initialization.
dxva2: Add video processor stub.
dxva2: Add GetCreationParameters().
evr/mixer: Keep one input sample per stream.
evr/mixer: Map render target type to video processor guid that supports it.
ntdll/actctx: Handle empty <dependency> element.
dxva2: Fix valid handle range test.
evr/mixer: Keep dxva device handle around.
evr/mixer: Create dxva processor when output type is set.
evr/mixer: Ignore draining command.
evr/mixer: Drop input samples on flush.
evr/mixer: Maintain streaming state flag.
comsvcs/tests: Close test thread handles.
mf/sar: Use advertised type in IsMediaTypeSupported().
evr/mixer: Implement GetInputStatus().
evr/mixer: Implement GetOutputStatus().
evr/mixer: Fill output surfaces when not streaming.
evr/mixer: Only accept single output buffer in ProcessOutput().
evr/presenter: Add IMFVideoPositionMapper stub.
evr/sample: Implement SetDirectXManager().
mf/evr: Create sample allocators on demand.
mf/evr: Set the device manager for sample allocators.
mfplat: Implement DXGI device manager handle management.
mfplat: Implement GetVideoService() for the device manager.
mf: Add default attributes for sample copier.
evr/mixer: Send sample requests when switching to streaming mode.
evr/mixer: Request more sample on successful ProcessOutput().
Paul Gofman (10):
ntdll: Always align stack in call_user_apc_dispatcher() on x86_64.
ntdll: Zero all FLS slots instances in RtlFlsFree().
ntdll: Call FLS callbacks.
ntdll: Support AVX registers for other thread in Nt{Get|Set}ContextThread().
ntdll/tests: Test getting and setting AVX registers for the other thread.
ntdll/tests: Test AVX context with debugger.
kernelbase: Fix status check in GetExitCodeProcess().
server: Add SeTcbPrivilege (SE_TCB_NAME) to the list of admin privileges.
wined3d: Add GPU information for NVIDIA GeForce GTX 1080 Mobile.
ntdll: Fix xmm registers copy offset in call_consolidate_callback() on x86_64.
Piotr Caban (3):
ucrtbase: Support UTF8 codepage in _wcstombs_l.
ucrtbase: Support UTF8 codepage in _wctomb_s_l.
ucrtbase: Support UTF8 codepage in wctomb.
Robert Wilhelm (3):
jscript: Cc_parser_parse implement '&&' expression.
vbscript: Add is_default flag to function_decl_t.
vbscript: Support class default sub.
Roman Pišl (1):
kernelbase: Fix comment and trace message in console.
Sven Baars (3):
evr/tests: Fix a test failure on Windows 7.
mmdevapi/tests: Fix some test failures on Windows <= 7.
d3dcompiler: Fix a leak on error path (Coverity).
Vijay Kiran Kamuju (1):
hnetcfg: Return S_OK in get_StaticPortMappingCollection.
Zebediah Figura (20):
strmbase: Print colorimetry information in strmbase_dump_media_type().
ws2_32/tests: Rewrite the CF_DEFER test in test_AcceptEx().
ws2_32/tests: Remove some workarounds for no longer supported versions of Windows.
ws2_32/tests: Remove workarounds from test_events().
ws2_32/tests: Fix a test failure on w10pro64.
ws2_32/tests: Add more tests for passing short buffers to AcceptEx().
wine.inf: IsInstalled is a DWORD value.
wintrust: Stub CryptCATPutMemberInfo().
wintrust: Stub CryptCATPersistStore().
wintrust: Stub CryptCATPutAttrInfo().
wintrust: Stub CryptCATPutCatAttrInfo().
mssign32: Stub SignerSign().
ws2_32/tests: Fix an intermittent test failure on w10pro64.
ws2_32: Use server-side async I/O in AcceptEx().
ws2_32: Use server-side async I/O in accept().
server: Forbid accepting into the same socket more than once.
quartz: Return the paused timestamp from IMediaSeeking::GetCurrentPosition() if the graph is running asynchronously.
winegstreamer: Respect integer promotion rules when clamping timestamp + diff.
winegstreamer: DirectShow and GStreamer proportions are inverted with respect to each other.
quartz/tests: Use compare_double() to test IBasicVideo::get_AvgTimePerFrame().
Zhiyi Zhang (4):
wined3d: Clean up swapchain state on wined3d_swapchain_init() failure paths.
ddraw/tests: Use the correct version of DirectDraw calls.
ddraw/tests: Fix possible memory leaks.
dxgi/tests: Fix a window leak in test_inexact_modes().
Ziqing Hui (2):
gdiplus/tests: Add tests for GdipMeasureString with StringFormatFlagsNoWrap.
gdiplus: Support StringFormatNoWrap for GdipMeasureString.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.19 is now available.
What's new in this release (see below for details):
- Wine Mono engine updated to 5.1.1, with WPF text formatting support.
- KERNEL32 library converted to PE.
- DSS cryptographic provider.
- Windowing support in the new console host.
- A number of exception handling fixes.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.19.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.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 5.19 (total 27):
15437 Multiple programs using madCodeHook crash (in-memory PE image of Wine builtins vs. ELF image on disk)
29926 Multiple games need IDirectDrawStreamSample::Update() (Beach Life, The Sims Complete Collection, Risk II, Earth 2150, Need for Russia)
31342 Multiple applications need msvcirt.dll.??0ofstream@@QAE@XZ (Trespasser, Max Payne 1, 3Dmark1999 MAX, 3Dmark2000, 3Dmark2001 SE, GraphCalc, Charon)
39123 Fairy Fencer F depends on NtQuerySystemInformation(SYSTEM_INTERRUPT_INFORMATION) volatility for random number generation
45090 (nearly) every test shows a leak in kernel32/{console,term}.c
45331 Exile: Escape From the Pit crashes after splash screen
45400 eden* (VN) some font characters display with the wrong glyph (capitals/spaces)
45489 World of Warcraft needs GetRawInputBuffer
46588 Cegid Business Line installer fails in custom script action installing "BLJNR.MSI" component.
48529 Avencast: Rise of the Mage fails to launch
49172 Always true condition `code > 0xffff` in vbscript/global.c
49367 1971 Project Helios shows a black screen
49470 Silent Hill 4 crashes when a person is suppose to scream.
49549 winetricks -q dotnet45 leaves dozens of mscorsvw.exe processes
49586 valgrind shows a leak in dlls/ntdll/env.c:set_wow64_environment()
49659 Multiple games crash on launch (Mahjong Titans, Resident Evil HD Remaster, Resident Evil 0 HD Remaster)
49857 NCLauncher2: Crypto error on a successful login
49873 Warzone 2100 crashes on unimplemented function api-ms-win-crt-convert-l1-1-0.dll.strtold
49894 Regression in "kernelbase: Use conhost to handle Unix consoles."
49895 [Regression] Steam fails to load pages
49899 Multiple games need IDirectDrawMediaStream::NewSegment() implementation (The Sims Complete Collection, Earth 2150, Beach Life, Risk II, Need for Russia)
49906 Fallout New Vegas: broken gog installation
49909 Win Toolkit v.1.4.37.20 (.NET 3.5 app) crashes with wine-mono
49911 Sebastien Loeb Rally EVO 64-bit version crashes with builtin xactengine3_7
49924 IP address control does not focus its fields on focus change
49929 Game for Windows Live installer fails with 'winetricks -q gfw'
49946 Themida-packed application crashing on multi-hop import forward
----------------------------------------------------------------
Changes since 5.18:
Akihiro Sagawa (3):
kernelbase: Improve Get{, Dynamic}TimeZoneInformation() performance.
kernelbase: Fix copy and paste error.
configure: Fix a typo in comparison.
Alexandre Julliard (25):
configure: Require 64-bit compare-and-swap support from gcc.
ws2_32: Retrieve the FQDN only when necessary in getaddrinfo().
wineboot: Set the computer name keys.
kernel32: Remove the setting of the computer name keys.
ntdll: Delay ntdll.dll loading until more initialization is done.
ntdll: Use the standard code path to load ntdll.dll.
ntdll: Use load_dll() to load kernel32 to support PE format.
kernel32: Build with msvcrt.
configure: Don't disable ntdll or kernel32 for Windows builds.
bcrypt: Add a helper function to create an asymmetric key.
bcrypt: Move the public key initialization to the generic code.
bcrypt: Move setting a symmetric key vector to the generic code.
bcrypt: Move the symmetric key initialization to the generic code.
bcrypt: Add separate backend functions for destroying symmetric/asymmetric keys.
bcrypt: Split the key structure into generic and backend-specific parts.
bcrypt: Move the backend code to a new Unix library.
bcrypt: Build with msvcrt.
ntdll: Fix handle/module confusion in Unix module loading.
gdi32: Move font codepage setup out of freetype.c.
odbc32: Use the exported names for the implementation functions.
odbc32: Move the Unix functions interface to a new Unix library.
odbc32: Build with msvcrt.
gdi32: Store the face filename as a DOS path.
gdi32: Compare DOS filenames instead of Unix stat information for font files.
gdi32: Store face data as a single binary value in the registry cache.
Alistair Leslie-Hughes (6):
xactengine3_7: Explicity copy the XACT_RUNTIME_PARAMETERS members.
include: Add more SCARD defines.
msado15: Implement _Connection Get/Put Provider.
msado15: Implement _Connection get/put Mode.
msado15: Implement _Connection get/put CursorLocation.
msado15: Implement _Command get/putref ActiveConnection.
Andrew Eikum (8):
audioclient.idl: Declare IAudioClient2.
mmdevapi: Stub implement IAudioClient2.
mmdevapi: Implement IsOffloadCapable.
mmdevapi: Implement SetClientProperties.
audioclient.idl: Declare IAudioClient3.
mmdevapi: Stub implement IAudioClient3.
include: Add a few more stream categories.
mmdevapi: Implement ActivateAudioInterfaceAsync.
Anton Baskanov (9):
amstream: Implement IDirectDrawStreamSample::CompletionStatus.
amstream: Implement IDirectDrawStreamSample::GetSampleTimes.
amstream: Implement AMDirectDrawStream::BeginFlush and ::EndFlush.
amstream: Implement AMDirectDrawStream::NewSegment.
winegstreamer: Use RGB15/16 formats instead of BGR15/16.
winegstreamer: Fix RGB565 conversion in amt_from_gst_video_info().
winegstreamer: Add a second videoconvert to handle 15/16-bit RGB formats.
winegstreamer: Expose 15/16-bit RGB formats.
amstream: Reference the multimedia stream in ddraw stream sample.
Arkadiusz Hiler (1):
gdi32: Limit GetGlyphOutlineW(uChar) to a WORD.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Biswapriyo Nath (6):
include: Set D3D_COMPILER_VERSION to 47, if not defined.
include: Add the D3D12_SHADER_VERSION_TYPE enumeration.
include: Add MFPMPSESSION_CREATION_FLAGS enumeration in mfidl.idl.
include: Fix CancelObjectCreation name in IMFSourceResolver interface.
include: Add IMFMetadata interface in mfidl.idl.
include: Add IMFMetadataProvider interface in mfidl.idl.
Chao Long (1):
ole32: Check for NULL parameter in ReleaseStgMedium().
Christian Costa (1):
d3dx9: Ignore vertices reordering for D3DXMESHOPT_ATTRSORT in OptimizeInPlace().
Daniel Lehman (5):
vcruntime140_1: Terminate on noexcept function trying to propagate exception.
tzres: Add North Korea Time Zone.
msxml3/tests: Add some removeNamedItem tests.
msxml3: Handle namespaces in removeNamedItem.
tzres: Add Cuba Time Zone.
Derek Lesho (3):
winegstreamer: Add a GstPad wrapping the media source's bytestream.
winegstreamer: Use decodebin to initialize media streams.
winegstreamer: Implement IMFMediaStream::GetStreamDescriptor.
Dmitry Timoshkov (2):
wevtsvc: Add EventLog service stub.
sxs: Fix off by 1 error when allocating memory.
Esme Povirk (2):
mscoree: Update Wine Mono to 5.1.1.
dism: Add version resource.
François Gouget (1):
d3dcompiler_43/tests: Fix the spelling of a couple of ok() messages.
Gabriel Ivăncescu (1):
qedit/nullrenderer: Wait in Receive() while paused.
Gerald Pfeifer (1):
winevdm: Abstract references to /dosbox.
Gijs Vermeulen (1):
ucrtbase: Add [_]strtold[_l].
Hans Leidekker (13):
dssenh/tests: Get rid of workarounds for old Windows versions.
bcrypt: Fix buffer size query in BCryptSignHash.
bcrypt: Fix buffer size query in BCryptExportKey.
bcrypt: Convert legacy DSA key parameters to and from little-endian format.
bcrypt: Add support for exporting legacy DSA public keys.
bcrypt: Add support for importing legacy DSA public keys.
dssenh: Add stub implementations for a couple of functions.
dssenh: Register the DSS provider.
dssenh: Implement CPAcquireContext and CPReleaseContext.
dssenh: Implement CPCreateHash and CPDestroyHash.
dssenh: Implement CPHashData.
dssenh: Implement CPGetHashParam.
dssenh: Implement CPImportKey and CPDestroyKey.
Henri Verbeet (9):
include: Update the d3d12 headers from vkd3d.
wined3d: Copy the correct "binding_base" size in shader_spirv_select().
wined3d: Implement rasteriser discard for the Vulkan adapter.
wined3d: Initialise the list of Vulkan device extensions during adapter initialisation.
wined3d: Only store unique stream output descriptions.
wined3d: Implement vertex shader stream output in the SPIR-V shader backend.
wined3d: Implement stream output for the Vulkan adapter.
wined3d: Implement stream output queries for the Vulkan adapter.
include: Update d3d12sdklayers.idl from vkd3d.
Hirofumi Katayama (1):
comctl32/ipaddress: Focus first field on WM_SETFOCUS.
Huw D. M. Davies (13):
include: Fix TXTVIEW_INACTIVE to be -1.
riched20: Simplify FindPixelPos().
riched20: Simplify SplitByBacktracking().
riched20: Move several of the wrapping functions to use ME_Run directly.
riched20: Store a ME_Paragraph ptr in the wrap context.
riched20: Pass a ME_Paragraph ptr to WrapTextParagraph().
riched20: Pass a ME_Paragraph ptr to itemize_para().
riched20: Pass a ME_Paragraph ptr to shape_para().
riched20: Pass a ME_Paragraph ptr to the marking functions.
riched20: Use ME_Paragraph ptrs to iterate in WrapMarkedParagraphs().
riched20: Move the marked paragraph list to a rbtree.
riched20: Don't create a display context in InvalidateParagraphRange().
riched20: Use ME_Paragraph ptrs in a few of the table functions.
Jacek Caban (22):
conhost: Call ensure_tty_input_thread in IOCTL_CONDRV_PEEK implementation.
conhost: Clear out_size in IOCTL_CONDRV_READ_CONSOLE implementation.
server: Don't propagate STATUS_PENDING in get_next_console_request request.
server: Use set_active_screen_buffer for consoles attached to server.
conhost: Scroll window to cursor position when needed.
conhost: Don't create tty input thread if we don't have tty_input handle.
kernel32/tests: Move pseudo console tests before FreeConsole.
conhost: Use better default values in create_screen_buffer.
kernel32/tests: Improve current console test mode.
conhost: Initial support for creating console window.
conhost: Pump window messages when we have a window.
conhost: Import loading console config from wineconsole.
conhost: Import font selection support from wineconsole.
conhost: Import window state update from wineconsole.
conhost: Update window config in ioctl handlers when needed.
conhost: Support painting screen buffer.
conhost: Rename version.rc to conhost.rc.
conhost: Import menus from wineconsole.
conhost: Import keyboard event handling from wineconsole.
conhost: Import mouse event handling from wineconsole.
conhost: Import config dialog from wineconsole.
conhost: Import menu handling from wineconsole.
Julian Rüger (1):
po: Update German translation.
Józef Kucia (1):
include: Move the ID3D12Debug interface to d3d12sdklayers.idl.
Kevin Puetz (8):
oleaut32/tests: Include [dual] interface in test_dump_typelib.
oleaut32: FUNC_DISPATCH from dispinterface should have oVft == 0.
oleaut32: Overwrite return type when rewriting FUNCDESC to FUNC_DISPATCH.
oleaut32: Omit [lcid] parameter when rewriting FUNCDESC to FUNC_DISPATCH.
oleaut32: Make GetNames omit same parameters as GetFuncDesc.
oleaut32/tests: Add tests for rewriting FUNCDESC to FUNC_DISPATCH.
include: Fix undefined char16_t in C11.
vbscript: Implement redim preserve.
Liam Middlebrook (2):
winevulkan: Add --xml argument to make_vulkan.
winevulkan: Update to VK spec version 1.2.155.
Louis Lenders (2):
ntdll: Bump Win 10 version to 17763.
kernelbase: Return S_OK in WerSetFlags.
Martin Storsjo (6):
winebuild: Add unwind info to arm64 syscall stubs.
msvcrt: Hook up __C_specific_handler for arm64.
ntdll: Unwind to the LR register if no unwind info is available.
ntdll: Restore the original Lr value when unwinding through raise_func_trampoline on arm64.
ntdll: Clear ExceptionFlags on arm64 after running an exception handler.
ntdll: Fix nested exceptions on arm64.
Matteo Bruni (2):
winex11: Fix monitor_id_fmtW variable name typo.
winex11: Add DriverDate registry property to display adapters.
Michael Stefaniuc (80):
dswave: Simplify the stub WAVE IPersistStream_Load().
gdiplus: Remove superfluous cast to self.
shell32: Remove superfluous cast to self.
shlwapi: Remove superfluous cast to self.
oleaut32: Remove superfluous casts.
atl80/tests:Use wide-char string literals.
browseui: Use wide-char string literals.
d2d1/tests:Use wide-char string literals.
comcat/tests: Use wide-char string literals.
comsvcs/tests: Use wide-char string literals.
d3dx10/tests: Use wide-char string literals.
d3dx11/tests: Use wide-char string literals.
d3dx9/tests: Use wide-char string literals.
dhcpcsvc/tests: Use wide-char string literals.
faultrep: Use wide-char string literals.
dplayx: Use wide-char string literals.
fltmgr.sys: Use wide-char string literals.
fntcache: Use wide-char string literals.
httpapi: Use wide-char string literals.
http.sys: Use wide-char string literals.
imaadp32.acm: Use wide-char string literals.
infosoft/tests: Use wide-char string literals.
jsproxy: Use wide-char string literals.
mciqtz32: Use wide-char string literals.
msadp32.acm: Use wide-char string literals.
msftedit: Use wide-char string literals.
explorerframe: Use wide-char string literals.
mciavi32: Use wide-char string literals.
hlink: Use wide-char string literals.
mcicda: Use wide-char string literals.
mciseq: Use wide-char string literals.
dxdiagn/tests: Use wide-char string literals.
mciwave: Use wide-char string literals.
midimap: Use wide-char string literals.
mlang: Use wide-char string literals.
msacm32.drv: Use wide-char string literals.
msdmo/tests: Use wide-char string literals.
msg711.acm: Use wide-char string literals.
netcfgx/tests: Use wide-char string literals.
propsys: Use wide-char string literals.
slc/tests: Use wide-char string literals.
virtdisk/tests: Use wide-char string literals.
wiaservc: Use wide-char string literals.
xinput1_3: Use wide-char string literals.
xolehlp: Use wide-char string literals.
combase: Use wide-char string literals.
combase/tests: Use wide-char string literals.
conhost: Correct whitespace placement in a TRACE().
packager: Use wide-char string literals.
attrib: Use wide-char string literals.
cabarc: Use wide-char string literals.
clock: Use wide-char string literals.
control: Use wide-char string literals.
dxdiag: Use wide-char string literals.
extrac32: Use wide-char string literals.
hostname: Use wide-char string literals.
net: Use wide-char string literals.
schtasks: Use wide-char string literals.
vbscript/tests: Use wide-char string literals.
sc: Use wide-char string literals.
taskkill: Use wide-char string literals.
view: Use wide-char string literals.
winemine: Use wide-char string literals.
advpack: Don't use sizeof to calculate the length of a WCHAR string.
advpack: Use wide-char string literals.
atl: Use wide-char string literals.
quartz: Use wide-char string literals.
dinput8/tests: Use wide-char string literals.
dinput/tests: Use wide-char string literals.
joy.cpl: Use wide-char string literals.
avifil32: Use wide-char string literals.
msiexec: Use wide-char string literals.
bcrypt/tests: Use wide-char string literals.
msvcp110/tests: Use wide-char string literals.
progman: Use wide-char string literals.
rundll32: Use wide-char string literals.
regsvr32: Use wide-char string literals.
eject: Use wide-char string literals.
credui: Use wide-char string literals.
dpvoice: Use wide-char string literals.
Myah Caron (1):
ntoskrnl.exe: Stub MmProtectMdlSystemAddress.
Nikolay Sivov (53):
server: Inherit standard handles together with explicit handle list.
combase: Remove dead assignment (Coverity).
mfreadwrite/tests: Add return value test (Coverity).
include: Add DWRITE_MAKE_FONT_AXIS_TAG macro.
evr/mixer: Store input type attributes.
evr/mixer: Add IMFQualityAdvise stub.
evr/presenter: Add IMFGetService stub.
evr/presenter: Create device manager for the presenter.
evr/presenter: Create d3d device on presenter creation.
evr/presenter: Expose IMFVideoDisplayControl as a service.
evr/presenter: Keep video window handle.
evr/presenter: Maintain video position rectangles.
evr/presenter: Add missing method stubs.
msxml3/tests: Use wide string literals in more tests.
msxml3/tests: Fix tests failures with unreachable network resources.
comctl32/tests: Remove some workarounds from ListView tests.
rtworkq: Add remaining queue management stubs.
evr/presenter: Validate mixer's device id.
mf: Implement MFCreateVideoRenderer().
evr/presenter: Better validate input rectangles in SetVideoPosition().
evr/presenter: Check video window in SetVideoPosition().
evr/presenter: Set VIDEO_ZOOM_RECT on SetVideoPosition().
oleaut32: Do not forward IErrorInfo functions.
msxml3/tests: Use wide string literals in tests.
comctl32/tests: Remove skips from DPA tests.
ucrtbase: Add wcstold()/_wcstold_l().
msvcrt: Correct spec entries for _wcstod_l().
evr/presenter: Return default flags for GetRenderingPrefs().
evr/presenter: Check for null argument in GetVideoWindow().
evr/presenter: Validate passed handle on SetVideoWindow().
evr/mixer: Keep per-stream output rectangles.
evr/mixer: Keep per-stream zorder configuration.
evr/tests: Add some tests for presenter's GetNativeVideoSize().
evr/presenter: Request original reference frame size when attaching the mixer.
evr/presenter: Update cached native size on format negotiation.
evr/presenter: Initialize aspect ratio mode.
mfplat: Added MFBeginRegisterWorkQueueWithMMCSS().
mf/evr: Partially implement InitializeRenderer().
mf/evr: Provide device manager to the mixer.
mf/evr: Add IMFGetService stub for the streams.
mf/evr: Create sample allocator for each stream.
evr/allocator: Implement SetCallback().
evr/allocator: Implement GetFreeSampleCount().
comctl32/ipaddress: Select field contents on IPM_SETFOCUS.
comctl32/ipaddress: Fix IPM_SETFOCUS return value.
comctl32/ipaddress: Fix IPM_CLEARADDRESS return value.
comctl32/tests: Fix loop bounds.
mf/evr: Implement GetMediaTypeCount().
mf/evr: Implement GetMediaTypeByIndex().
mf/evr: Set stream media type to the mixer.
evr/mixer: Add support for MFT_SET_TYPE_TEST_ONLY for inputs.
mf/evr: Implement IsMediaTypeSupported().
nls: Build codepage data for CP708.
Owen Rudge (2):
wsdapi: Use wide character string literals.
wsdapi/tests: Use wide character string literals.
Paul Gofman (14):
wined3d: Fix 3d texture layer count for bind tracking.
wined3d: Use partial bind counts instead of partial bind flags.
kernel32/tests: Fix fiber test errors on newer Win10.
kernelbase: Move FlsAlloc() implementation to ntdll.RtlFlsAlloc().
kernelbase: Move FlsFree() implementation to ntdll.RtlFlsFree().
kernelbase: Move FlsSetValue() implementation to ntdll.RtlFlsSetValue().
kernelbase: Move FlsGetValue() implementation to ntdll.RtlFlsGetValue().
server: Check reply size when copying key full name.
server: Remove leftover dump in key_get_full_name().
ntdll: Introduce RtlProcessFlsData() and use it for FLS data destruction.
ntdll: Reimplement FLS data management on top of up to date structures.
kernel32/tests: Test FLS data storage structures.
ntdll: Allocate TEB FLS data in LdrInitializeThunk().
ntdll: Don't use PEB lock for FLS data.
Piotr Caban (7):
imm32: Exit early in ImmTranslateMessage when there was no new input.
winmm: Remove unneeded TIME_TimeToDie, the thread ends when list is empty.
winmm: Avoid allocations in timeSetEvent.
winmm: Destroy timer after calling callback.
winmm: Add more timer tests.
msvcrt: Terminate on noexcept function trying to propagate exception (i386).
msvcrt: Terminate on noexcept function trying to propagate exception (x86_64).
Robert Wilhelm (3):
vbscript: Global_Split free delimiter only if it was allocated.
vbscript: Allow public and private declarations in global scope.
vbscript: Fix return value of lookup_identifier().
Roberto Pungartnik (3):
po: Brazilian Portuguese update.
po: Update Spanish translation.
po: Update Spanish translation.
Rémi Bernon (7):
wbemprox: Set variant type to VT_NULL if BSTR is NULL.
wbemprox: Report 4095MiB video memory if it overflows.
dxgi/tests: Check that the last adapter is always WARP.
include: Split objidl.idl to objidlbase.idl.
include: Add IAgileObject to objidlbase.idl.
winex11.drv: Split clip cursor message in notify/request.
winex11.drv: Forward clip_fullscreen_window to foreground thread.
Sven Baars (3):
shell32: Fix a leak on error path (Coverity).
ntdll: Fix a memory leak (Valgrind).
vbscript: Avoid double frees on error path (Coverity).
Zebediah Figura (37):
wined3d: Free cached depth/stencil states in wined3d_device_uninit_3d().
wined3d: Move the depth write enable state to wined3d_depth_stencil_state.
wined3d: Move the stencil enable state to wined3d_depth_stencil_state.
wined3d: Move the stencil read mask to wined3d_depth_stencil_state.
wined3d: Move the stencil write mask to wined3d_depth_stencil_state.
ws2_32: Reimplement WSAEnumProtocols() using a flat array of WSA_PROTOCOLINFO structures.
ws2_32: Look for supported socket parameters if any parameters to WSASocket() are zero.
ws2_32: Add protocol information for TCP and UDP over IPv6.
ws2_32: Reimplement ws_protocol_info() using the supported_protocols array.
netprofm: Do not use the WS_ prefix.
wined3d: Move the stencil function to wined3d_depth_stencil_state.
wined3d: Move the stencil pass operation to wined3d_depth_stencil_state.
wined3d: Move the stencil fail operation to wined3d_depth_stencil_state.
wined3d: Move the stencil depth fail operation to wined3d_depth_stencil_state.
wined3d: Move the depth function to wined3d_depth_stencil_state.
wined3d: Introduce WINED3DFMT_FLAG_UNORDERED_ACCESS.
wined3d: Check for UAV support in wined3d_check_device_format.
d3d11: Report D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW in CheckFormatSupport().
d3d11/tests: Add a test for deferred context state management.
msdmo: Also handle ERROR_SUCCESS with nonzero size from RegQueryValueExW().
ws2_32: Pass Win32 socket types to the server.
ws2_32: Set default socket options in the server.
server: Return Win32 socket types from get_socket_info.
server: Remove redundant calls to sock_reselect().
d3d11/tests: Add a test for rendering with deferred contexts.
wined3d: Correct off-by-one errors when comparing against ARRAY_SIZE.
server: Introduce IOCTL_AFD_ACCEPT.
ws2_32: Use IOCTL_AFD_ACCEPT.
server: Remove the no longer used accept_socket request.
server: Introduce IOCTL_AFD_ACCEPT_INTO.
ws2_32: Use IOCTL_AFD_ACCEPT_INTO.
server: Remove the no longer used accept_into_socket request.
ws2_32/tests: Avoid using skip() or trace() for tests that should not fail.
ws2_32/tests: Make the tests less verbose by default.
ws2_32/tests: Link directly to more functions.
ws2_32/tests: Avoid ok(0, ...) where the condition can be checked directly.
qedit/tests: Add some basic tests for null renderer connection and streaming.
Zhiyi Zhang (8):
winemac.drv: Fix monitor_id_fmtW variable name typo.
dxgi/tests: Run test_get_containing_output() on d3d12 as well.
dxgi/tests: Run test_window_association() on d3d12 as well.
dxgi/tests: Run test_default_fullscreen_target_output() on d3d12 as well.
dxgi: Support creating a fullscreen swapchain on d3d12.
dxgi: Retrieve d3d12 swapchain fullscreen state from wined3d.
dxgi: Support Alt+Enter for d3d12 swapchains.
dxgi: Update swapchain containing output after Alt+Enter was used to exit fullscreen.
Ziqing Hui (4):
d3dx10: Move D3DX10GetImageInfo*() to texture.c.
d3dx10: Implement D3DX10GetImageInfoFromFileW().
d3dx10/tests: Add tests for D3DX10GetImageInfoFromFileA().
d3dx10: Implement D3DX10GetImageInfoFromFileA().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.18 is now available.
What's new in this release (see below for details):
- Vulkan shader compilation using the new vkd3d-shader library.
- USER32 library converted to PE.
- Console no longer requires the curses library.
- Support for display modes with various orientations.
- A number of syntax fixes in the WIDL compiler.
- Non-recursive makefiles.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.18.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.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 5.18 (total 42):
10603 IDirectSoundBufferImpl_SetFX needed for sound effects in several games
18670 QIP Infium 2.0 build 9030 crashes on exit (needs a proper implementation of WSACleanup)
21232 Multiple games and applications (Chromium-based browser engines, Blizzard games, League of Legends) crash due to hooking/anticheat validation (needs syscall thunks in ntdll.dll)
22749 Hard link creation from a Finddupe-generated batch file fails ('fsutil.exe' needs to support 'hardlink create' command)
35467 Multiple games crash on unimplemented function msvcirt.dll.??0fstream@@QAE@PBDHH@Z (Lock On: Modern Air Combat, TRON 2.0)
36960 Avencast: Rise of the Mage fails to start (D3DXCreateTextureFromFileA failed)
37254 wineconsole/curses.c fails to build on NetBSD 6.1.4
37491 wineconsole requires/uses TERM environment variable
37644 .NET console applications using System.Console.Clear() crash when directly started in terminal
38964 widl: inconsistent null pointer checks in typelib writer
39469 PreSonus Studio One 3 says it requires Windows 7 SP1 (d3d11 '{bb2c6faa-b5fb-4082-8e6b-388b8cfa90e1}', 'ID3D11DeviceContext1' not implemented)
43107 The Witcher 3 fails to detect dx11 - registry dx11>opengl applied
44422 Vectric Aspire 9 : it does not load 3d images
45433 dark souls 3: cannot change resolution in fullscreen mode
45573 League of Legends 8.12+ fails to start a game (anticheat engine, hooking of syscall return instructions)
45797 NVIDIA GeForce Experience 3.x installer fails due to 'mshtml.OleObject_{Get,Set}Extent' stubs
47251 add support for ConPTY API (pseudo console)
47491 dinput event queue is overflowing and stalling the whole game/wineserver
48396 'cmd.exe /c move file1 file2' doesn't respect non-interactive mode, causing prompt for overwrite if destination file exists
48397 'cmd.exe /c move file1 file2' doesn't overwrite existing destination file in non-interactive mode
48952 NVDA hangs on start
49038 O.E.D. v 4.0 (Oxford English Dictionary) No longer starts.
49206 ITHVNR: hooked processes segfault
49309 vbscript:run test fails in Japanese locale
49335 Dolphin EasyReader for Windows 6.04 (TTS app) crashes after completing startup wizard (needs IMarkupServices::CreateMarkupPointer method implementation)
49343 Neverwinter Online: Launcher crash on Startup
49532 .NET 4.0 and higher fail to install via winetricks
49591 Multiple GOG installers display the error message "Out of Global Vars range"
49624 Protocol error: process 0020: recvmsg: Message too long on mac OS
49643 Calling ClipCursor too frequently can cause stack overflow in foreground window thread.
49647 wine 5.14 build fails in winegstreamer on Ubuntu 16.04 and Debian 9
49738 "warning: implicit declaration of function ‘strtoumax’" when compiling PuTTY with Winelib
49765 SlingPlayer Desktop crashes on unimplemented function msvcrt._snprintf_c
49770 Firestorm viewer crashes
49774 macDriver no longer functions within macOS VM
49806 WIDL doesn't tolerate attribute [hidden] within enums.
49811 cmd /c "cd "directory"&&"somecommand.exe"" tries to cd to "directory"&&"somecommand.exe"
49820 VBScript fails to parse decimal literals between -1 and 1 without 0 in front
49834 45a63e5b3ce0e5d7fcc55ce57f315086b87f8ad7 breaks binary compatibility with 5.0 on passing main() argc
49847 Logos Bible 8: wineserver always using 100% CPU core
49850 No One Lives Forever crashes due to GetMotif stub in dmstyle
49889 wineserver shows failed assertion on shutdown
----------------------------------------------------------------
Changes since 5.17:
Akihiro Sagawa (1):
vbscript: Support non-Latin 1 characters in Asc.
Alexandre Abgrall (1):
msxml3: Fix value of 'fetched' in IEnumVARIANT::Next() for IXMLDOMSelection.
Alexandre Julliard (34):
vbscript: Add support for translating messages.
kernel32/tests: Avoid assumptions about the current working directory.
makefiles: Generate a single non-recursive makefile at the top level.
makefiles: Regenerate po files with full path information.
makefiles: Remove .. components from generated paths.
makefiles: Remove directory variables that are redundant with non-recursive make.
ntdll: Update argc when changing process name.
makefiles: Only add default libraries for Unix builds.
makefiles: Don't use default imports for Unix libraries.
makefiles: Define WINE_UNIX_LIB when building Unix libraries.
include: Don't use IsBadStringPtr in debug functions for Unix libraries.
crypt32: Move GnuTLS-specific helpers into the #ifdef.
ntdll: Add support for loading a Unix helper library from builtin dlls.
user32: Move PNG support to a new Unix library.
user32: Build with msvcrt.
user32: Use wide character string literals.
user32: Use wide character string literals for system parameter entries.
ntdll: Add inline wrappers for pthread mutex locking.
ntdll: Don't lock mutexes during process exit.
server: Add an object operation to retrieve an object name.
server: Return the device name for device files.
server: Return the device name for mailslot files.
server: Return the device name for named pipe files.
server: Implement object name information for registry keys.
server: Pass all creation arguments to the device creation functions.
server: Use OBJ_PERMANENT for permanent objects.
server: Rename make_object_static() to make_object_permanent().
server: Keep permanent objects on the standard object list.
server: Restart search from the start when releasing permanent objects at exit.
server: Initialize the object permanent flag.
makefiles: Don't build Unix object files on Windows.
include: Also define gethostname for msvcrt builds.
kernel32: Get rid of obsolete 16-bit relay functions.
kernel32: Make export directory writable to set FT_Thunk to 0.
Alistair Leslie-Hughes (6):
ws2_32: Map AI ALL_option in getaddrinfo().
include: Add inclusion guards for schema API enums.
include: Remove coclasses that don't belong to msxml6.idl.
xactengine3_7: Return S_OK from IXACT3Cue Destroy.
dmband: Semi-stub IDirectMusicBand CreateSegment.
dmstyle: Implement IDirectMusicStyle8 GetBand.
Anton Baskanov (4):
amstream: Implement AMDirectDrawStream::SetState.
amstream: Implement AMDirectDrawStream::EndOfStream.
amstream: Call ::SetFormat in AMDirectDrawStream::CreateSample.
amstream: Implement AMDirectDrawStream::Receive and IDirectDrawStreamSample::Update.
Aurimas Fišeras (3):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Biswapriyo Nath (5):
include/ddraw.h: Add missing members in DDPIXELFORMAT struct.
include/ddraw.h: Add missing UpdateOverlay flags.
include/ddraw.h: Add missing DDSCAPS2.dwCaps2 flags.
include/ddraw.h: Add DDSCAPS2.dwCaps3 flags.
include/ddraw.h: Add missing dwFlags of DD_BLTDATA struct.
Daniel Lehman (1):
wininet: Implement INTERNET_OPTION_SECURITY_CERTIFICATE flag for InternetQueryOption.
Dmitry Timoshkov (4):
setupapi/tests: Add explicit field for inf contents size.
setupapi: Treat trailing \0 in field values same way as trailing spaces.
sxs: Return correct path from IAssemblyCache::QueryAssemblyInfo().
crypt32: Fix conversion of CRYPT_KEY_PROV_INFO between store and certificate property.
Esme Povirk (1):
gdiplus/tests: Don't test point type array padding.
François Gouget (5):
vbscript: Fix the spelling of the delimiter* variables.
ntdll: Fix the spelling of the arch_context_parameters variable.
ntdll/tests: Fix the spelling of a couple of ok_() messages.
conhost/tests: Fix the spelling of a comment message.
msvcirt/tests: Fix the spelling of a couple of ok() messages.
Georg Lehmann (2):
winevulkan: Add is_alias for VkFunctionPointer.
winevulkan: Forward declare required structs for function pointer.
Gijs Vermeulen (11):
msvcr120: Add [_]strtoimax[_l] and [_]strtoumax[_l].
msxml3/tests: Add more iteration tests for IXMLDOMNamedNodeMap, IXMLDOMSchemaCollection and IXMLDOMNodeList.
msxml3: Support Reset() for IEnumVARIANTs created by create_enumvariant.
msxml3: Support retrieving more than one element in IEnumVARIANT::Next() for IXMLElementCollection.
msvcrt: Add _s[w|n]printf_c[_l].
msvcrt: Fix _snprintf_l function signature.
msvcrt: Add _snprintf_s_l.
msvcirt: Set error when file can't be opened in fstream_open_ctor.
msvcirt: Implement ofstream class.
mshtml: Implement IOleObject::[Get|Set]Extent.
dwmapi: Implement DwmIsCompositionEnabled.
Haidong Yu (3):
conhost: Add missing LeaveCriticalSection.
ws2_32: Add missing LeaveCriticalSection.
conhost: Input should be restored and input_thread handle should be closed before return.
Hans Leidekker (2):
crypt32: Set key context if PKCS12_NO_PERSIST_KEY is passed, otherwise set key provider info.
crypt32: Add support for CRYPT_MACHINE_KEYSET in PFXImportCertStore.
Haoyang Chen (1):
gdiplus: Implement GdipEnumerateMetafileSrcRectDestRect.
Henri Verbeet (3):
wined3d: Do not accumulate ended queries in wined3d_query_vk_poll().
wined3d: Implement shader_spirv_compile_vk().
wined3d: Implement sample masks for the Vulkan adapter.
Jacek Caban (42):
conhost: Introduce IOCTL_CONDRV_READ_CONSOLE ioctl.
conhost: Add support for ENABLE_ECHO_INPUT.
conhost: Add support for ENABLE_LINE_INPUT.
kernel32: Use IOCTL_CONDRV_READ_CONSOLE in ReadConsoleW when possible.
kernel32: Use NtDeviceIoControlFile directly for IOCTL_CONDRV_READ_CONSOLE and IOCTL_CONDRV_WRITE_CONSOLE.
conhost/tests: Improve handling slow conhost replies.
conhost/tests: Allow clear screen on console exit.
conhost/tests: Add ReadConsole tests.
conhost: Free screen buffer data in destroy_screen_buffer.
server: Introduce console_connection object.
kernelbase: Create console connection in init_console.
server: Allow creating unbound console connection objects.
server: Introduce IOCTL_CONDRV_BIND_PID ioctl.
server: Support creating console reference from console connection object.
kernelbase: Use console connection object in AttachConsole.
server: Remove no longer used attach_console request.
conhost: Explicitly set tty cursor position after updating output in write_console.
conhost: Signal console in tty_input if needed.
conhost: Terminate current read request when input when reading tty input fails.
conhost: Introduce Unix mode.
conhost: Use CP_UNIXCP in Unix mode.
conhost: Force using relative cursor positioning in update_read_output.
conhost: Delay creating input thread in Unix mode.
server: Introduce IOCTL_CONDRV_SETUP_INPUT ioctl.
conhost: Use IOCTL_CONDRV_SETUP_INPUT to initialize input in Unix mode.
kernelbase: Move force override logic to init_console_std_handles callers.
ntdll: Pass RTL_USER_PROCESS_PARAMETERS to get_initial_console.
ntdll: Fill console size in get_initial_console.
kernelbase: Use conhost to handle Unix consoles.
kernel32: Remove no longer used bare console support.
conhost: Fix a leak in create_screen_buffer.
wineconsole: Remove curses backend.
configure: Remove curses checks.
server: Remove support for creating bare consoles.
kernelbase: Move ReadConsoleInput.
kernel32: Move Beep implementation to conhost.
kernel32: Move Beep() to kernelbase.
conhost: Improve bound checking in fill_output.
kernelbase: Duplicate input and output handles to ensure that they are inheritable.
conhost/tests: Don't use inheritable handle for console pipe end.
conhost: Terminate pseudo console on input error.
user32: Support control characters in null driver VkKeyScanEx implementation.
Jactry Zeng (1):
comctl32: Implement WM_GETTEXTLENGTH for datetime picker.
Jiangyi Chen (1):
iphlpapi: Rename local variables shadowing the flags parameters.
Kevin Puetz (6):
rpcrt4: Fix ARM64 stack corruption in call_server_func.
oleaut32/tests: Reformat test_dump_typelib.
oleaut32/tests: Fix expect_wstr_acpval(...,NULL).
widl: All VARDESC fields of TKIND_UNION should have oInst=0.
oleaut32/tests: Cover GetVarDesc in test_dump_typelib.
widl: Remove duplicate '\n\n' in midl_info_guid.
Liam Middlebrook (1):
winevulkan: Update to VK spec version 1.2.154.
Martin Storsjo (1):
ntdll: Implement __C_specific_handler and _local_unwind for arm64.
Michael Müller (2):
ntdll: Implement NtFilterToken.
server: Implement support for creating a process with a specified token.
Michael Stefaniuc (13):
directmanipulation: Print the debug string and not the pointer to it.
winegstreamer: Drop redundant NULL check before heap_free().
xactengine3_7: Remove superfluous cast to self.
advapi32: Remove superfluous cast to self.
gdiplus/tests: Use the ARRAY_SIZE() macro.
windowscodecs/tests: Use the ARRAY_SIZE() macro.
qedit: Drop redundant NULL check before free().
dmime: Reimplement IPersistStream_Load() for SegTrigger track.
dmime: Simplify the parse_segments_list() helper.
dmime: Reimplement the segment item parser.
dmime: dmutils.h is no longer needed.
dmime: Get rid of the DMUS_PRIVATE_SEGMENT_ITEM typedef.
dmcompos: Remove the unused DMUS_PRIVATE_CHUNK struct.
Myah Caron (10):
msvcr120: Add imaxabs.
shell32: Add ShellLinkObject stubs.
shell32: Implement ShellLinkObject::get_Path.
sapi: Add AudioOutput registry keys.
sapi: Improve GetDefaultTokenId stub.
sapi: Fix MMAudioOut registry key location.
sapi: Add stubs for SpObjectToken.
sapi: Improve stub for ISpObjectToken::SetId.
dmstyle: Return S_FALSE for IDirectMusicStyle8::GetMotif.
dmband: Avoid cloning stream in parse_bands_list.
Nikolay Sivov (27):
include: Add some missing types to msxml6 typelib.
include: Handle same typelib name in msxml2.idl and msxml6.idl.
widl: Emit a guard around library contents.
combase: Use public symbol for special PS context flag.
ole32: Remove some leftovers from private header.
combase: Manage per-thread call cancellation counter.
oleacc: Use wide string constants.
oleacc/tests: Use wide string constants.
evr/mixer: Handle uninitialized input case in GetOutputAvailableType().
evr/tests: Add a test for returned input type instance.
dxva2: Implement CreateSurface().
dxva2: Return single software device for GetVideoProcessorDeviceGuids().
ole32/clipboard: Use wide string constants.
ole32/comcat: Use wide string constants.
dxva2: Return some static render target formats.
evr/mixer: Fix error handling in output types collection helper.
winedbg: Double dll name buffer size for unimplemented function exception.
include: Add an entry for ProcessIoPriority.
kernel32/tests: Link to more functions directly.
kernel32/tests: Add a test for PROC_THREAD_ATTRIBUTE_HANDLE_LIST.
server: Implement inherited handles list.
widl: Enable [hidden] attribute for enums.
widl: Allow [hidden] attribute on enum members.
widl: Add null source pointer check for typelib writer.
widl: Allow [restricted] for coclass-es.
comctl32/datetime: Do not call default procedure for WM_NCCREATE.
comctl32/tests: Use wide strings literals.
Paul Gofman (13):
d3d11: Avoid crash in _CopySubresourceRegion[1]() on NULL resources.
d3d10core/tests: Add test for NULL resource parameters for _CopySubresourceRegion().
msvcrt/tests: Test .{O|A}CP locale string.
wmc: Add Dxgi facility.
kernel32: Add string for DXGI_INVALID_CALL error.
kernel32: Add string for DXGI_ERROR_NOT_CURRENTLY_AVAILABLE error.
ntdll/tests: Test named pipe with empty name.
wined3d: Track resource binding as render target.
wined3d: Don't check for readonly depth / stencil in context_preload_texture().
wined3d: Track SRV to RTV aliasing on sub resource level.
msvcrt: Implement _mbsnextc_l().
msvcrt: Implement _mbscmp_l().
msvcrt: Implement _mbbtype_l().
Pengpeng Dong (2):
gdiplus: Initialize the dead point coordinates in "GpPointF, *ptf" to 0.
conhost: Validate width param in write_output.
Piotr Caban (13):
d3d9: Lock wined3d mutex in d3d9_device_CreateTexture().
msvcrt: Fix buffer overflow in _write function.
msvcrt: Fix _vs{w,n}printf_c function when terminating character doesn't fit into buffer.
msvcrt: Fix count parameter type in printf functions family.
msvcirt: Set error when file can't be opened in ifstream_open_ctor.
msasn1: Fix buffer allocations.
msvcrt: Use default user locale when only codepage is passed to setlocale.
msvcrt: Fix console detection in _write.
server: Don't create wait object if infinite timeout is passed to NtSetTimer.
server: Don't overflow if timeout doesn't fit into int range in get_next_timeout.
setupapi: Remove unused end parameter from next_xml_attr internal function.
setupapi: Copy all files specified in manifest on wine dll install.
gdi32: Share font_gamma_ramp structure between all DCs.
Robert Wilhelm (3):
vbscript: Parse decimal literals between -1 and 1 without 0 in front.
vbscript: Fix vanishing statements.
vbscript: Fix handling zero and negative number arguments in err.raise.
Roberto Pungartnik (1):
po: Brazilian Portuguese update.
Rémi Bernon (6):
gdi32/tests: Add test fonts with names in several languages.
gdi32: Look for another secondary font family name.
gdi32: Use explicit CDECL in gdi_image_bits.
gdi32: Use explicit CDECL in window_surface_funcs.
windowscodecs/tests: Add a simple JXR/WMP test case.
windowscodecs: Support JXR/WMP detection and formats.
Stefan Dösinger (1):
ntdll: Use the MacOS file handle limit workaround from libs/wine/loader.c.
Sven Baars (1):
ntdll: Fix some memory leaks (Valgrind).
Vijay Kiran Kamuju (1):
include: Remove duplicated defines in winnt.h.
Yongjie Yao (1):
msxml3: Fix a memory leak (Valgrind).
Zebediah Figura (23):
server: Create the Afd device.
server: Return a new, uninitialized socket when opening the Afd device.
server: Introduce IOCTL_AFD_CREATE.
ws2_32: Reimplement WSASocketW() on top of NtOpenFile() and IOCTL_AFD_CREATE.
server: Remove the no longer used create_socket request.
advapi32/tests: Test which tokens DuplicateHandle() validates access against.
advapi32/tests: Add more tests for CreateRestrictedToken().
kernelbase: Implement CreateRestrictedToken().
advapi32/tests: Add basic tests for CreateProcessAsUser().
ntdll: Pass the token to NtCreateUserProcess().
kernelbase: Pass the token to NtCreateUserProcess().
server: Check duplicated handle access against the calling thread token and target process token.
wined3d: Factor out wined3d_state_uses_depth_buffer().
winegstreamer: Don't set the buffer offset in request_buffer_src().
winegstreamer: Avoid leaking a newly allocated buffer on failure in request_buffer_src().
ws2_32: Translate WSA_FLAG_OVERLAPPED to NT overlapped flags.
ws2_32: Translate SIO_ADDRESS_LIST_CHANGE into a proper NT ioctl.
server: Move sock_ioctl() down to avoid forward declarations.
ws2_32/tests: Add more tests for WSASocket() parameters.
ws2_32: Always return WSAEINVAL if AF_UNSPEC is used with a zero protocol.
wined3d: Introduce a depth/stencil state object.
d3d11: Use wined3d depth/stencil state objects.
wined3d: Fully move the depth buffer enable state to wined3d_depth_stencil_state.
Zhipeng Zhao (1):
winex11.drv: If the end of the sequence is '\r\n', there is no need to add extra '\r'.
Zhiyi Zhang (5):
user32/tests: Fix a test failure.
user32/tests: Add display orientation tests.
winex11.drv: Sort display modes with orientation considered.
winex11.drv: Support finding a full display mode with specified orientation.
winex11.drv: Support display orientations for XRandR 1.4 display settings handler.
Ziqing Hui (2):
kernel32/tests: Add more tests for UpdateResource.
kernel32: Use uppercase name in UpdateResourceW().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.17 is now available.
What's new in this release (see below for details):
- ADVAPI32 library converted to PE.
- Beginnings of an NDIS network driver.
- Still more restructuration of the console support.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.17.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.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 5.17 (total 17):
22616 Multiple applications need msvcirt.dll.??0ifstream@@QAE@PBDHH@Z (Merriam-Webster Dictionary, Power Tab Editor, gmax 1.2, GradeBook for Windows, Microsoft Reader)
24182 Multiple games need IDirectDrawMediaStream::Get/SetFormat implementation (Need for Russia, Motocross Madness 2, The Sims Complete Collection)
30014 Multiple programs require msvcirt.dll.??0ifstream@@QAE@XZ (Wouxun KG-UV2D, Charon, Cricket 2002, Mastercook 15, GraphCalc)
35782 Tic Tac Toe Game (vbscript) cannot be played (colon used in for loop for placing multiple statements on the same line)
41005 Deadlight: Director's Cut (UE3, 64-bit) loads to a black screen
43999 GetVersion incorrectly fails to lie about the OS version when masquerading as Windows 8.1 or 10
45642 Chrome/Chromium sandbox needs x86-64 syscall thunks to match Windows
46278 Cisco Jabber 12.5 sends only first letter due to missing richedit:ITextRange functions
47048 Logitech webcam does not show picture, only grey
47642 Support conversion from GST_VIDEO_FORMAT_RGB to DirectShow-supported formats (needed by Risk II + native amstream)
48130 Launching World of Tanks from the shortcut doesn't work
48407 OllyDbg 2.x segfaults the process after attaching to it
49125 Logos Bible Software Indexing fails 64bit only 32bit works
49242 provide some way to get reported windows version via command line
49749 Visual Studio 2019 installer crashes after unpacking content
49762 Emulated virtual desktop ignores size set in winecfg
49805 Pyxel Edit crashes when clicking the "File" dropdown option.
----------------------------------------------------------------
Changes since 5.16:
Aaro Altonen (1):
ws2_32: Improve WSCGetProviderPath() stub.
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (1):
comdlg32: Fix error precedence in IFileDialog2_SetFileTypes.
Alexandre Julliard (32):
kernel32: Move the initial process breakpoint to LdrInitializeThunk().
ntdll: Call the thread entry point through BaseThreadInitThunk().
ntdll: Call the process entry point through RtlUserThreadStart().
kernel32: Remove the no longer used __wine_start_process() function.
ntdll: Get rid of the server_init_process_done() Unix library callback.
ntdll: Move the NT path conversion for exec process to the Unix library.
ntdll: Use the process parameters directly in exec_process().
ntdll: Get rid of the exec_process() Unix library callback.
ntdll: Make the reserved area functions static.
ntdll: Move the reserved area functions to avoid forward declarations.
ntdll: Add a helper function for fixed anonymous mmaps.
ntdll: Add a helper function for memory allocations through mmap().
ntdll: Add a helper function to try an mmap at a fixed address.
ntdll: Load libwine dynamically.
ntdll: Pop the Unix stack completely in call_user_apc_dispatcher().
loader: No longer depend on libwine.
libwine: Remove wine/library.h.
libwine: Make the remaining configuration functions obsolete.
makefiles: Get rid of rpath support.
makefiles: Add dependencies for the import lib symlinks.
makefiles: Expand makedep path at compile time.
makefiles: Store .pot files in a separate variable.
makefiles: Add some missing object dir references.
makefiles: Build extra targets explicitly if they are not a dependency.
advapi32: Build with msvcrt.
makefiles: Explicitly import the CRT library also for test dlls.
wineandroid.drv: Load libwine dynamically.
wineandroid.drv: Pass the source directory on the gradle command line.
makefiles: Also store the basename without object dir for generated files.
makefiles: Fix a few more object directory references.
makefiles: Remove support for generating a single makefile.
makefiles: Add separate variable to keep track of source dir font files.
Anton Baskanov (5):
amstream: Implement AMDirectDrawStream::GetFormat.
amstream: Implement AMDirectDrawStream::SetFormat.
amstream: Reject incompatible media types in AMDirectDrawStream::ReceiveConnection.
amstream: Reconnect if the new format is incompatible with the connection media type in AMDirectDrawStream::SetFormat.
amstream: Use current format to create surface in AMDirectDrawStream::CreateSample.
Arkadiusz Hiler (7):
msvcirt: Implement most of ifstream.
msvcirt: Correct the behavior of filebuf::setbuf().
msvcirt: Implement ifstream::setbuf().
msvcirt: Be more obvious in out-of-memory situations.
msvcirt: Implement _mtlock() and _mtunlock().
msvcirt: Include iostream in strstream's and stdiostream's rtti hierarchy.
msvcirt: Implement a part of fstream.
Biswapriyo Nath (7):
include/d3dcommon.idl: Add D3DDestructionNotifier interface.
include/d3dcommon.idl: Add missing names in D3D_SHADER_VARIABLE_TYPE enum.
include/d3dcommon.idl: Add missing names in D3D_NAME enum.
include/d3dcommon.idl: Add missing names in D3D_SHADER_INPUT_TYPE enum.
include/d3d10.idl: Add flags in D3D10_CREATE_DEVICE_FLAG enum.
include/d3d11.idl: Add flags in D3D11_RESOURCE_MISC_FLAG enum.
include/d3d11.idl: Add names in D3D11_FILTER enum.
Brendan Shanks (3):
winevulkan: Change make_vulkan interpreter to '/usr/bin/env python3'.
winemac.drv: Print error when no GPUs are detected.
winemac.drv: Don't fail GPU detection if some IOKit properties are missing.
Carlos Rivera (3):
kernel32/tests: Use debugstr_an to show contents of buffer.
kernel32/tests: Remove registry entry left out during test.
kernel32/tests: Change file name to avoid collision with other tests.
Chao Long (2):
ntdll: Fix a memory leak (Valgrind).
ntdll: Fix a ImagePathName memory leak (Valgrind).
Derek Lesho (5):
mfplat: Remove fallback media source.
winegstreamer: Add stub bytestream handler.
winegstreamer: Add stub media source.
winegstreamer: Implement source event methods.
winegstreamer: Implement IMFMediaSource::Shutdown.
Eric Wheeler (1):
comctl32/listview: Add Get/SetSelectedColumn() support.
Esme Povirk (1):
mscoree: Use exe basename to name the default domain.
Fabian Maurer (1):
user32/menu: Store application defined value as pointer.
Francesco Noferi (1):
cmd.exe: Fix parsing of && between quotes.
Gabriel Ivăncescu (7):
msscript.ocx/tests: Add tests for SitehWnd.
msscript.ocx: Implement IScriptControl::put_SitehWnd.
msscript.ocx: Implement IScriptControl::get_SitehWnd.
msscript.ocx: Implement IActiveScriptSiteWindow::GetWindow.
msscript.ocx: Return S_OK from the IActiveScriptSiteWindow::EnableModeless stub.
msscript.ocx: Implement UseSafeSubset properly by setting the interface safety options.
msscript.ocx: Supply a stub ServiceProvider to InvokeEx in run_procedure.
Georg Lehmann (1):
winex11.drv: Use vkGetPhysicalDeviceProperties2KHR to get gpu properties.
Gijs Vermeulen (1):
crypt32: Remove unused variable in test_CryptBinaryToString().
Hans Leidekker (12):
mountmgr: Add ioctl to read host credentials on macOS.
advapi32: Read host credentials through mountmgr.
mountmgr: Add ioctl to write host credentials on macOS.
advapi32: Write host credentials through mountmgr.
mountmgr: Add ioctl to delete host credentials on macOS.
advapi32: Delete host credentials through mountmgr.
mountmgr: Add ioctl to enumerate host credentials on macOS.
advapi32: Enumerate host credentials through mountmgr.
ntdll: Return buffer filled with random values from NtQuerySystemInformation(SystemInterruptInformation).
advapi32: Reimplement SystemFunction036 using system interrupt information.
advapi32: Use wide character string literals.
crypt32: Store CERT_KEY_CONTEXT in a platform independent way.
Isabella Bosia (7):
iphlpapi: Unify conversions to interface guid.
iphlpapi: Make the interface guids more unique.
wine.inf: Create NDIS service.
ndis.sys: Create network card registry keys.
ndis.sys: Create network card devices.
ndis.sys: Implement IOCTL_NDIS_QUERY_GLOBAL_STATS on network cards.
ndis.sys/tests: Add tests for ndis ioctls.
Jacek Caban (28):
conhost: Implement IOCTL_CONDRV_FILL_OUTPUT.
conhost: Implement IOCTL_CONDRV_SCROLL.
kernelbase: Move KERNEL32_CONSOLE_ALLOC handling to kernelbase.
kernel32/tests: Skip more FreeConsole tests on win7.
server: Introduce IOCTL_CONDRV_CTRL_EVENT ioctl.
kernelbase: Use IOCTL_CONDRV_CTRL_EVENT in GenerateConsoleCtrlEvent.
server: Support IOCTL_CONDRV_CTRL_EVENT on console server handles.
conhost: Support CTRL_C_EVENT in write_console_input.
conhost: Initialize tty output.
conhost: Support setting tty title in set_console_title.
conhost/tests: Add initial tty tests.
conhost: Synchronize tty cursor position in set_output_info.
conhost: Support tty output in write_output.
conhost/tests: Add tty output tests.
conhost: Update tty output in fill_output.
conhost: Update tty output in scroll_output.
conhost: Update tty output in IOCTL_CONDRV_ACTIVATE.
dwrite.idl: Use DEFINE_ENUM_FLAG_OPERATORS for enums that need it.
conhost: Move console input processing into a separated function.
conhost: Add tty input implementation.
conhost/tests: Add tty input tests.
kernel32/tests: Skip more tests on old Windows.
conhost: Use more standard hide cursor sequence.
conhost: Introduce IOCTL_CONDRV_WRITE_CONSOLE ioctl.
kernel32: Use IOCTL_CONDRV_WRITE_CONSOLE in WriteConsoleW when possible.
conhost/tests: Add WriteConsole tests.
kernel32/tests: Allow ENABLE_VIRTUAL_TERMINAL_PROCESSING in default mode.
conhost/tests: Wait for child process in test_pseudoconsole.
Jeff Smith (3):
qcap/tests: Test effect of setting stream format on media type enumeration.
qcap: Calculate image size and pitch when setting format.
qcap: Enumerate one media type if pin format has been set.
Jiajin Cui (1):
gdiplus: Make gdi_alpha_blend fallback to StretchBlt if current Compositing Mode is SourceCopy.
Ken Thomases (2):
dbghelp: Avoid asserting on egregiously long stabs symbol names.
mountmgr: Avoid operating on a null CFStringRef, which would crash.
Liam Middlebrook (1):
winevulkan: Fail on explicit layer usage.
Louis Lenders (1):
ntdll: RtlConvertToAutoInheritSecurityObject is NTSTATUS, not BOOL.
Martin Storsjo (4):
ntdll: Fix arm64 regression from "Clear the syscall frame on return".
ntdll: Don't truncate SP in arm64 handle_syscall_fault.
ntdll: Add ARM64 SEH unwind directives for assembly functions in PE builds.
ntdll: Fix more corner cases for arm64 packed info unwinding.
Matteo Bruni (5):
d3d11: Report D3D11_FORMAT_SUPPORT_TEXTURECUBE in CheckFormatSupport().
d3d11: Report D3D11_FORMAT_SUPPORT_MIP in CheckFormatSupport().
d3d11: Report D3D11_FORMAT_SUPPORT_MIP_AUTOGEN in CheckFormatSupport().
d3d11: Report D3D11_FORMAT_SUPPORT_BLENDABLE in CheckFormatSupport().
d3d11: Report multisample flags in CheckFormatSupport().
Myah Caron (2):
cmd.exe: Fix /Y flag for move builtin.
cmd.exe: Don't prompt for move when non-interactive.
Nikolay Sivov (28):
combase: Move stub manager.
combase: Move CoReleaseMarshalData().
combase: Move CoUnmarshalInterface().
combase: Move remaining marshalling code.
combase: Move ORPC functionality.
combase: Move currently unimplemented COM API functions.
combase: Move default memory stream implementation.
api-ms: Redirect com-private to combase.
combase: Implement local server registration via SCM.
kernelbase: Forward ConvertToAutoInheritPrivateObjectSecurity() to ntdll.
combase: Use typed list iteration macros.
evr: Create and initialize mixer transform attributes.
evr/mixer: Use same max input count symbol for GetStreamLimits().
mf/evr: Actually use custom mixer when available.
mf/evr: Implement stream sinks management functionality.
mf/evr: Add events support for video stream sinks.
mf/session: Add support for MR_VIDEO_RENDER_SERVICE service.
mf/tests: Fix tests crashes.
mf/evr: Create stream sinks for default mixer inputs.
mf/evr: Add a IMFMediaTypeHandler stub for input video streams.
mf/evr: Add GetMajorType() for the stream sink.
evr/mixer: Return initial mixing preferences.
maintainers: Get rid of removed paths.
evr/mixer: Add another set of attributes.
combase: Implement CoCreateInstanceFromApp().
ole32/tests: Use treat-as-class functions directly.
ole32/tests: Link to storage API directly.
ole32/tests: Fix test crash on recent Windows 10.
Owen Rudge (2):
winecfg: Ensure registry key is initialised before updating Windows version.
winecfg: Add /v parameter to display current Windows version.
Paul Gofman (22):
ntdll: Implement RtlGetExtendedContextLength().
kernel32: Implement InitializeContext[2]().
kernel32: Implement LocateXStateFeature().
ntdll: Implement RtlLocateLegacyContext().
ntdll: Clear CONTEXT_XSTATE flag in RtlUnwindEx().
wbemprox: Provide semi-stub implementation for client_security_QueryBlanket().
kernel32: Implement SetXStateFeaturesMask().
kernel32: Implement GetXStateFeaturesMask().
kernel32: Implement CopyContext().
ntdll: Implement saving AVX registers in NtGetContextThread().
ntdll/tests: Add tests for capturing context with xstate.
ntdll/tests: Fix exception test failures on win10pro.
ntdll/tests: Fix virtual test failures on win10pro.
d3dcompiler: Support ID3D12ShaderReflection interface in D3DReflect().
d3dcompiler/tests: Add test for reflection interfaces.
d3dcompiler/tests: Test d3d12 interface in test_reflection_desc_vs().
d3dcompiler: Set range id to bind point for sm < 5.1.
d3dcompiler/tests: Test d3d12 interface in test_reflection_constant_buffer().
d3dcompiler: Fill texture fields in D3D11_SHADER_VARIABLE_DESC with default values.
vcruntime140_1: Handle rethrowing from nested try blocks on x64.
msvcrt: Handle rethrowing from nested try blocks on x64.
d3dcompiler/tests: Test d3d12 interface in test_reflection_bound_resources().
Pengpeng Dong (1):
quartz: Return E_POINTER from IVideoWindow::get_Visible() if "visible" is NULL.
Robert Wilhelm (1):
vbscript: Colon used in for loop.
Roberto Pungartnik (1):
po: Update Brazilian Portuguese translation.
Rémi Bernon (16):
bcrypt: Return STATUS_INVALID_PARAMETER on ECC magic mismatch.
bcrypt: Export ECDSA/ECDH blobs with the correct header magic.
gdi32: Only trace new faces when they are added.
winex11.drv: Don't wait for the desktop thread to store clipping window.
widl: Search for known types in current namespace.
widl: Output interface C names in method argument list.
widl: Support fully qualified names in WinRT mode.
gdi32/tests: Test extended TTF font names and collisions.
gdi32: Introduce ft_face_get_family/style_name helpers.
gdi32: Rewrite prepend_at helper as get_vertical_name.
gdi32: Build full name from family + style when missing.
gdi32: Rename StyleName to style_name for consistency.
gdi32: Use fixed size array for family and english name.
gdi32: Compare full name before discarding faces.
kernelbase: Also pass CreateFile2 file flags to CreateFileW.
user32: Return TRUE from ShowWindow(SW_SHOW) if already visible.
Zebediah Figura (36):
quartz/vmr9: Avoid leaking the presenter's reference to the d3d9 device.
winegstreamer: Fix a leak in gstdecoder_source_get_media_type().
amstream/tests: Avoid leaking "stream" in test_find_pin().
amstream/tests: Get rid of test_renderfile().
kernel32/tests: Pass the correct size for PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE.
d3dcompiler/tests: Add more tests for SM4 constant packing.
d3dcompiler/tests: Add tests for constant buffer binding descriptors.
d3dcompiler/tests: Add tests for semantics.
d3dcompiler/tests: Add tests for samplers.
d3dcompiler: Unconditionally report special (pixel shader output) sysvals based on the semantic name.
server: Avoid a potential NULL dereference in startup_info_dump().
d3d11/tests: Test specifying the multisample mask via OMSetBlendState().
d3d10core/tests: Test specifying the multisample mask via OMSetBlendState().
d3d9/tests: Add a test for sample masks.
wined3d: Store the sample mask in wined3d_state.
wined3d: Implement OpenGL sample masks.
wined3d: Read the SM5 resource type instruction modifier.
wined3d: Read the SM5 resource data type instruction modifier.
dxgi: Add DXGI_FORMAT_NV12 and DXGI_FORMAT_YUY2.
d3d11: Add DXGI_FORMAT_NV12 and DXGI_FORMAT_YUY2.
qcap/avimux: Pass the correct field to CONTAINING_RECORD in impl_sink_from_strmbase_pin().
wintrust/tests: Add more tests for CryptCATOpen() file modes.
wintrust: Assign the file open mode directly instead of treating it as a bitmask.
wintrust: Translate a lack of open mode flags to OPEN_ALWAYS.
wintrust: Translate CRYPTCAT_OPEN_CREATENEW to CREATE_ALWAYS.
include: Add more setupapi error codes.
include: Add a couple more SIP indirect data flags.
mssign32: Use public SPC_* flag definitions.
include: Add catalog file version constants.
server: Use GENERIC_READ | GENERIC_WRITE in inherit_console().
include: Use ioctl access bits for console driver ioctls.
winegstreamer: Dereference messages dropped from watch_bus().
ws2_32: Keep a list of open sockets.
ws2_32: Close all open sockets in WSACleanup().
server: Remove no longer used enumerate_handles().
server: Remove no longer used is_fd_signaled().
Zhiyi Zhang (6):
user32: Always wait for the desktop process to be ready in load_desktop_driver().
ddraw/tests: Add display mode frequency tests.
ddraw: Report correct frequency in GetDisplayMode().
dxgi/tests: Relax closest matching mode comparison.
dxgi/tests: Fix swapchain parameter test failures on Win10 1909.
dxgi/tests: Fix output ownership test failures on Win10 1909.
Ziqing Hui (8):
d3dx10: Introduce get_d3dx10_dds_format().
d3dx10: Add D3DX10GetImageInfoFromFile{A, W}() stub implementation.
d3dx10: Add D3DX10GetImageInfoFromResource{A, W}() stub implementation.
d3dx10/tests: Introduce create_file() and delete_file().
d3dx10/tests: Introduce check_image_info().
d3dx10/tests: Add tests for D3DX10GetImageInfoFromFileW().
windowscodecs/tests: Add tests for calling WriteSource() without calling SetSize() prior to it.
windowscodecs: Correctly set output frame size for WriteSource().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.16 is now available.
What's new in this release (see below for details):
- Support for x86 AVX registers.
- Some ARM64 fixes for macOS.
- Still more restructuration of the console support.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.16.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.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 5.16 (total 21):
21150 Memorex exPressit Label Design Studio 4.x crashes when creating a new project (ieframe 'IOleObject::Advise' is a stub)
24320 Cisco Quick VPN Client (QVPN) v1.4.x tool 'DetectEnvStatus.exe' crashes
37913 Inconsistent rounding behaviour for sprintf
39712 AirDC++: Crash after finishing setup wizard
39881 d3dx9_36/tests/mesh.ok: failed on line 4145 Test text
44200 Quake Champions Instant Crash To Desktop (Steam)
46350 Armored Warfare mouse stutter
46994 Firefox doesn't load pages
47570 Builtin Split function not implemented (needed by FotoBizX Installer)
49400 Multiple Windows 10 applications need IsWow64Process2 to determine real OS architecture (ex: detect WOW64 on ARM64)
49564 Tomb Raider I (using DosBox) hangs after starting
49631 Wine does not fill in Vulkan device LUID property when running in Virtual Desktop
49648 Still Life hangs when player starts moving
49698 Unwinding with a PE based ntdll.dll fails in some cases
49712 Magic: The Gathering Arena fails to connect to server
49716 Toontown Corporate Clash's Windows Installer crashes inside IsWow64Process2
49718 ABZU broken with math functions from musl
49719 The Bat! v9.2.2.3: The 32bit version and the 64bit version crashed after startup
49728 Appear (a 4K rendering demo) crashes on unimplemented function user32.dll.SetWindowFullScreenState
49730 Number formatting broken with "nl_NL.UTF-8" (for msmoney)
49746 crash when virtual debug channel is enabled
----------------------------------------------------------------
Changes since 5.15:
Alex Henrie (2):
urlmon/tests: Work around broken Win10 in test_CoInternetCombineUrlEx.
user32: Comment out SetWindowFullScreenState.
Alexandre Julliard (21):
ntdll: Call NtContinue() from LdrInitializeThunk() instead of returning.
ntdll: Don't expect LdrInitializeThunk() to return to the Unix side.
ntdll: Unwind the syscall frame when calling KiUserApcDispatcher().
ntdll: Unwind the syscall frame in NtSetContextThread().
kernel32: Fix user handle conversion in GetConsoleWindow().
ntdll: Handle page faults happening during a syscall without dispatching the exception.
ntdll: Stop resolving imports for the Unix library.
ntdll: Avoid referencing winecrt0 exception handlers from the Unix library.
winecrt0: Move setjmpex/longjmp implementation to a separate file.
makefiles: Don't implicitly import the module itself when -nodefaultlibs is used.
winebuild: Allow syscalls to use the cdecl convention.
ntdll: Use syscalls for the server functions.
ntdll: Use syscalls for the file path conversion functions.
ntdll: Use syscalls for the Wine version functions.
ntdll: Use syscalls for a couple of Wine internal functions.
ntdll: Get rid of the server_init_process_done() Unix library callback.
ntdll: Use exported APIs instead of virtual_map_section() to load PE modules.
ntdll: Clear the syscall frame on return instead of popping the previous one.
ntdll: Clear the thread stack by hand instead of remapping zero pages.
Revert "ntdll: Get rid of the server_init_process_done() Unix library callback."
conhost: Fix some pointer cast warnings.
Alistair Leslie-Hughes (1):
include: Add more eAVEncH264VProfile enums.
Andrew Eikum (1):
winepulse: Don't rely on pulseaudio callbacks for timing.
Arkadiusz Hiler (3):
Revert "ntdll/tests: Add test to check if GetTickCount is updated after sleeping.".
winmm: Add timeGetTime() implementation.
winmm: Default to 1ms resolution like we used to.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Biswapriyo Nath (13):
include/xaudio2.idl: Use cpp_quote for xaudio2 error codes.
include/dxgi.idl: Fix typo in DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT member name.
include/dxgi.idl: Add missing DXGI_DISPLAY_COLOR_SPACE structure.
include/dxgi1_2.idl: Add missing values in DXGI_SCALING enum.
dxgi: Fix order of functions in IDXGIFactory2 interface.
include/dxgi1_5.idl: Add missing values in DXGI_HDR_METADATA_TYPE enum.
include/dxgi1_6.idl: Add missing values in DXGI_ADAPTER_FLAG3 enum.
include/d3d11sdklayers.idl: Add d3d11 debug feature flags.
include/d3d10.idl: Use unions in D3D10_BUFFER_RTV structure.
include/d3d10.idl: Use unions in D3D10_BUFFER_SRV structure.
include/d3d10sdklayers.idl: Add D3D10Debug interface.
include/d3d10sdklayers.idl: Add D3D10SwitchToRef interface.
include/d3d11sdklayers.idl: Add D3D11SwitchToRef interface.
Brendan Shanks (1):
winevulkan: Fix vkEnumerateInstanceExtensionProperties() behavior when no Vulkan driver is present.
Carlos Rivera (1):
kernel32: Remove obsolete comment.
Damjan Jovanovic (3):
riched20: Implement ITextRange::MoveStart() and ITextRange::MoveEnd() for tomCharacter.
riched20: Implement ITextRange::Move() for tomCharacter.
riched20: Implement ITextRange::StartOf() and ITextRange::EndOf() for tomCharacter.
Daniel Lehman (2):
msvcrt/tests: Add tests for SpecialCasing.
ucrtbase/tests: Add tests for SpecialCasing.
Derek Lesho (1):
shcore: Add GetScaleFactorForDevice() stub.
Dmitry Kislyuk (1):
vbscript: Implement case-insensitive search in Replace function.
Dmitry Timoshkov (2):
ole32: Add a check for hglobal pointer to GetHGlobalFromStream.
kernelbase: Native machine is optional for IsWow64Process2.
Fabian Maurer (2):
user32: Set default user preferences to enable animations.
msvcrt/math: In _fcvt/_fcvt_s handle locale decimal separator properly.
François Gouget (2):
winapi: Remove obsolete entries from win32.api.
winapi: Update win16.api.
Gabriel Ivăncescu (13):
msscript.ocx: Implement the ScriptProcedure enumerator.
msscript.ocx: Add the ScriptError stub implementation.
msscript.ocx: Implement IScriptError::Clear.
msscript.ocx: Implement IScriptError::get_Number.
msscript.ocx/tests: Add initial tests for ScriptError.
msscript.ocx: Implement IScriptError::get_Source.
msscript.ocx: Implement IScriptError::get_Description.
msscript.ocx: Implement IScriptError::get_HelpFile.
msscript.ocx: Implement IScriptError::get_HelpContext.
msscript.ocx: Implement IScriptError::get_Text.
msscript.ocx: Implement IScriptError::get_Line.
msscript.ocx: Implement IScriptError::get_Column.
msscript.ocx: Uncache the module objects when script is restarted, but not the Procedure count.
Gijs Vermeulen (8):
fsutil: Initialize ret in hardlink() (Coverity).
shell32: Free original_dos_name with correct function in TRASH_GetDetails() (Coverity).
evr: Fix typo in video_mixer_init_dxva_videodesc() (Coverity).
amstream: Return VFW_E_CANNOT_CONNECT in IAMMultiMediaStream::OpenFile() when no renderers are present and AMMSF_NORENDER is not specified.
amstream: Return S_FALSE when IMediaSeeking::GetDuration() fails in IAMMultiMediaStream::GetDuration().
qcap/tests: Remove unused enumMediaTypes in test_smart_tee_filter() (Coverity).
quartz: Close hfile when GetFileSizeEx fails in IFileSourceFilter::Load() (Coverity).
amstream: Implement IMediaStreamFilter::ReferenceTimeToStreamTime().
Jacek Caban (38):
kernelbase: Use IOCTL_CONDRV_SET_INPUT_INFO in SetConsoleCP.
kernelbase: Use IOCTL_CONDRV_SET_INPUT_INFO in SetConsoleOutputCP.
kernelbase: Use IOCTL_CONDRV_SET_TITLE in SetConsoleTitleW.
server: Remove no longer used set_console_input_info.
wineconsole: Make sure that console process is not attached to another console.
server: Use passed console handle to inherit console for created process.
conhost: Build with -mwindows.
kernel32/tests: Fix tests on some broken Windows versions.
server: Introduce console server object.
server: Support creating console reference from console server.
kernelbase: Add CreatePseudoConsole implementation.
kernelbase: Add ClosePseudoConsole implementation.
kernel32/tests: Add CreatePseudoConsole tests.
kernelbase: Support PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE.
conhost: Add initial main loop implementation.
server: Queue console ioctls for execution in host when console server is attached.
server: Introduce get_next_console_request request.
condrv: Implement initial ioctl processing.
conhost: Implement IOCTL_CONDRV_GET_MODE.
conhost: Implement IOCTL_CONDRV_SET_MODE.
conhost: Implement IOCTL_CONDRV_GET_INPUT_INFO.
conhost: Implement IOCTL_CONDRV_SET_INPUT_INFO.
conhost: Implement IOCTL_CONDRV_GET_TITLE.
conhost: Implement IOCTL_CONDRV_SET_TITLE.
conhost: Implement IOCTL_CONDRV_WRITE_INPUT.
server: Support blocking console host ioctls.
conhost: Implement IOCTL_CONDRV_READ_INPUT.
conhost: Implement IOCTL_CONDRV_PEEK.
server: Move setting current screen_buffer into a helper.
server: Allow passing screen buffer ioctls to conhost.
conhost: Initial support for screen buffers.
server: Forward screen buffer ioctls to conhost if possible.
conhost: Implement IOCTL_CONDRV_GET_MODE.
conhost: Implement IOCTL_CONDRV_SET_MODE.
conhost: Implement IOCTL_CONDRV_GET_OUTPUT_INFO.
conhost: Implement IOCTL_CONDRV_SET_OUTPUT_INFO.
conhost: Implement IOCTL_CONDRV_WRITE_OUTPUT.
conhost: Implement IOCTL_CONDRV_READ_OUTPUT.
Jeff Smith (1):
qcap/tests: Refactor interface testing.
Julian Rüger (3):
winemine: Rename difficulty to avoid translation issues.
winemine: Widen some controls to accomodate translations.
po: Update German translation.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (1):
explorerframe: Return S_OK in ITaskbarList::RegisterTab.
Martin Storsjo (16):
winebuild: Use the right arm64 page/pageoff relocation syntax for darwin.
ntdll: Trust libunwind's returned pc value on arm64.
ntdll: Fix the arm64 use of libunwind for macOS.
ntdll: Fix arm64 sigcontext access for darwin.
loader: Fix the generic case in get_self_exe().
winedump: Fix dumping of rare arm64 unwind opcodes.
include: Update ARM64 context flag definitions to match current SDKs.
ntdll: Add initial tests for arm64 RtlVirtualUnwind.
ntdll: Set handler_data correctly in arm64 RtlVirtualUnwind.
ntdll/tests: Add defines for the complete set of arm64 unwidning opcodes.
ntdll/tests: Support testing float registers in the arm64 virtual unwind test.
ntdll: Implement the arm64 machine frame and context unwind opcodes.
ntdll/tests: Add a larger testcase covering most arm64 unwinding opcodes.
ntdll: Fix arm64 jump buffer float restoration.
ntdll: Capture vector registers in arm64 RtlCaptureContext.
winedump: Fix the dumping of arm64 packed float restoration.
Nikolay Sivov (34):
combase: Add a function to allocate OLE thread data.
combase: Move GetErrorInfo().
combase: Add CoGetErrorInfo() as an alias for GetErrorInfo().
combase: Move SetErrorInfo().
combase: Add CoSetErrorInfo() as an alias for SetErrorInfo().
combase: Move CoGetCallContext().
combase: Move CoSwitchCallContext().
combase: Move CoRegisterInitializeSpy()/CoRevokeInitializeSpy().
combase: Move CoWaitForMultipleHandles().
combase: Move CoRegisterMessageFilter().
combase: Move local proxy-stub registration functions.
combase: Move CoGetContextToken().
combase: Move CoGetCurrentLogicalThreadId().
kernelbase: Pass inherited handles list when creating new process.
combase: Move CoGetCurrentProcess().
ole32: Use public symbol for maximum moniker comparison data length.
dwrite: Add partial implementation for IDWriteFontFace5::Equals().
combase: Expose ROT access helpers.
ole32: Use combase for ROT access.
ole32: Get rid of typedef'ed type for apartment structure.
ole32: Simplify apartment lookup helper.
ole32: Move apartment and activation management to a separate file.
combase: Move core apartment and activation functionality.
combase: Move CoFreeUnusedLibrariesEx().
ole32: Use single static instance for ROT.
combase: Move initialisation functions.
combase: Move MTA usage functions.
combase: Move CoGetApartmentType().
combase: Move CoGetClassObject().
ole32: Use InternalIsProcessInitialized().
ole32: Remove unused helper.
combase: Move server class registration.
combase: Move global apartment state cleanup.
combase: Move thread data cleanup.
Paul Gofman (17):
ntdll: Report newer vector processor features on x86 / x64.
ntdll: Don't transfer xmm registers explicitly during context save and restore on x64.
include: Update _XSTATE_CONFIGURATION structure definition.
ntdll: Remove redundant ldmxcsr in set_full_cpu_context() on x86_64.
include: Define _XSAVE_FORMAT structure.
include: Define extended context structures.
include: Implement __cpuidex() function.
wineboot: Initialize XState features in user_shared_data.
kernel32: Implement GetEnabledXStateFeatures().
ntdll/tests: Add test for xstate in extended context.
ntdll: Support AVX context in fault exceptions on Linux x86_64.
ntdll: Restore AVX registers in NtSetContextThread() on x86_64.
ntdll: Support AVX context in fault exceptions on Linux i386.
ntdll: Restore AVX registers in NtSetContextThread() on i386.
ntdll: Also save unwind info for rbp in call_consolidate_callback() on x64.
wmc: Add Null facility.
kernel32: Add string for E_NOTIMPL error.
Piotr Caban (2):
msvcrt: Fix acosf implementation when returning Pi or Pi/2.
msvcrt: Optimize memmove implementation.
Robert Wilhelm (3):
vbscript: Implement Split.
vbscript: Implement IsArray.
vbscript: Support arrays in TypeName.
Shawn M. Chapla (6):
gdiplus: Remove outdated FIXME comment about compositing mode.
gdiplus: Add missing allocation failure checks to graphics functions.
gdiplus/tests: Add cursory GdipGetClipBoundsI checks to graphics clipping test.
gdiplus: Implement GdipGetClipBoundsI in terms of GdipGetClipBounds.
gdi32: Pass correct pointer to PolyDraw during EMR_POLYDRAW playback.
gdi32: Implement EMR_POLYDRAW16 playback.
Sven Baars (2):
kernel32: Fix some string leaks (Coverity).
kernel32: Free the right variable (Coverity).
Zebediah Figura (5):
quartz: Reimplement AM_RENDEREX_RENDERTOEXISTINGRENDERERS by forbidding renderers from IFilterMapper2::EnumMatchingFilters().
xactengine3: Reduce code duplication in xact_classes.idl.
ntdll: Read the condition variable and manipulate the lock on the PE side.
server: Report named pipe device files as type "File".
devenum: Correct the size of "name" in register_avicap_devices().
Zhiyi Zhang (9):
winex11.drv: Report a GPU same as the host primary GPU in virtual desktop mode.
winex11.drv: Initialize new display device registry display settings.
winemac.drv: Initialize new display device registry display settings.
user32/tests: Add more registry display mode tests.
winex11.drv: Store a full display mode in registry.
winex11.drv: Allow setting a 0-bit color depth display mode.
winex11.drv: Always update _NET_WM_STATE in update_net_wm_states().
winex11.drv: Support full screen windows on non-primary monitors.
winex11.drv: Support clipping full screen windows on non-primary monitors.
Ziqing Hui (24):
windowscodecs: Introduce get_pixel_format_bpp().
windowscodecs: Add tests and initial implementation for DdsFrameDecode_CopyPixels().
windowscodecs/tests: Add tests for decoding BC1 format.
windowscodecs/tests: Fix a variable name typo in decode_bc1().
windowscodecs/tests: Add tests for decoding BC2 format.
windowscodecs/tests: Add tests for decoding BC3 format.
windowscodecs/tests: Merge decode_bc*() into a single function.
windowscodecs/tests: Add macro BLOCK_WIDTH and BLOCK_HEIGHT.
windowscodecs: Add a lock for DdsFrameDecode.
windowscodecs: In struct DdsFrameDecode, add a new member "pixel_data" and rename member "data" to "block_data".
windowscodecs: More complete implementation of DdsFrameDecode_CopyPixels().
windowscodecs: Introduce decode_block() for DdsFrameDecode_CopyPixels().
windowscodecs: Add WIC pixel format information to struct dds_format.
windowscodecs: Introduce get_dds_format() to replace get_dxgi_format().
windowscodecs/tests: Expect actual WIC formats for uncompressed image.
windowscodecs/tests: Introduce is_compressed().
windowscodecs/tests: Add pixel format bpp to test_data.
windowscodecs: Remove get_pixel_format_bpp().
windowscodecs/tests: Add CopyPixels data tests for uncompressed images.
windowscodecs/tests: Fix tests for CopyBlocks.
windowscodecs: Fix DdsFrameDecode_Dds_CopyBlocks().
windowscodecs: Support uncompressed format in DdsFrameDecode_CopyPixels().
windowscodecs: Correctly set pixel format of uncompressed DDS images.
windowscodecs: Add more supported formats and fix RGB masks for RGBA1010102.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.15 is now available.
What's new in this release (see below for details):
- Initial implementation of the XACT Engine libraries.
- Beginnings of a math library in MSVCRT based on Musl.
- Still more restructuration of the console support.
- Direct Input performance improvements.
- Exception handling fixes on x86-64.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.15.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.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 5.15 (total 27):
27207 splayer auto quit while open a mp3 file
31476 Bully Scholarship Edition: 'no DirectX 9.0c compatible sound card' on start, needs xactengine3_1.dll et al.
34263 Framebuffer read-before-write causes graphical glitches
38615 DSA: Drakensang Demo fails to start, reports 'XACT Error after IXACTEngine::Initialize: unknown error code - maybe not an XACT error'
40163 Racedriver GRID: freeze in the menu
41030 Pac-Man Museum (Steam) crashes on start, needs '{bcc782bc-6492-4c22-8c35-f5d72fe73c6e}' xactengine3_7.dll
41045 Captain Morgane crashes on start: needs clsid '{0977d092-2d95-4e43-8d42-9ddcc2545ed5}' xactengine3_4.dll
41738 Cloning and releasing an IStream frees the HGLOBAL memory
43153 Gothic 1.0 from Steam freezes in new game on phrase "I'm Diego"
44059 Worms World Party Remastered (GOG version) crashes at launch in clean wine prefix version 2.21 and 2.22
44306 Visual Novel "A Clockwork Ley-Line: The Borderline of Dusk" doesn't work with d3d9
45700 Call of Duty WWII sound issues
48684 "BlazBlue: Calamity Trigger" class {94c1affa-66e7-4961-9521-cfdef3128d4f} not registered
49152 wine-mono 5.0.0 breaks rendering for disabled buttons
49325 Kea Colorinbook crashes:
49477 Some api-ms-win-core-* are not found by Forza Horizon 4
49518 Grim Dawn leaks shared memory after upgrade to Wine 5.12
49559 winevdm.exe crashes when running 16-bit installers (non-PE build only)
49593 inconsistent return code when executable is not found
49609 wine-staging-5.12 - Elite Dangerous launcher broken
49638 get-pip.py installer fails with "Access denied"
49653 Pattern Maker for Cross Stitch always displays measurement in imperial system
49656 SAP GUI - Ws2_32.getaddrinfo crashes with non-standard service (/etc/services)
49662 Wine Internet Explorer crashes on https://[2600::]/
49664 FrostyModManager v1.0.5.9 crashes on launch
49666 Red Dead Redemption 2 requires HEAP flags offset to match Windows
49685 Gigabyte "EasyTune" service crashes in wbemprox
----------------------------------------------------------------
Changes since 5.14:
Akihiro Sagawa (1):
user32: Fix wsprintfA's buffer usage when using %S.
Alex Henrie (2):
urlmon: Fix null pointer dereference in process_hook_section (Coverity).
urlmon: Call parse_host in combine_uri to set related parse_data fields.
Alexandre Julliard (10):
winebuild: Always use DllMain as entry point for the 32-bit side of a 16-bit module.
ntdll: Fix wcsncpy() implementation now that length is unsigned.
ntdll: Move the critical section fallback code out of the Unix library.
ntdll: Avoid importing RtlEnterCriticalSection/RtlLeaveCriticalSection from the Unix side.
ntdll: Implement KiUserApcDispatcher().
ntdll: Use KiUserApcDispatcher() to call user APCs.
kernelbase: Fix console ioctl output sizes.
ntdll/tests: Run exception tests under the debugger on all platforms.
ntdll: Unwind the syscall frame when calling KiUserExceptionDispatcher().
ntdll: Unwind the syscall frame when calling KiRaiseUserExceptionDispatcher().
Alistair Leslie-Hughes (14):
xactengine3_7: Return valid HRESULT from IXACT3Engine Initialize.
include: Define all CLSID/IID_IXACT3Engine versions.
xactengine3_7: Use CLSID defined from global header.
xactengine3_6: New DLL.
xactengine3_5: New DLL.
xactengine3_4: New DLL.
xactengine3_3: New DLL.
xactengine3_2: New DLL.
xactengine3_1: New DLL.
xactengine3_0: New DLL.
xactengine3_7: Trace FAudio version being used.
xactengine3_7: Don't cast interface pointers.
xactengine3_7: Correct callback to windows function.
dmime: Parse TimeSig track data.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (7):
ntdll: Use unique handle numbers in generated SMBIOS tables.
ntdll: End generated SMBIOS tables with the end-of-table structure.
ntdll: Add additional fields to generated SMBIOS baseboard info table.
ntdll: Add additional fields to generated SMBIOS chassis info table.
ntdll: Generate "system boot information" SMBIOS table.
include/msvcrt: Add stdbool.h header.
ntdll: Pad HEAP structure so 'flags' offset matches recent Windows.
Daniel Lehman (2):
wininet: Move INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT handling to helper.
ntdll/tests: Handle 32 cores.
Derek Lesho (4):
ntoskrnl.exe: Implement ObOpenObjectByName.
ntoskrnl.exe: Implement KeReadStateEvent.
ntoskrnl.exe: Implement KeInitializeApc.
ntoskrnl.exe: Add stubs for Ke(/Test)AlertThread.
Dmitry Kislyuk (3):
vbscript: Support conversion to string in InStr.
vbscript: Return correct error for null start in InStr and more tests.
vbscript: Implement case insensitive search in InStrRev function.
Dmitry Timoshkov (5):
ieframe: Deactivate UI when processing IOleObject::DoVerb(OLEIVERB_HIDE).
ole32/tests: Add tests for HGLOBAL based IStream::Clone.
ole32: Allow SetSize to move a fixed memory block.
mshtml: Add trace to IOleCommandTarget::Exec().
ieframe: When activating UI also activate the embedded document.
Esme Povirk (1):
mscoree: Use builtin XNA implementation by default.
Evgeny Litvinenko (1):
ntdll: Add check for totalram, mem_unit in struct sysinfo.
Fabian Maurer (1):
wine.inf: Map the Intl section of win.ini to the registry.
François Gouget (1):
combase: Fix the trailing linefeed of a TRACE().
Gabriel Ivăncescu (15):
iphlpapi: Update comment for SOCK_DGRAM since Linux also supports it from 3.0.
msscript.ocx: Implement the ScriptModule enumerator.
msscript.ocx: Move ScriptControl::Run implementation into a helper.
msscript.ocx: Implement ScriptModule::Run.
msscript.ocx: Implement ScriptModule::get_CodeObject.
msscript.ocx: Implement ScriptControl::get_CodeObject.
msscript.ocx: Add IScriptProcedureCollection stub implementation.
msscript.ocx/tests: Add initial tests for Script Procedures.
msscript.ocx: Implement ScriptProcedureCollection::get_Count.
msscript.ocx: Uncache the module objects when adding new code.
msscript.ocx: Implement ScriptProcedureCollection::get_Item.
msscript.ocx: Cache the procedures obtained from the ScriptProcedureCollection.
msscript.ocx: Implement ScriptProcedure::get_Name.
msscript.ocx: Implement ScriptProcedure::get_NumArgs.
msscript.ocx: Implement ScriptProcedure::get_HasReturnValue.
Gijs Vermeulen (7):
amstream/tests: Split test_IDirectDrawStreamSample().
amstream: Return E_INVALIDARG when a rect but no surface is passed in IDirectDrawMediaStream::CreateSample().
amstream: Increase parent IAMMediaStream refcount in IDirectDrawMediaStream::CreateSample().
configure: Add an option to disable QuickTime support.
wbemprox: Accept 0 and WBEM_FLAG_ALWAYS | WBEM_MASK_CONDITION_ORIGIN as flags in IWbemClassObject::GetNames().
wbemprox: Set obj to NULL on error in get_object().
wbemprox: Don't crash in IWbemClassObject::Put() when called with empty class object.
Hans Leidekker (1):
ws2_32: Avoid a crash in WS_getaddrinfo when the specified service doesn't exist.
Huw D. M. Davies (7):
maintainers: Add combase to the OLE RPC section.
ole32: Add a structure to hold memory block information.
ole32: Add a ref-count to the handle structure.
ole32: Add a constructor helper.
ole32: Allow Clone to access the original memory block.
ndis.sys: Reinstate the subsystem native option.
scsiport.sys: Reinstate the subsystem native option.
Jacek Caban (27):
configure: Build with -mcx16 on x86_64.
kernelbase: Add missing consts to ScrollConsoleScreenBuffer declaration.
ntdll: Move InterlockedCompareExchange128 support to winnt.h.
include: Introduce wincontypes.h.
include: Introduce consoleapi.h.
include: Add pseudoconsole declarations.
kernelbase: Add pseudoconsole stubs.
urlmon: Remove unused flags argument from parse_host.
include: Add missing console mode defines.
kernel32/tests: Fix ReadConsoleOutputW tests on Windows 8.
kernel32/tests: Disable ENABLE_VIRTUAL_TERMINAL_PROCESSING mode in testWriteNotWrappedProcessed.
kernel32/tests: Add an option to test current console.
kernel32/tests: Add console title tests.
kernelbase: Close PEB ConsoleHandle in FreeConsole.
kernel32: Set PEB console handle in AllocConsole.
kernelbase: Close PEB ConsoleHandle in AttachConsole.
server: Pass console handle to the child process.
kernel32: Set PEB ConsoleHandle for bare console.
kernel32: Use PEB console handle in CONSOLE_HandleCtrlC to check console connection.
kernelbase: Move CONTROL_C_EXIT handler to kernelbase.
kernelbase: Use PEB ConsoleHandle to check for console connection in AllocConsole.
kernelbase: Use IOCTL_CONDRV_GET_INPUT_INFO in GetConsoleCP.
kernelbase: Use IOCTL_CONDRV_GET_INPUT_INFO in GetConsoleOutputCP.
kernelbase: Use IOCTL_CONDRV_GET_TITLE in GetConsoleTitleW.
kernel32: Use IOCTL_CONDRV_GET_INPUT_INFO in GetConsoleWindow.
kernel32: Use IOCTL_CONDRV_GET_INPUT_INFO in CONSOLE_GetNumHistoryEntries.
server: Remove no longer used get_console_input_info.
Jactry Zeng (3):
d3dcompiler: Add D3D_COMPILE_STANDARD_FILE_INCLUDE support for D3DCompile2().
d3dcompiler: Implement D3DCompileFromFile().
d3dx11: Partially implement D3DX11CompileFromFile{A, W}().
Jeff Smith (4):
setupapi/tests: Change return values from coinst functions.
setupapi/tests: Add error tests for SetupDiDestroyDeviceInfoList.
setupapi: Clear error on SetupDiDestroyDeviceInfoList success.
gdiplus: Avoid a few unnecessary calculations for arc2polybezier.
Julian Rüger (1):
po: Update German translation.
Liam Middlebrook (2):
winevulkan: Harden calibrated_timestamps failure paths.
winevulkan: Update to VK spec version 1.2.149.
Louis Lenders (3):
api-ms-win-core-memory-l1-1-3: Add dll.
api-ms-win-core-file-fromapp-l1-1-0: Add dll.
api-ms-win-core-file-ansi-l2-1-0: Add dll.
Martin Storsjo (4):
ntdll: Remove a stray duplicate instruction.
ntdll: Only call putenv() if we are going to call exec().
tools: Upgrade the config.guess/config.sub scripts.
configure, msvcrt: Check for the finite() function just like finitef().
Michael Müller (2):
fsutil: Print out usage message.
fsutil: Add support for creating hardlinks.
Michael Stefaniuc (2):
dmime: Constify the chunk parameter of stream_skip_chunk().
dmime: Simplify loading/storing of the Tempo Track data.
Mikołaj Zalewski (1):
ntdll: Return from Thumb to ARM mode after assembling raise_func_trampoline_thumb.
Myah Caron (1):
kernelbase/tests: Add test for Sleep(1).
Nikolay Sivov (54):
combase: Mark 64-bit only stubs as such.
combase: Move HBRUSH marshalling functions.
combase: Move CLIPFORMAT marshalling functions.
combase: Move HBITMAP marshalling functions.
combase: Move HPALETTE marshalling stubs.
combase: Move HGLOBAL marshalling functions.
combase: Move HACCEL marshalling functions.
combase: Move CreateErrorInfo() function.
combase: Move IMalloc/IMallocSpy functionality.
ole32: Move IsValidInterface() to another file.
combase: Move FreePropVariantArray() and PropVariantClear().
combase: Move PropVariantCopy().
combase: Move CoFileTimeNow().
combase: Move CoCreateGuid().
combase: Move CoQueryProxyBlanket().
combase: Move CoSetProxyBlanket().
combase: Move CoCopyProxy().
combase: Move CoQueryClientBlanket().
combase: Move CoImpersonateClient().
combase: Move CoRevertToSelf().
combase: Add CoCreateErrorInfo() as an alias for CreateErrorInfo().
combase: Move CoGetObjectContext().
combase: Move CoGetCallState().
combase: Move CoGetActivationState().
combase: Move CoGetInstanceFromFile().
combase: Move CoGetInstanceFromIStorage().
combase: Move CoCreateInstance().
combase: Move CoGetTreatAsClass().
combase: Move ProgIDFromCLSID().
combase: Move CLSIDFromProgID().
combase: Move CLSIDFromString().
combase: Move IIDFromString().
combase: Move StringFromCLSID().
combase: Move StringFromGUID2().
combase: Move CoGetDefaultContext().
combase: Move CoMarshalHresult().
combase: Move CoUnmarshalHresult().
combase: Move CoGetInterfaceAndReleaseStream().
combase: Move CoMarshalInterThreadInterfaceInStream().
combase: Move CoCreateFreeThreadedMarshaler().
combase: Move CLSIDFromProgIDEx().
ole32: Reduce duplication for global interface table factory.
ole32: Expose ManualResetEvent as registered class.
ole32: Remove registration for Global Interface Table class.
ole32: Move more built-in classes to CoGetClassObject().
ole32: Remove now unused helper.
ole32: Remove initialized state test in CoCreateInstanceEx().
combase: Move CoCreateInstanceEx().
combase: Move CoFreeUnusedLibraries().
shell32: Silence Destination List QueryInterface() failure message.
include: Move fundamental ORPC types to separate private header.
combase: Move CoGetMarshalSizeMax().
combase: Move CoMarshalInterface().
combase: Move CoInitializeSecurity().
Paul Gofman (10):
include: Add d3d12 reflection structures.
include: Define d3d12 shader reflection interfaces.
d3dcompiler: Parse register space and range id for sm51 in d3dcompiler_parse_rdef().
d3dcompiler: Fail parsing reflection data for sm51 in versions below 47.
d3dcompiler/tests: Test bound resources' reflection for sm5.1.
ntdll/tests: Always remove hook trampoline in test_kiuserexceptiondispatcher().
ntdll: Support UWOP_PUSH_MACHFRAME opcode in RtlVirtualUnwind() on x64.
ntdll: Fix unwind from call_consolidate_callback() for PE build on x64.
ntdll: Support nested exceptions on x64.
ntdll: Don't mind epilog in RtlVirtualUnwind() in case of zero op count on x64.
Piotr Caban (17):
ucrtbase: Support overriding return value in _matherr.
msvcrt: Import sqrtf from musl.
msvcrt: Import sqrt from musl.
msvcrt: Return error on invalid character in mbstowcs.
msvcrt: Avoid allocations in _write implementation.
msvcrt: Use correct code page in _write when outputing to console.
msvcrt: Import acosf from musl.
msvcrt: Import acos from musl.
ucrtbase: Fix precision handling in %#g when printing 0.
ucrtbase: Fix away from 0 rounding in %a format.
ucrtbase: Support _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING flag in printf.
msvcrt: Import asinf from musl.
msvcrt: Import asin from musl.
msvcrt: Import atan2f from musl.
msvcrt: Import atan2 from musl.
msvcrt: Import atanf from musl.
msvcrt: Import atan from musl.
Rémi Bernon (11):
xaudio2_9: Use new FAudioCreateReverb9 interface.
ntdll/tests: Fix w2008 debugger test results.
ntdll/tests: Add broken FltSave results for w2008 / w8.
ntdll/tests: Run RtlRaiseException tests on x86_64.
wbemprox: Use empty strings instead of NULL.
user32/tests: Add basic GetRegisteredRawInputDevices tests.
user32: Implement GetRegisteredRawInputDevices.
dinput8/tests: Add DISCL_EXCLUSIVE / rawinput test.
dinput8: Add support for rawinput based devices.
dinput8: Use rawinput interface for mouse device.
dinput8: Stop using LL hooks for mouse devices.
Serge Gautherie (8):
winapi: Use $cwd variable instead of pwd command.
winapi_test: Horizontally align TEST_TYPE_SIGNED() parameter.
winapi_test: Restore horizontal alignment of macro defines.
winapi_test: PshpackN.h can only be 1/2/4/8.
winapi_test: Escape parentheses in regexp, Allow spaces around them.
winapi_test: '* long *' is 4 bytes, not pointer size, on Windows.
winapi_test: Minor $pointer_size check consistency tweak.
winapi_test: Update generated.c files.
Shawn M. Chapla (2):
gdiplus/tests: Add metafile null frame rect GDI/GDI+ interop test case.
gdiplus: Incorporate GDI frame into metafile auto-frame before scaling.
Stefan Dösinger (3):
ddraw: Thunk to surface1, not surface7 in blt.
ddraw: Thunk to surface1, not surface7 in surface_unlock.
ddraw: Thunk to surface1, not surface7 in flip.
Sven Baars (5):
sechost: Free the right variable (Coverity).
ntoskrnl.exe/tests: Add a missing argument to an ok call (Coverity).
prntvpt: Fix a null check (Coverity).
msi: Fix a leak (Coverity).
wbemprox: Avoid a use after free (Coverity).
Vijay Kiran Kamuju (13):
xactengine3_7: Add new dll.
xactengine3_7: Implement IXACT3Engine interface.
xactengine3_7: Implement IXACT3SoundBank Interface.
xactengine3_7: Implement IXACT3Cue Interface.
dbghelp: Add xmm and mxcsr register mapping functions for i386.
xactengine3_7: Implement IXACT3WaveBank Interface.
xactengine3_7: Implement IXACT3Engine::CreateStreamingWaveBank.
xactengine3_7: Implement IXACT3Wave interface.
xactengine3_7: Implement IXACT3SoundBank::Play function.
xactengine3_7: Implement IXACT3WaveBank::Play function.
xactengine3_7: Implement IXACT3Engine::RegisterNotification and IXACT3Engine::UnRegisterNotification functions.
include: Add missing WAVEBANKENTRY_FLAGS to xact3wb.h.
include: Fix the spelling of XACT_WAVE_STREAMING_PARAMETERS in xact3.h.
Vladimir Panteleev (1):
kernel32/tests: Add more GetEnvironmentVariableA/W tests.
Zebediah Figura (8):
Revert "winegstreamer: Check for failure from gst_video_info_set_format().".
server: Use a separate object for each opened mailslot device file.
msvcrt/tests: Fix some tests on Windows 2003 and earlier.
quartz/tests: Fix a test in test_basic_video().
dsound: Select the nth effect matching the given CLSID in GetObjectInPath().
wbemprox: Return WBEM_E_NOT_FOUND from get_object() if no object is available.
d3dcompiler: Iterate through the instruction list in reverse in free_instr_list() (Valgrind).
wined3d: Rename wined3d_sm4_immconst_type to wined3d_sm4_dimension.
Zhiyi Zhang (9):
dwmapi: Check NULL parameter in DwmIsCompositionEnabled().
gdi32/tests: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
user32/tests: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
user32: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
winex11.drv: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
winemac.drv: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
explorer: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
user32/tests: Remove some todo_wines.
user32/tests: Fix a failing test on Windows 10 1909.
Ziqing Hui (1):
d3dx10/tests: Add more test images for DDS format.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 5.0.2 is now available.
What's new in this release (see below for details):
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0.2.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0.2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.0.2 (total 46):
8439 Multiple Microsoft product installers fail due missing shell app path expansion (Visual Studio .NET 2002, 2003, Visual Foxpro 9.0)
19239 Multiple applications crash with division by zero on edit control with zero line height (eBay Turbo Lister, Clarin TX control wrapper)
29806 Hype The Time Quest: DirectX Media (DXM) v6.0 runtime installer fails (advpack.ExecuteCab should extract the INF from CAB before running the install part)
30814 Age of Empires II scrolling gets stuck after Alt-Tab away and back
31890 Multiple applications need IAudioEndpointVolume::GetMasterVolumeLevelScalar method implementation (Cisco IP Communicator, Cairo Shell v0.3.x)
39534 Bad Mojo Redux crashes on start (ddraw1_vtbl and ddraw_surface1_vtbl need to be writable)
41559 (winecfg) Add ability to change windows version via command line
43638 Multiple 4k demoscene OpenGL demos crash on startup with 'No active WGL context found' (Yermom, 'End of time' by Alcatraz and Altair)
45839 Qt 5.8 SDK installer needs 'IFileSystem.MoveFile' method implementation for maintenance tool creation step
46949 DDraw games using older windowed mode wrappers such as DirectX Windower Embedded v2.3/D3D Windower v1.x crash (ddraw_palette_vtbl and ddraw_surface{1,2,3,4,7}_vtbl need to be writable)
47621 Command link buttons in task dialog are displayed in wrong style
47794 Rockstar Games Launcher installer button images do not display
47999 Gif pictures stored in PE files are not loaded into HTML web pages via Res protocol
48186 every wine process shows a definite leak in dlls/ntdll/env.c
48471 Mismatching behavior of GetEnvironmentVariableW for empty / long values
48490 Restored minimized windows have wrong height
48495 XCP-ng Center v8.x (.NET 4.6 app) can't connect to server with self-signed certificate
48593 Multiple games play only one frame of video (Fable: The Lost Chapters, Audiosurf, Dark Souls 2, Oddworld: Munch's Oddysee)
48611 Cairo Shell v0.3.x (.NET 4.7 app) crashes due to missing 'HKCU\\Software\\Microsoft\\Windows NT\\CurrentVersion\\WinLogon\\Shell' registry sub-key
48683 iTunes v12.10.4.2 crashes on unimplemented function wmvcore.dll.WMIsContentProtected when adding folders to directory scan
48731 Just Cause crashes while loading level with builtin d3dx9_26
48732 How to Survive crashes on start (fullscreen mode)
48738 cmd.exe crashes when running certain batch files
48739 ConEmu (Windows console emulator) v19.10.12 fails to set Wininet's INTERNET_OPTION_IGNORE_OFFLINE and shows error dialog at startup
48740 ConEmu is constantly loosing focus
48747 ConEmu flickers and scrolls randomly
48750 Few missing DirectSound3D Algorithms GUID Defs
48762 IExplore immediately crashes on www.msnbc.com with a failed assertion
48801 Multiple games crash on unimplemented function d3dx11_43.dll.D3DX11GetImageInfoFromFile (Assetto Corsa 1.14.x, Project Cars)
48803 FITietokanta crashes every time after ADD-button is pressed
48806 Panzer Corps 2 needs msvcp140.dll.?_XLgamma@std@@YANN@Z
48814 Microsoft Word 6.0 for Windows installer crashes after wine-4.8-247-g0d7d0427d0
48816 The explorer doesn't support '/cd' option
48844 Magical Scramble Demo 1.20P shows white boxes instead of pictures.
48932 Wine does not display any windows unless `xrandr --auto` has been run
48960 NtQueryDirectoryFile incorrectly returns STATUS_NO_MORE_FILES when it encounters an ignored entry
48974 Multiple MSI-based installers show 'newBinaryXX' text instead of bitmap on button controls (missing support for 'msidbControlAttributesBitmap')
49005 Listview header occasionally fails to redraw when list is scrolled vertically
49034 Enlarge list width in font selection dialog
49115 Hitman (2016) and Hitman 2 (2018) fail to launch in DX11 mode
49142 Horizontal mouse scroll events (X11 buttons 6 and 7) should not be translated to back/forward events
49146 Hearts of Iron IV needs api-ms-win-crt-private-l1-1-0.dll._o_sin
49173 widl generates invalid code for Gecko's ISimpleDOM.idl
49175 Duplicated checking canonicalized inside kernelbase/path.c
49198 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes in entry point (incorrect page protection restored during relocation processing)
49203 Possible incorrect usage >= instead <= in shlview.c
----------------------------------------------------------------
Changes since 5.0.1:
Akihiro Sagawa (2):
ddraw/tests: Add more managed texture tests.
ddraw: Allow to create managed textures with DDSCAPS_TEXTURE|DDSCAPS_3DDEVICE caps.
Alex Henrie (2):
mmdevapi: Report 100% volume in GetMasterVolumeLevelScalar stub.
wine.inf: Add Winlogon keys.
Alexandre Julliard (5):
user.exe: Clear out the thunk array to catch invalid winprocs.
ntdll: Don't abort directory search in single entry mode when a file is ignored.
urlmon/tests: Update winehq.org's IP address.
secur32/tests: Update for new WineHQ certificate.
wininet/tests: Update for new WineHQ certificate.
Alistair Leslie-Hughes (3):
d3dx9: Add support for D3DFMT_P8 in DDS files.
ddraw: Make palette and remaining surface vtbls writable.
shell32: Correct if condition.
Andrew Eikum (1):
winebus.sys: Don't return too early if SDL initialization succeeds.
Andrey Gusev (1):
d3dx11: Add D3DX11GetImageInfoFromFileA/W stub.
Bernhard Übelacker (1):
cmd: Fix crash in if condition parsing.
Brendan Shanks (3):
dinput: Fix crash in dump_DIEFFECT() when rglDirection is unexpectedly NULL.
dinput: Fix crash in dump_DIEFFECT() when lpvTypeSpecificParams is unexpectedly NULL.
vulkan-1: Set FILEVERSION to fix official Vulkan loader installer.
Damjan Jovanovic (5):
shell32/tests: Test shlexec argv[0], and same-named executables in a different directory.
shell32: Simplify SHELL_execute().
shell32: Pass the executable's full path from SHELL_execute() to CreateProcess().
mshtml: Fix handling res protocol resource type ids without leading '#'.
mshtml: Support implicit RT_FILE resource type in res protocol.
Dmitry Timoshkov (4):
server: All fields up to CheckSum are mandatory regardless of SizeOfOptionalHeader value.
ntdll: Don't try to map the PE file past the size of the backing file.
kernel32: On process entry store PEB address in %ebx.
kernel32/tests: Add a PE test image that resembles format of some of 8k demos.
Emilio Cobos Álvarez (1):
widl: Use DECLSPEC_ALIGN in MSVC compatible way for return types too.
Gabriel Ivăncescu (3):
quartz: Clear the WS_CHILD style instead of unparenting the window.
winex11.drv: Use a helper to retrieve the decoration rect for managed windows.
winex11.drv: Fix X11DRV_X_to_window_rect to handle windows smaller than the decoration.
Gijs Vermeulen (2):
advpack: Extract inf file before installing in ExecuteCab().
ucrtbase: Add more _o forwards.
Hans Leidekker (1):
msi: Add support for bitmap buttons.
Ilia Mirkin (1):
crypt32: Also check CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG.
Jacek Caban (2):
scrrun: Add MoveFile implementation.
widl: Use DECLSPEC_ALIGN in MSVC compatible way.
Jeff Smith (3):
mshtml/tests: Add tests showing how toString has changed in IE9+.
jscript: Set return object's class to 'object' in Object.create.
msvcrt: Stop forwarding iswctype functions to ntdll.
Markus Engel (1):
user32: Force undefined bits in GetKeyState() and GetKeyboardState() to zero.
Martin Storsjo (2):
ntdll: Properly return errors when failing to unwind.
ntdll: Pass a nonnull handler_data when continuing after a collided unwind on arm64.
Mas Ahmad Muhammad (1):
comdlg32: Enlarge list area in CHOOSE_FONT window.
Michael Müller (2):
opengl32: Treat invalid pixel types as PFD_TYPE_RGBA in wglChoosePixelFormat.
ddraw: Make ddraw1_vtbl and ddraw_surface1_vtbl writable.
Murray Colpman (1):
winex11.drv: Interpret mouse 6/7 as horiz scroll.
Nikolay Sivov (3):
comctl32/button: Use duplicated image for drawing.
comctl32/listview: Only apply horizontal offset when setting header position.
dxgi: Translate DXGI_USAGE_UNORDERED_ACCESS to corresponding wined3d bind flag.
Owen Rudge (2):
winecfg: Add support for '/v' parameter allowing Windows version to be changed.
winecfg: Return 0 on success when setting Windows version.
Paul Gofman (1):
d3d11: Use stricmp() instead of _strnicmp(..., -1).
Piotr Caban (1):
msvcp90: Add std:_XLgamma implementation.
Roman Pišl (5):
wininet: Add stub for INTERNET_OPTION_IGNORE_OFFLINE.
user32/edit: Avoid division by zero during initialization.
wineconsole: Don't activate window when computing positions.
wineconsole: Don't allow recurrent resizing while grabbing changes.
comctl32/edit: Avoid division by zero during initialization.
Rémi Bernon (1):
winex11.drv: Remove frame when non-client area is empty.
Sven Baars (6):
ntdll: Fix a string leak in init_user_process_params (Valgrind).
setupapi: Fix a memory leak (Valgrind).
kernelbase: Fix a string leak in CreateProcessInternal (Valgrind).
ntdll: Fix a memory leak in fork_and_exec.
setupapi: Only copy driver info if SetupDiEnumDriverInfoW succeeded (Valgrind).
setupapi: Make sure the class name is always set on success in SetupDiGetINFClassW (Valgrind).
Vijay Kiran Kamuju (2):
wmvcore: Add semi-stub implementation for WMIsContentProtected.
include: Add missing GUIDs in dsound.h.
Vladimir Panteleev (4):
kernel32/tests: Fix GetLastError() checks in environment tests.
kernelbase: Preserve last error when GetEnvironmentVariableA succeeds.
kernelbase: Don't return ERROR_INSUFFICIENT_BUFFER from GetEnvironmentVariableW.
kernelbase: Fix GetEnvironmentVariableW return for empty variables.
Zebediah Figura (5):
winegstreamer: Also use GST_QOS_TYPE_OVERFLOW for samples that arrive on time.
winegstreamer: Clamp both timestamp and timestamp + diff to 0.
ntoskrnl.exe: Protect relocated pages one at a time.
ntoskrnl.exe: Protect the two relocated pages independently.
ntdll: Avoid leaking the previous environment in RtlSetCurrentEnvironment().
Zhipeng Zhao (1):
explorer: Support '/cd,' command line option.
Zhiyi Zhang (5):
winex11.drv: Ignore disconnected outputs when finding mirroring slaves.
comctl32/tests: Test button styles.
comctl32/button: Do not set BS_PUSHBUTTON and BS_DEFPUSHBUTTON style directly to Split Buttons and Command Links.
kernelbase: Check NULL canonicalized_len parameter in UrlCanonicalizeW().
setupapi: Fix a registry key handle leak.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 5.14 is now available.
What's new in this release (see below for details):
- More restructuration of the console support.
- Initial version of the Webdings font.
- Beginnings of PE conversion of the MSVCRT libraries.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.14.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.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 5.14 (total 26):
10106 Changing CursorBlinkRate in the registry has no effect
19040 AOL 9.0 fails to install
19775 Largo Winch: crash with hardware vertex shader
38941 DOSCenter: Text colors are missing
39721 Listview custom draw in report mode uses wrong background color
43434 StarCraft: Brood War doesn't run without setting the Windows version to 2003 or Vista
43949 WINEDEBUG=+relay does not work on armv7l
44129 Bayonetta: much slower than on Windows
47161 Star Wars: The Force Unleashed II - Not show cinematics at all
47501 Toontown Rewritten: Unhandled page fault on read access to 0x00000000 at address 0x1fea2b7 (thread 0064)
48555 Helm Standalone/VST plugin 32bit version has random content in window, 64bit version works OK
48856 Renegade Ops needs D3DX10GetImageInfoFromMemory implementation
48859 PassMark PerformanceTest 10 crashes during start since wine-4.11
49418 Wargaming.net -> Game Center -> starts with the message: Unable to connect to the content service. Please check you internet connection and try again.
49436 64-bit Diablo III hangs on startup since 5.11
49474 Chaos Legion does not work with wine quartz.
49487 ListView control custom draw in report view shows blank item if handler clears uItemState CDIS_SELECTED flag
49523 Access denied opening c:\windows\system32\cmd.exe\cmd.exe
49561 After update to wine-5.12 "1c" start crashed with error Unhandled exception: page fault on read access to 0x00000000 in 64-bit code (0x00000000100fb266).
49562 Godot Engine have broken shadows and doesn't read properly settings file
49578 Battle.net wouldn't start
49581 Disk Genius needs kernel32.SetFirmwareEnvironmentVariable
49590 Battle.net Agent.exe hang/crash
49604 TES4:Oblivion hang on filter_graph.cs on Wine 5.13
49620 Tableau Desktop fails to install
49626 ntdll can be loaded multiple times into the same process
----------------------------------------------------------------
Changes since 5.13:
Alex Henrie (2):
kernel32: Stub SetFirmwareEnvironmentVariableW.
ws2_32/tests: Allow ESP and AH protocols to be missing on Windows.
Alexandre Julliard (31):
ntdll: Fix a memory leak.
ntdll: Move the LPC port syscall stubs to the Unix library.
ntdll: Move the token functions to the Unix library.
ntdll: Move the security system calls to the Unix library.
ntdll: Move various stub functions to the Unix library.
ntdll: Move the locale system calls to the Unix library.
ntdll: Set a better exit status when the main image fails to load.
ntdll: Map errno to a status also in directory functions.
ntdll: Implement KiRaiseUserExceptionDispatcher().
ntdll: Use a syscall thunk for NtClose().
ntdll: Use a syscall thunk for NtQueryPerformanceCounter().
ntdll: Avoid private Unix functions in RtlExitUserThread().
ntdll: Implement NtSetInformationProcess(ProcessThreadStackAllocation).
ntdll: Avoid private Unix functions in RtlCreateUserStack().
ntdll: Call virtual_set_large_address_space() directly from the Unix side.
winegc: Support overriding the default PE file alignment.
ntdll: Update the TEB and PEB structures for newer Windows versions.
include: Add 64-bit versions of the TEB and PEB for WoW64 mode.
ntdll: Store the thread startup info in the ntdll_thread_data structure.
ntdll: Allocate 64-bit TEB and PEB in WoW64 mode.
ntdll: Store the filesystem redirection flag in the 64-bit TEB.
winebuild: Store the syscall frame in the thread data on i386.
winebuild: Store the syscall frame in the thread data on x86_64.
winebuild: Store the syscall frame in the thread data on ARM.
winebuild: Store the syscall frame in the thread data on ARM64.
ntdll: Use a syscall thunk for NtGetContextThread().
ntdll: Reimplement RtlRaiseException() to build a correct context on ARM.
ntdll/tests: Fix vectored exception handler usage.
ntdll/tests: Enable more exception tests on ARM platforms.
ntdll/tests: Add tests for RtlCaptureContext() and NtGetContextThread() on x86_64.
ntdll/tests: Add thread context test for ARM platforms.
Alistair Leslie-Hughes (1):
ws2_32: Correct returned error code for an invalid socket.
Anton Baskanov (6):
amstream/tests: Fix AMMultiMediaStream::OpenFile test.
amstream/tests: Fix file rendering test.
amstream/tests: Add a test AVI file.
amstream/tests: Move the testfilter code above to use it in SetState tests.
amstream: Return S_OK from AMMultiMediaStream::SetState when IMediaControl::Run succeeds.
amstream: Start the stream when AMMSF_RUN is passed to AMMultiMediaStream::OpenFile.
Brendan Shanks (6):
bcrypt: Improve BCryptSecretAgreement/BCryptDestroySecret/BCryptDeriveKey stubs.
bcrypt: Add tests for BCryptSecretAgreement/BCryptDestroySecret/BCryptDeriveKey.
winemac.drv: Build cocoa_window.m with GL_SILENCE_DEPRECATION.
winemac.drv: Fix warnings for constants deprecated by macOS 10.14.
winevulkan: Update Vulkan XML URL to use raw.githubusercontent.com.
winemac.drv: Fix warnings for constants deprecated by macOS 10.12.
Daniel Lehman (1):
msvcp140_1: Add stub msvcp140_1.
Derek Lesho (1):
mountmgr.sys: Use SystemBuffer output for IOCTL_STORAGE_QUERY_PROPERTY.
Dmitry Kislyuk (1):
vbscript: Implement case insensitive comparison.
Dmitry Timoshkov (8):
usp10: Don't specify ETO_GLYPH_INDEX for bitmap fonts.
ieframe: Implement IOleObject::GetUserClassID().
ieframe: Implement IOleObject::Advise().
ieframe: Implement IOleObject::Unadvise().
ieframe: Implement IOleObject::EnumAdvise().
ieframe: IOleObject::Close() should notify OnClose() advise sink.
ieframe/tests: Add some tests for IOleObject::Advise(), IOleObject::Unadvise() and IOleObject::EnumAdvise().
fonts: Add initial version of Webdings font.
François Gouget (2):
tests: Trace elapsed time when $WINETEST_TIME is set.
winex11.drv: Fix the spelling of a comment.
Gabriel Ivăncescu (3):
ddraw/tests: Test non-primary video memory surface in test_lost_device().
ddraw: Return DDERR_WRONGMODE when attempting to restore surfaces of a lost device.
ddraw: Check the foreground window in addition to the device state in ddraw_update_lost_surfaces().
Georg Lehmann (1):
winevulkan: Avoid returning 0 for swapchain maxImageCount.
Gerald Pfeifer (1):
ntdll: Include <signal.h> for sigset_t.
Gijs Vermeulen (13):
qcap/tests: Avoid test failures in test_seeking().
wbemprox/tests: Fix test failures.
wbemprox/tests: Add a test for Win32_PhysicalMemory.ConfiguredClockSpeed.
amstream: Accept more media subtypes in AMVideoStream::ReceiveConnection().
wbemprox/tests: Add IEnumWbemClassObject::Next() tests.
wbemprox: Support retrieving more than one object in IEnumWbemClassObject::Next().
qdvd: Add a stub IDvdInfo2 interface.
amstream: Increase parent IAMMediaStream refcount in IAudioMediaStream::CreateSample().
amstream: Increase IAudioData refcount in IAudioMediaStream::CreateSample().
amstream: Implement IAudioStreamSample::GetMediaStream().
amstream: Implement IAudioStreamSample::GetAudioData().
amstream: Get rid of the IAudioStreamSampleImpl typedef.
amstream: Return correct media type info when enumerating AMAudioStream media types.
Hans Leidekker (1):
bcrypt: Allow importing private ECDSA keys.
Jacek Caban (47):
include: Add missing PROC_THREAD_ATTRIBUTE defines.
server: Introduce IOCTL_CONDRV_SET_INPUT_INFO ioctl.
wineconsole: Use IOCTL_CONDRV_SET_INPUT_INFO in WINECON_SetHistorySize.
wineconsole: Use IOCTL_CONDRV_SET_INPUT_INFO in WINECON_SetHistoryMode.
wineconsole: Use IOCTL_CONDRV_SET_INPUT_INFO in WINECON_SetEditionMode.
wineconsole: Use IOCTL_CONDRV_SET_INPUT_INFO to set console window handle.
server: Remove no longer used code from set_console_input_info.
server: Introduce IOCTL_CONDRV_SET_TITLE ioctl.
wineconsole: Use IOCTL_CONDRV_SET_TITLE ioctl.
server: Allow creating screen buffer using NtCreateFile.
kernelbase: Use NtCreateFile in CreateConsoleScreenBuffer.
server: Introduce IOCTL_CONDRV_WRITE_OUTPUT ioctl.
kernelbase: Use IOCTL_CONDRV_WRITE_OUTPUT in WriteConsoleOutputW.
kernelbase: Use IOCTL_CONDRV_WRITE_OUTPUT in WriteConsoleOutputAttribute.
kernelbase: Use IOCTL_CONDRV_WRITE_OUTPUT in WriteConsoleOutputCharacterW.
kernel32: Use IOCTL_CONDRV_WRITE_OUTPUT in CONSOLE_WriteChars.
server: Remove no longer used write_console_output request.
kernel32/tests: Add more console output tests.
wineconsole: Ignore ERROR_IO_INCOMPLETE error in WINECON_GrabChanges.
wineconsole: Use ReadConsoleOutputW in WINECON_FetchCells.
condrv: Rename condrv_write_output_params to condrv_output_params.
server: Introduce IOCTL_CONDRV_READ_OUTPUT ioctl.
kernelbase: Use IOCTL_CONDRV_READ_OUTPUT in ReadConsoleOutputCharacterW.
kernelbase: Use IOCTL_CONDRV_READ_OUTPUT in ReadConsoleOutputAttribute.
kernelbase: Use IOCTL_CONDRV_READ_OUTPUT in ReadConsoleOutputW.
server: Remove no longer used read_console_output request.
kernel32/tests: Add more console output reading tests.
server: Introduce IOCTL_CONDRV_SCROLL ioctl.
kernelbase: Use IOCTL_CONDRV_SCROLL in ScrollConsoleScreenBufferW.
server: Remove no longer used move_console_output request.
server: Use weak reference between console input and renderer objects.
server: Allow using console ioctls on renderer object.
wineconsole: Rename hSynchro to console.
wineconsole: Use renderer handle instead of hConOut where possible.
server: Remove no longer needed CONSOLE_RENDERER_ACTIVE_SB_EVENT events.
server: Remove no longer needed open_console request.
wineconsole: Use renderer handle instead of hConIn where possible.
wineconsole: Move WINECON_Spawn call to WINECON_Init.
wineconsole: Use console in/out handles only in WINECON_Init.
kernelbase: Lock console critical section when changing current console.
kernelbase: Fix handling processes using STARTF_USESTDHANDLES when setting standard handles in AllocConsole.
kernelbase: Close handles allocated by AllocConsole in FreeConsole.
kernel32/tests: Add more AllocConsole tests.
kernelbase: Use init_console_std_handles in AttachConsole.
winegcc: Support file alignment on msvc target.
winegcc: Try using msvc file align syntax if mingw-style is not supported.
configure: Use *-windows instead of *-windows-gnu as fallback cross compiler target.
Jactry Zeng (1):
wininet: Handle empty expires for cookie setting.
Jeff Smith (1):
usp10: Fix typo in comment about box drawing unicode range.
Jiajin Cui (1):
gdiplus: Fix crash if failed to create bitmap.
Joshua Ashton (1):
winevulkan: Implement VK_EXT_calibrated_timestamps.
Kevin Puetz (2):
jscript: Fix some memory problems in disp_call_value.
jscript: Fix `this` within IDispatchEx::InvokeEx.
Liam Middlebrook (1):
winevulkan: Update to VK spec version 1.2.148.
Louis Lenders (1):
sc.exe: Fake succes for the SdSet argument.
Matteo Bruni (9):
wined3d: Correctly destroy the adapter on format initialization failure in no3d mode.
wined3d: Fail adapter creation if driver version info can't be found.
wined3d: Set proper values for the guard band caps.
wined3d: Remove some unnecessary "inline" qualifiers.
wined3d: Get rid of default label in debug_cs_op() switch.
ntdll: Don't read current CPU frequency on Linux.
include: Add ID3D10Device1 forward declaration.
include: Flesh out d3dx10math.h a bit more.
d3dcompiler: Don't link to dxguid or uuid.
Myah Caron (4):
include: Add IShellLinkDual interface.
amstream: Implement IMediaStreamFilter::GetDuration.
amstream: Implement IAMMultiMediaStream::GetDuration.
amstream: Implement IMediaStreamFilter::GetStopPosition.
Nikolay Sivov (9):
comctl32/listview: Do no alter custom draw text colors between notification stages.
sxs/tests: Use wide string literal constants.
sxs: Implement surrogate data lookup in SxsLookupClrGuid().
sxs: Add support for SXS_LOOKUP_CLR_GUID_USE_ACTCTX in SxsLookupClrGuid().
combase: Move Wdtp* marshalling functions.
combase: Move HWND marshalling functions.
combase: Move HDC marshalling functions.
combase: Move HMENU marshalling functions.
combase: Move HICON marshalling functions.
Paul Gofman (2):
kernel32: Zero initialize module data in fetch_module().
iphlpapi: Fix buffer reallocation in get_pid_map().
Piotr Caban (30):
comctl32: Fix non printable characters handling in SB_SETTEXT.
msvcrt: Add _wctype table.
msvcrt: Export _pwctype table.
msvcrt: Don't use get_char_typeW in _iswctype_l.
msvcrt: Copy wcslen implementation from ntdll.
msvcrt: Copy wcscpy implementation from ntdll.
msvcrt: Copy wcscat implementation from ntdll.
msvcrt: Copy wcschr implementation from ntdll.
msvcrt: Copy wcsrchr implementation from ntdll.
msvcrt: Don't use wine/unicode.h header.
msvcrt: Don't use div and ldiv function.
msvcrt: Copy memchr implementation from ntdll.
msvcrt: Copy memcmp implementation from ntdll.
msvcrt: Copy memmove implementation from ntdll.
msvcrt: Copy memset implementation from ntdll.
msvcrt: Copy strcat implementation from ntdll.
msvcrt: Copy strchr implementation from ntdll.
msvcrt: Copy strlen implementation from ntdll.
msvcrt: Copy strncat implementation from ntdll.
msvcrt: Copy strpbrk implementation from ntdll.
msvcrt: Copy strrchr implementation from ntdll.
msvcrt: Add __STRINGTOLD_L and _atoldbl_l partial stubs.
msvcrt: Support arbitrary buffer size in bnum.
msvcrt: Introduce fpnum structure that can be used to represent 64 and 80-bit double.
msvcrt: Create 64-bit mantissa in fpnum_parse.
msvcrt: Don't depend on additional mantissa bits when rounding.
msvcrt: Don't use strtold in __STRINGTOLD_L.
msvcrt: Add __STRINGTOLD tests.
msvcrt: Fix rounding of numbers smaller than minimal subnormal.
user32: Support undocumented SC_SIZE flag that can be used to move window.
Rémi Bernon (2):
winegcc: Align sections in PE files to page size.
dbghelp: Ignore missing debug info in SymInitializeW.
Serge Gautherie (9):
winapi_test: Remove leftover PUUID_VECTOR from tests.dat.
winapi_test: Fix a verifying loop on headers, which never finds any type name.
winapi_test: Add common headers for rpcrt4 test.
winapi_test: Remove useless common headers for shlwapi test.
winapi_test: Remove useless winbase.h for wininet test.
winapi_test: Add a blank line between common and specific headers.
winapi_test: Remove MIDL_STUB_MESSAGE field exclusions.
winapi_test: Fix 'MIXERLINECONTROL[AW]' typos.
winapi: Update 'perl -w' to 'use warnings 'all''.
Shawn M. Chapla (10):
gdiplus/tests: Add metafile unknown font deserialize test.
gdiplus: Use GenericFontFamilySansSerif when missing deserialized font family.
gdiplus/tests: Add metafile FillRegion test.
gdiplus: Add FillRegion record deserialization.
gdiplus: Add FillRegion serialization.
gdiplus/tests: Add metafile LinearGradient brush test.
gdiplus: Add LinearGradient brush object serialization.
gdiplus: Fix LinearGradientBrush deserialization off-by-one errors.
gdiplus: Use FromRect constructor in LinearGradientBrush deserialization.
gdiplus/tests: Fix 'LogicalDpiY' typos in metafile tests.
Zebediah Figura (58):
ntdll/tests: Remove some workarounds for no longer supported versions of Windows.
ntdll/tests: Remove todo_wine for tests that now succeed.
ntdll/tests: Return early if ThreadHideFromDebugger isn't supported.
ntdll/tests: Remove some unnecessary checks in test_query_logicalprocex().
ntdll/tests: Make info.c less verbose by default.
quartz/videorenderer: Render preroll samples.
quartz/vmr9: Render preroll samples.
quartz/dsoundrender: Reimplement the DirectSound renderer directly on top of the strmbase filter.
strmbase: Remove some no longer used callbacks.
strmbase: Get rid of BaseRendererImpl_Receive().
strmbase: Wait for presentation time after rendering the first sample.
quartz/vmr9: Signal state change completion only after PresentImage() has been called.
quartz/tests: Add tests for IMediaSeeking::GetCurrentPosition() and EC_COMPLETE interaction.
quartz: Return the stop position from GetCurrentPosition() after all filters return EC_COMPLETE.
wine.inf: Map CursorBlinkRate to the registry.
wine.inf: Map the Windows section of win.ini to the registry.
quartz/vmr9: Return E_INVALIDARG if both texture and offscreen flags are passed to AllocateSurfaceHelper().
qcap/vfwcapture: Return VFW_S_CANT_CUE from GetState(), not Pause().
winspool: Remove the "force" parameter to WINSPOOL_SetDefaultPrinter().
winspool: Stop setting the "Devices" key.
wine.inf: Map the Devices section of win.ini to the registry.
winspool: Stop modifying the "Devices" profile section.
quartz: Allow the arguments to IMediaSeeking::GetPositions() to be NULL.
quartz: Correctly convert reference time to REFTIME in IBasicVideo::get_AvgTimePerFrame().
winegstreamer: Check for failure from gst_video_info_set_format().
wine.inf: Map the Desktop section of win.ini to the registry.
wine.inf: Map the Extensions section of win.ini to the registry.
wine.inf: Map the PrinterPorts section of win.ini to the registry.
winspool: Stop setting the PrinterPorts profile section.
wine.inf: Map the Sounds section of win.ini to the registry.
winegstreamer: Preserve the frame rate when converting video formats.
winegstreamer: Release the IAsyncReader on disconnection.
quartz/dsoundrender: Clear the DirectSound buffer on EOS.
quartz: Don't pause the graph in IMediaSeeking::SetPositions if it hasn't finished running yet.
quartz/vmr9: Allow AdviseSurfaceAllocator() to be called multiple times.
dsound/tests: Link directly to dsound.
dsound/tests: Rewrite test_effects().
dsdmo/tests: Add tests for aggregation.
dsound/tests: Move effect parameter tests to dsdmo.
dsdmo/tests: Add some tests for media types.
dsdmo: Add a stub waves reverb effect.
dsdmo: Stub IMediaObjectInPlace.
dsdmo: Stub IDirectSoundFXWavesReverb.
dsdmo: Implement IMediaObject::SetInputType().
dsdmo: Implement IMediaObject::SetOutputType().
kernel32/tests: Relax a timing test.
dsdmo: Add a stub I3DL2 reverb effect.
dsdmo: Stub IDirectSoundFXI3DL2Reverb.
dsdmo: Implement IDirectSoundFXI3DL2Reverb parameters methods.
dsdmo: Add a stub equalizer effect.
dsdmo: Stub IDirectSoundFXParamEq.
dsdmo: Implement IDirectSoundFXParamEq parameters methods.
wpp: Correct the spelling of "ellipsis".
ntdll: Compare builtins by their device and inode number directly.
ntdll: Append ntdll.dll to the builtin_modules list.
ntoskrnl.exe/tests: Add some tests for file names.
ntdll/tests: Add more tests for object names.
dbghelp: Replace another usage of GetEnvironmentVariable() with the target process's environment.
Zhiyi Zhang (23):
user32: Trace ChangeDisplaySettingsExW() results.
user32: Trace EnumDisplaySettingsExW() results.
user32/tests: Test that EnumDisplayMonitors() doesn't set error codes.
user32/tests: Add more ChangeDisplaySettings() tests.
user32: Check invalid device names in ChangeDisplaySettingsExW().
winex11.drv: Allow reporting a virtual desktop mode with the same width or height as the current mode.
winex11.drv: Migrate the virtual desktop display settings handler to a new interface.
winex11.drv: Support virtual desktop display mode enumeration using the new display settings handler interface.
winex11.drv: Cache display modes for X11DRV_EnumDisplaySettingsEx().
winex11.drv: Support setting virtual desktop display mode using the new display settings handler interface.
winex11.drv: Remove the old virtual desktop display settings handler.
user32: Check invalid device names in EnumDisplaySettingsExW().
winex11.drv: Sort display modes.
winex11.drv: Move broken NVIDIA driver detection into a function.
winex11.drv: Add set_screen_size() helper.
winex11.drv: Add XRandR 1.4 display settings handler.
winex11.drv: Remove XRandR 1.2 display settings handler.
winex11.drv: Support automatic display position adjustment.
winex11.drv: Support detaching adapters.
winex11.drv: Migrate XRandR 1.0 display settings handler to a new interface.
winex11.drv: Migrate XVidMode display settings handler to a new interface.
winex11.drv: Migrate NoRes display settings handler to a new interface.
winex11.drv: Remove the old display settings handler interface.
Ziqing Hui (13):
windowscodecs/tests: Add more RGB images for DDS tests.
windowscodecs: Add more supported DXGI formats for DDS decoder. And return the actual formats for uncompressed DDS images.
windowscodecs/tests: Add tests for DDS images with fourCC which are also uncompressed.
windowscodecs: Introduce is_compressed(). And fix some format checks.
windowscodecs: Add more formats to get_bytes_per_block_from_format().
windowscodecs/tests: Add tests for cube maps.
windowscodecs: Add support for decoding cube maps.
windowscodecs/tests: Remove the test data in test_dds_decoder_initialize().
windowscodecs/tests: Simplify init_decoder().
windowscodecs/tests: Rename test_dds_bgr565 to test_dds_rgb565.
windowscodecs/tests: Add tests for alpha and luminance image.
windowscodecs/tests: Add more compressed test DDS images.
windowscodecs: Fix alpha mode of DXT3 and DXT5 image.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.13 is now available.
What's new in this release (see below for details):
- Re-mapping of INI files to the registry.
- System call thunks in NTDLL.
- Reimplementation of floating point numbers printing.
- Beginnings of a restructuration of the console support.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.13.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.13.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.13 (total 22):
4096 IniFileMapping not Implemented (ini on win9x => Registry on NT)
18072 Core Media Player crashes on missing CLSID_DvdGraphBuilder {fcc152b7-f372-11d0-8e00-00c04fd7c08b} (qdvd.dll)
27298 The Witcher 2 Slow Performance on any setting.
28109 winmm capture tests fail on some machines
31023 CuteFTP 8.3.4 - "Encountered an improper argument." Error boxes after most actions.
32215 11game platform crashes at start
36546 Please remove `tmpfs` special treatment in ntdll / MSI packages cannot be installed from `tmpfs`
42874 Battle.net App is unable to update games
44127 Metal Gear Solid V: Ground Zeroes doesn't launch
45701 Warframe: Launcher.exe does not update, keeps relaunching itself
45876 Call of Duty: Black Ops III and Call of Duty: WWII have no mouse input when using native mfplat
47587 Call to Power II: Screen doesn't repaint after selecting main menu option
49092 Blindwrite 7 crashes with a stack overflow
49103 Call of Duty: Modern Warfare 2 Campaign Remastered mouse input is missing
49422 Dungeon Siege 1 & 2 weapons are misplaced
49438 Wine on ARM64 fails with "could not exec the wine loader" unless --enable-win64 is used
49489 Incorrect rendering in Warframe with nvidia
49496 sprintf uses locale specific decimal point when it should not.
49513 Battle.net fails to install World of Warcraft or Starcraft II
49522 Mass Effect: Andromeda doesn't recognize keyboard input since 5.12
49570 LVM_FINDITEM should do case-insensitive test for item text
49573 Sporadic page fault on 64bit prefix creation on macOS
----------------------------------------------------------------
Changes since 5.12:
Alex Henrie (1):
ws2_32: Avoid depending on system getprotoby(name|number) functions.
Alexandre Julliard (89):
ntdll: Update working set limit also when loading a builtin dll.
ntdll: Reserve memory areas on all platforms.
winebuild: Allow specifying a spec file also for Unix libraries.
winebuild: Add a -syscall entry point flag
winebuild: Add generation of system call thunks.
ntdll: Use syscalls for NtCreateFile() and NtOpenFile().
ntdll/tests: Enable a few tests on all platforms.
ntdll: Use proper flags instead of characters for printf flags.
ntdll: Use macros to define both A and W printf functions.
winebuild: Generate Windows-style syscall thunks on x86.
winebuild: Generate Windows-style syscall thunks on x86_64.
ntdll: Move NtQueryObject/NtSetInformationObject to the Unix library.
kernel32: Move RemoveDirectoryA/W() implementation to kernelbase.
mountmgr: Use wine_get_dos_file_name() instead of wine_unix_to_nt_file_name().
ntdll: Disallow relative paths in wine_unix_to_nt_file_name(), handle them in the caller.
winebuild: Fix retrieving syscall arg length on x86_64.
ntdll: Return a char pointer instead of an ANSI_STRING in nt_to_unix_file_name().
ntdll: Allocate the return buffer in the caller for wine_nt_to_unix_file_name().
ntdll: Use char pointers instead of ANSI/UNICODE_STRING in unix_to_nt_file_name().
ntdll: Allocate the buffer in the caller for wine_unix_to_nt_file_name().
ntdll: Clear the reply data on error in virtual_locked_server_call().
mountmgr: Fix handling of buffer overflows in IOCTL_MOUNTMGR_QUERY_UNIX_DRIVE.
ntdll: Use stack buffers to retrieve the drive info from mountmgr.
ntdll: Silence a noisy error.
ntdll: Add a helper function to open a file from its Unix path.
ntdll: Add a helper function to retrieve the NT headers of the main exe.
ntdll: Add a local helper function to check DOS 8.3 names.
ntdll: Move the FSCTL_PIPE_IMPERSONATE semi-stub to the server.
ntdll: Avoid using RtlInitUnicodeString() in the Unix library.
ntdll: Avoid using RtlDosPathNameToNtPathName_U() in the Unix library.
ntdll: Avoid using LdrQueryProcessModuleInformation() in the Unix library.
ntdll: Avoid using RtlQueueWorkItem() in the Unix library.
ntdll: Return the TEB pointer in NtCreateThreadEx().
ntdll: Implement RtlActivateActivationContextEx().
ntdll: Move the activation context initialization out of NtCreateThreadEx().
ntdll: Use a pthread mutex for the CD-ROM cache section.
ntdll: Use a pthread mutex for the timezone section.
ntdll: Use a pthread mutex for the mount info section.
ntdll: Use a pthread mutex for the drive info section.
ntdll: Use a pthread mutex for the current directory section.
ntdll: Use a pthread mutex for the wait on address section.
ntdll: Use malloc() to allocate the buffer in unix_to_nt_file_name().
ntdll: Use malloc() to allocate the buffer in nt_to_unix_file_name() and related helpers.
ntdll: Use malloc() to allocate the buffer in server_get_unix_name().
ntdll: Use malloc() to allocate the buffer in get_device_mount_point().
ntdll: Use malloc() to allocate the directory cache.
ntdll: Use malloc() to allocate temporary filename buffers.
ntdll: Use malloc() to allocate temporary process data.
ntdll: Use malloc() to allocate the logical processor information.
ntdll: Use malloc() to allocate the system processor information.
ntdll: Use malloc() to allocate temporary system information.
ntdll: Initialize the thread signal stack in the common code.
ntdll: Add support for FPU registers in signal context on ARM.
ntdll: Handle faults inside the signal handler also on ARM.
ntdll: Pass the stack address to the virtual_handle_fault() function.
ntdll: Add a helper function to grow the stack on guard page faults.
ntdll: Also handle stack guard page faults in virtual_handle_fault().
ntdll: Add a helper function to push the exception data to the thread stack.
ntdll: Build the exception record on the signal stack first.
ntdll: Handle signals on the signal stack also on ARM.
ntdll: Send debug event before pushing exception data on ARM.
ntdll: Send debug event before pushing exception data on ARM64.
ntdll: Send debug event before pushing exception data on x86.
ntdll: Send debug event before pushing exception data on x86_64.
ntdll: Use separate handlers for SIGSEGV/SIGILL/SIGBUS on ARM64.
ntdll: Fix RtlSizeHeap() error value for 64-bit.
ntdll: Avoid buffer underflow in find_dos_device().
kernelbase: Use FSCTL_GET_OBJECT_ID to compare file identities.
ntdll: Use syscall thunks for semaphore functions.
ntdll: Use syscall thunks for event functions.
ntdll: Use syscall thunks for mutex functions.
ntdll: Use syscall thunks for job functions.
ntdll: Use syscall thunks for timer functions.
ntdll: Use syscall thunks for wait functions.
ntdll: Use syscall thunks for keyed event functions.
ntdll: Use syscall thunks for I/O completion functions.
ntdll: Use syscall thunks for thread functions.
ntdll: Use syscall thunks for process functions.
ntdll: Use syscall thunks for file functions.
ntdll: Use syscall thunks for virtual memory functions.
ntdll: Use syscall thunks for system functions.
ntdll: Use syscall thunks for object manager functions.
ntdll: Move the registry system calls to the Unix library.
ntdll: Move the remaining file functions to the Unix library.
ntdll: Move more object manager functions to the Unix library.
ntdll: Move the atom system calls to the Unix library.
ntdll: Move some system stub functions to the Unix library.
ntdll: Move some timer stub functions to the Unix library.
ntdll: Move some power stub functions to the Unix library.
Alistair Leslie-Hughes (2):
wbemprox: Add more Win32_PhysicalMemory properties.
ws2_32: Trace SIO_IDEAL_SEND_BACKLOG_* calls.
Bernhard Rosenkränzer (1):
include: Correct a spelling error in the definition of IXACT3Engine_Initialize.
Brendan Shanks (5):
winex11.drv: Retrieve PCI IDs and device name from Vulkan.
winevulkan: Export VK_KHR_get_surface_capabilities2 functions from vulkan-1.
user32: Create separate FIXME() messages for each packet type in DisplayConfigGetDeviceInfo().
user32: Handle GET_SOURCE_NAME in DisplayConfigGetDeviceInfo().
user32/tests: Test DisplayConfigGetDeviceInfo() GET_SOURCE_NAME with valid ID and invalid LUID.
Daniel Lehman (6):
msxml3: Set internal error on loading from IStream.
msxml3: Set internal error on loading from IPersistStream.
msvcrt/tests: Check errno in strtod test.
msvcrt: Set errno in strtod.
msvcrt: Treat large exponent as overflow in strtod.
ucrtbase/tests: Check errno in strtod tests.
Dmitry Timoshkov (4):
msxml3/tests: Add some tests for XML loading with site assigned.
msxml3: IXMLDOMDocument2's ::SetSite implementation should query site for base URI.
msxml3: Use site's base URI when loading an XML file.
gdi32: Add support for GCP_USEKERNING to GetCharacterPlacement().
Esme Povirk (1):
wbemprox: Implement Win32_SoundDevice.Manufacturer.
François Gouget (3):
kernel32: FILE_SetDosError() is not used anymore so remove it.
mshtml: Fix the spelling of a MoveUnitBounded() parameter.
msvcrt: Fix the spelling of a TRACE() message.
Gabriel Ivăncescu (3):
wined3d: Don't change the swapchain window z-order if no window changes were requested.
wined3d: Don't show the window if no window changes were requested.
wined3d: Restore the window visibility and z-order upon exiting fullscreen, if requested.
Georg Lehmann (2):
winevulkan: Unwrap object for VK_EXT_private_data when needed.
vulkan-1: Add test for VK_EXT_private_data.
Gijs Vermeulen (12):
amstream: Increment/decrement IMediaStreamFilter refcount twice in multimedia_stream_create/release().
amstream/tests: Add IAMMediaStream::JoinFilter() tests.
amstream: Add graph to stream in IMediaStreamFilter::AddMediaStream().
qdvd: Add IDvdGraphBuilder stub.
amstream/tests: Fix filter leak in test_add_stream().
wbemprox/tests: Add Win32_SoundDevice tests.
gdi32: Fix some test failures when not using X11.
amstream: Add AMMediaStream::JoinFilterGraph() tests.
amstream: Implement AMMediaStream::JoinFilterGraph.
qdvd: Support aggregation.
qdvd: Add a stub dvd navigator filter.
qdvd: Add a stub IDvdControl2 interface.
Huw D. M. Davies (2):
server: Remove unnecessary 'remove' parameter from accept_hardware_message request.
include: Update some members of KUSER_SHARED_DATA.
Jacek Caban (65):
server: Always create fd for console_input object.
server: Introduce IOCTL_CONDRV_GET_INPUT_INFO ioctl.
kernelbase: Reimplement GetNumberOfConsoleInputEvents using IOCTL_CONDRV_GET_INPUT_INFO.
server: Introduce IOCTL_CONDRV_READ_INPUT and IOCTL_CONDRV_PEEK ioctls.
kernel32: Use IOCTL_CONDRV_READ_INPUT in read_console_input.
kernelbase: Reimplement PeekConsoleInputW using IOCTL_CONDRV_PEEK.
server: Get rid of no longer needed read_console_input request.
wineconsole: Use IOCTL_CONDRV_GET_INPUT_INFO in WINECON_GetServerConfig.
kernel32: Use IOCTL_CONDRV_GET_INPUT_INFO in CONSOLE_GetEditionMode.
kernelbase: Use ioctl for WriteConsoleInputW implementation.
server: Get rid of no longer needed write_console_input request.
server: Create pseudo fd for console_input_events object.
server: Introduce IOCTL_CONDRV_GET_RENDERER_EVENTS ioctl.
wineconsole: Use IOCTL_CONDRV_GET_RENDERER_EVENTS to fetch events.
server: Remove no longer needed get_console_renderer_events request.
wineconsole: Use OVERLAPPED to wait for console events.
server: Remove no longer needed supoort for signaling console_input_events object.
winebuild: Use asm_name for __wine_syscall.
kernel32/tests: Add more invalid handle tests.
server: Use separated fd ops for screen_buffer fd object.
server: Introduce IOCTL_CONDRV_GET_OUTPUT_INFO ioctl.
kernel32: Use IOCTL_CONDRV_GET_OUTPUT_INFO in get_console_font_size.
kernel32: Use IOCT_CONDRV_GET_OUTPUT_INFO in GetCurrentConsoleFontEx.
kernelbase: Use IOCTL_CONDRV_GET_OUTPUT_INFO in GetLargestConsoleWindowSize.
kernelbase: Use IOCTL_CONDRV_GET_OUTPUT_INFO in GetConsoleCursorInfo.
kernelbase: Use IOCTL_CONDRV_GET_OUTPUT_INFO in GetConsoleScreenBufferInfo.
kernelbase: Use IOCTL_CONDRV_GET_OUTPUT_INFO in GetConsoleScreenBufferInfoEx.
wineconsole: Use IOCTL_CONDRV_GET_OUTPUT_INFO in WINECON_GetServerConfig.
server: Remove no longer needed get_console_output_info request.
kernelbase: Introduce console_ioctl helper.
server: Introduce IOCTL_CONDRV_SET_OUTPUT_INFO ioctl.
kernelbase: Use IOCTL_CONDRV_SET_OUTPUT_INFO in SetConsoleCursorInfo.
kernelbase: Use IOCTL_CONDRV_SET_OUTPUT_INFO in SetConsoleCursorPosition.
kernelbase: Use IOCTL_CONDRV_SET_OUTPUT_INFO in SetConsoleScreenBufferInfoEx.
kernelbase: Use IOCTL_CONDRV_SET_OUTPUT_INFO in SetConsoleScreenBufferSize.
kernelbase: Use IOCTL_CONDRV_SET_OUTPUT_INFO in SetConsoleTextAttribute.
kernelbase: Use IOCTL_CONDRV_SET_OUTPUT_INFO in SetConsoleWindowInfo.
wineconsole: Use IOCTL_CONDRV_SET_OUTPUT_INFO in WINECON_SetConfig.
wineconsole: Use IOCTL_CONDRV_SET_OUTPUT_INFO in WINECON_SetColors.
server: Remove no longer used set_console_output_info request.
server: Introduce IOCTL_CONDRV_GET_MODE ioctl.
kernelbase: Use IOCTL_CONDRV_GET_MODE in GetConsoleMode.
kernel32: Use IOCTL_CONDRV_GET_MODE in VerifyConsoleIoHandle.
server: Introduce IOCTL_CONDRV_SET_MODE ioctl.
kernelbase: Use IOCTL_CONDRV_SET_MODE in SetConsoleMode.
server: Remove no longer needed get_console_mode and set_console_mode requests.
server: Introduce IOCTL_CONDRV_FILL_OUTPUT ioctl.
kernelbase: Use IOCTL_CONDRV_FILL_OUTPUT in FillConsoleOutputCharacterW.
kernelbase: Use IOCTL_CONDRV_FILL_OUTPUT in FillConsoleOutputAttribute.
kernelbase: Use IOCTL_CONDRV_FILL_OUTPUT in fill_console_output.
kernel32: Use IOCTL_CONDRV_FILL_OUTPUT in CONSOLE_FillLineUniform.
server: Remove no longer needed fill_console_output request.
server: Introduce IOCTL_CONDRV_GET_TITLE ioctl.
wineconsole: Use IOCTL_CONDRV_GET_TITLE in WINECON_GetConsoleTitle.
server: Trace console ioctls.
ntdll: Silence server_ioctl_file debug traces.
server: Allow creating console renderer with open_file.
server: Introduce IOCTL_CONDRV_ATTACH_RENDERER ioctl.
wineconsole: Use NtCreateFile to create renderer object.
server: Remove support for crating renderer in alloc_console request.
kernelbase: Avoid unneeded GetConsoleOutputCP calls.
server: Introduce IOCTL_CONDRV_ACTIVATE ioctl.
kernelbase: Use IOCTL_CONDRV_ACTIVATE in SetConsoleActiveScreenBuffer.
server: Remove support for SET_CONSOLE_INPUT_INFO_ACTIVE_SB.
ntdll: Always use GNU _CI* functions implementation on clang.
Kevin Puetz (4):
include: GWL_ID is not a HANDLE or pointer, and should be available on _WIN64.
include: Use __typeof__ so <guiddef.h> is compatible with -std=c++11.
include: Use unsigned int in InlineIsEqualGUID.
oleaut32: Cut off only non-empty \[0-9]+$ resource-id in RegisterTypeLib.
Matteo Bruni (8):
d3dx9: Simplify D3DXSphereBoundProbe() a bit.
wined3d: Fix / update reported driver model version.
wined3d: Automatically assign reported driver D3D version / feature level.
wined3d: Update reported AMD RX driver version.
wined3d: Update reported NVIDIA driver version for Fermi+ GPUs.
wined3d: Disable depth textures with backbuffer ORM.
wined3d: Add GPU information for AMD Raven Ridge.
wined3d: Update comment about sample_c_lz translation in GLSL.
Michael Stefaniuc (1):
dmime: Reimplement the reference list parser.
Myah Caron (2):
msvcrt: Don't reset MXCSR status in __control87_2 if control information is not changed.
ntdll/tests: Add test to check if GetTickCount is updated after sleeping.
Nikolay Sivov (30):
mfplat: Implement sample tracking.
mf: Add a sink stub for EVR.
mf/evr: Add IMFMediaSinkPreroll stub.
mf/evr: Return sink flags.
mf/evr: Track shutdown state.
mf: Make freeing function optional for object activator.
mf/evr: Create mixer object on activation.
mf/evr: Create presenter object on activation.
mf/evr: Add IMFVideoRenderer stub.
mf/evr: Add events queue support for the sink.
mf/evr: Add a stub for clock state sink.
mf/evr: Add IMFGetService stub.
evr: Respond to IMFVideoMixerControl in mixer's GetService().
mf/evr: Forward mixer service requests to the mixer.
mf/evr: Forward presenter service requests to the presenter.
mf/evr: Do not set user context for activator object.
mf/evr: Implement setting/getting sink clock.
mf/evr: Add IMFTopologyServiceLookup stub.
mf/evr: Add support for LookupService() for MR_VIDEO_RENDER_SERVICE/IMediaEventSink.
mf/evr: Return mixer's transform for MR_VIDEO_MIXER_SERVICE requests.
evr/mixer: Request EVR event sink.
mf/evr: Let mixer request necessary services.
evr/tests: Fix test crash on Windows 7.
msxml3/tests: Remove traces.
shlwapi/tests: Remove failing test.
mf/topoloader: Switch to public interface for initial topology validation.
mf/topoloader: Clone source nodes as a first layer of resulting topology.
mf/topoloader: Add a structure for iterative branch resolution.
comctl32/listview: Rename helper argument.
comctl32/listview: Use case-insensitive compare in LVM_FINDITEM.
Paul Gofman (10):
ntdll: Fix KiUserExceptionDispatcher ABI on x86.
ntdll: Don't call NtRaiseException() on x64 if debugger is not present.
ntdll: Use case sensitive search for \??\unix file names only.
ntdll: Fixup instruction pointer for EXCEPTION_BREAKPOINT in the Unix part on x86/x86_64.
ntdll: Fix stack adjustment condition in call_user_exception_dispatcher on x86_64.
ntdll: Stop search on mmap() error in try_map_free_area().
ntdll: Use MAP_FIXED_NOREPLACE flag in try_map_free_area() if available.
ntdll: Always align stack pointer in __wine_syscall_dispatcher on x64.
ntdll: Fix PE unwind info for %rsi, %rdi in KiUserExceptionDispatcher.
ntdll/tests: Test KiUserExceptionDispatcher with RtlUnwind on i386.
Piotr Caban (51):
ntdll: Fix 64-bit values printing in relay.
msvcrt: Fix _control87 ambiguous return value.
ucrtbase: Fix buffer overflow error when printing hexadecimal floating point number.
msvcrt: Move big numbers implementation to new file.
msvcrt: Reimplement floating point numbers printing.
ucrtbase: Add more printf tests.
ntdll: Ignore L length specifier in printf.
msvcrt: Use proper flags instead of characters for printf flags.
ucrtbase: Add parameters validation to _timespec32_get function.
msvcrt: Don't use strcmpW in wcscmp.
msvcrt: Don't use strcmpiW in _wcsicoll_l.
msvcrt: Don't use strcmpiW in _wcsicmp_l.
msvcrt: Don't use strncmpW in wcsncmp.
msvcrt: Don't use strncmpW in msvcrt_get_flags.
msvcrt: Don't use strncmpiW in _wcsnicoll_l.
msvcrt: Don't use strncmpiW in _wcsnicmp_l.
msvcrt: Use _wcsnicmp instead of strnicmpW.
msvcrt: Remove unused parameter in pf_integer_conv.
msvcrt: Don't use strstrW in wcsstr.
msvcrt: Use _iswctype_l in _iswspace_l function.
msvcrt: Don't use isspaceW.
msvcrt: Don't use isalnumW.
msvcrt: Don't use isalphaW.
msvcrt: Don't use iscntrlW.
msvcrt: Don't use isdigitW.
msvcrt: Don't use isgraphW.
msvcrt: Don't use islowerW.
msvcrt: Don't use isprintW.
msvcrt: Don't use ispunctW.
msvcrt: Don't use isupperW.
msvcrt: Don't use isxdigitW.
msvcrt: Improve __crtLCMapStringA implementation.
msvcrt: Don't use tolowerW in _towlower_l.
msvcrt: Don't use tolowerW in _tolower_l.
msvcrt: Don't use tolowerW and toupperW in _setmbcp_l.
msvcrt: Don't use tolowerW.
msvcrt: Don't use toupperW in _towupper_l.
msvcrt: Don't use toupperW in _toupper_l.
msvcrt: Don't use toupperW.
msvcrt: Add _ismbbkana_l implementation.
msvcrt: Add _ismbcalnum_l implementation.
msvcrt: Add _ismbcdigit_l implementation.
msvcrt: Add _ismbcgraph_l implementation.
msvcrt: Add _ismbcalpha_l implementation.
msvcrt: Add _ismbclower_l implementation.
msvcrt: Add _ismbcupper_l implementation.
msvcrt: Add _ismbcspace_l implementation.
msvcrt: Add _ismbcprint_l implementation.
msvcrt: Add _ismbcpunct_l implementation.
comctl32: Compute border size from client and window rectangles.
comctl32: Offset client area when toolbar divider is present.
Robin Kertels (2):
d3dx9: Ignore filter in D3DXLoadSurfaceFromSurface() when rects match.
d3dx9/tests: Add a few D3DXLoadSurfaceFromSurface() tests with different rects.
Rémi Bernon (10):
dxgi/tests: Add more complete window style checks.
d3d9/tests: Check device window rect after reset.
d3d9/tests: Add more visibility tests.
ddraw: Use the WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES flag.
d3d9: Use WINED3D_SWAPCHAIN_RESTORE_WINDOW_STATE if extended.
user32/tests: Add more GetRawInputData tests.
user32: Use WM_INPUT message hw_id as RAWINPUT handle.
mmdevapi: Support new AUDCLNT_* creation flags.
dxgi: Implement IDXGIOutput5 and IDXGIOutput6 stubs.
dxgi: Implement IDXGISwapChain4 stub.
Serge Gautherie (6):
msvcrt: Fix ldiv() return type.
msvcrt: Remove extra pointers on lldiv() implementation and test.
crypt32: Check CRYPT_ConstructBitBlob() return value in CRYPT_ExportKeyTrans().
mlang: Fix scripts values in fnIMLangFontLink2_GetScriptFontInfo().
wininet: Get rid of user buffer in create_cookie_url().
winapi_test: Add/remove headers for urlmon test.
Shawn M. Chapla (6):
gdiplus/tests: Add metafile DrawDriverString test.
gdiplus: Make brush parameter const in brush object serialize helpers.
gdiplus/tests: Add additional logfont size tests.
gdiplus: Set font emSize to height minus internal leading.
gdiplus: Add DrawDriverString record deserialization.
gdiplus: Add DrawDriverString serialization.
Thomas Crider (1):
ntdll: Add missing LC_NUMERIC locale setting to init_locale.
Zebediah Figura (68):
ntdll: Correct a comment referring to fd_cache_section.
winegstreamer: deinterlace belongs to the "good" set, not the "base" set.
kernel32/tests: Call NtQuerySystemInformation(SystemProcessInformation) until it returns STATUS_SUCCESS.
ntdll: Reimplement NtQuerySystemInformation(SystemProcessInformation) using a single server call.
iphlpapi: Reimplement get_pid_map() using the list_processes request.
server: Remove no longer used snapshot requests.
api-ms-win-core-systemtopology-l1-1-0: New DLL.
winebuild: Fix a spelling error in a comment.
d3dcompiler/tests: Check the reflection type of bool variables.
d3dcompiler: Allow hlsl_ir_constant to contain only scalar and vector constants.
d3dcompiler: Store the "then" and "else" instruction lists directly in the hlsl_ir_if structure.
d3dcompiler: Store the loop body directly in the hlsr_ir_loop structure.
ntdll: Set the process creation time in NtQuerySystemInformation(SystemProcessInformation).
ntdll: Set the thread creation time in NtQuerySystemInformation(SystemProcessInformation).
wined3d: Mark the stateblock as dirty in wined3d_stateblock_multiply_transform().
ntdll: Fill the VM counters in NtQuerySystemInformation(SystemProcessInformation).
ntdll: Don't translate Unix virtual disks to FILE_DEVICE_VIRTUAL_DISK.
kernel32/tests: Avoid testing that WaitCommEvent() doesn't return immediately.
msdmo: Remove dead code associated with an older registry format.
msdmo: Avoid a redundant string -> GUID conversion.
msdmo: Use wide character string literals.
msdmo: Factor out any_types_match().
msdmo: Use a dynamically allocated buffer in IEnumDMO::Next().
msdmo/tests: Add tests for DMOGetTypes().
msdmo: Return S_OK from DMOGetTypes() even if the buffer is too short.
msdmo: Return the number of media types retrieved from DMOGetTypes().
msdmo: Avoid leaking key handles in DMOGetTypes().
devenum: Call DMOGetTypes() until less types are returned than were allocated.
quartz: Use calloc() in filter_graph_common_create().
quartz: Get rid of the IFilterGraphImpl typedef.
quartz/vmr9: Show the window only if auto-show is enabled.
quartz/vmr9: Auto-show the window when pausing, not when running.
qcap/smartteefilter: Return VFW_S_CANT_CUE from GetState() if paused.
quartz: Add more tracing to state change methods.
quartz: Don't sort the graph in IMediaFilter::GetState().
quartz/tests: Add more tests for asynchronous state change.
quartz: Poll in IMediaFilter::GetState().
quartz: Increase the initial streaming delay to 200 ms.
quartz: Always apply the 200 ms delay to presentation time.
quartz: Return an error code if a filter reports an incorrect state.
quartz: Run the graph asynchronously if necessary.
kernel32: Implement registry mapping in GetPrivateProfileStringW().
kernel32: Implement registry mapping in WritePrivateProfileStringW().
kernel32: Implement retrieving mapped sections.
kernel32: Implement registry mapping in GetPrivateProfileSectionNames().
kernel32: Implement registry mapping in WritePrivateProfileSection().
kernel32: Implement deleting mapped sections.
kernel32/tests: Add tests for profile registry mapping.
quartz/tests: Test previous filter states.
quartz/tests: Add some tests for media types for the DirectSound renderer.
quartz/dsoundrender: Don't check the subtype in DSoundRender_CheckMediaType().
quartz/tests: Add some tests for pin connection on the DirectSound renderer.
quartz/tests: Add some tests for allocator negotiation on the DirectSound renderer.
ntoskrnl.exe: Add tests for permanent objects.
server: Implement OBJ_PERMANENT.
ntdll: Implement NtMakeTemporaryObject().
ntoskrnl.exe: Create symbolic links as permanent objects.
kernelbase: Create DOS drive links as permanent objects.
server: Remove no longer used unlink_object request.
ntdll/tests: Remove some workarounds for no longer supported versions of Windows.
ntdll/tests: Convert DIR_TEST_CREATE_OPEN into a function.
ntdll/tests: Use wide character string literals in om.c.
ntdll/tests: Fix a copy-paste error.
quartz/tests: Add tests for DirectSound renderer filter state.
quartz/dsoundrender: Do not send quality messages.
strmbase: Get rid of the QualityControlImpl typedef.
strmbase: Set the IQualityControl vtbl in QualityControlImpl_Create().
strmbase: Store the quality control object directly in strmbase_renderer.
Zhiyi Zhang (2):
wined3d: Call wined3d_adapter_init() before initialising any adapter field.
wined3d: Use valid adapter LUIDs if they are available.
Ziqing Hui (10):
d3dx10/tests: Add more test images.
d3dx10: Implement D3DX10GetImageInfoFromMemory().
windowscodecs: Remove header and header_dxt10 in struct DdsDecoder.
windowscodecs: Add IWICWineDecoder stub for DDS decoder.
windowscodecs/tests: Add tests for DdsDecoder_Wine_Initialize().
windowscodecs: Implement DdsDecoder_Wine_Initialize().
windowscodecs: Use IWICWineDecoder_Initialize() to initialize decoders in find_decoder().
windowscodecs: Return fail for unsupported format in DdsDecoder_Initialize().
windowscodecs/tests: Add tests for decoding uncompressed DDS image.
windowscodecs: Add support for decoding uncompressed DDS image.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.12 is now available.
What's new in this release (see below for details):
- NTDLL converted to PE format.
- Support for the WebSocket API.
- Improved RawInput support.
- Vulkan spec update.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.12.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.12.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.12 (total 48):
4905 Video intros fail to play in Grand Theft Auto 3
10825 Adobe Photoshop 7 "Save File" dialog contents shifted to left
19439 Windows Media Player 9 displays a distorted user interface
20230 Multiple system information tools and debuggers need GetThreadTimes() to return correct values for all threads (SIV System Information Viewer, Ollydbg 1.x/2.x, x64dbg)
30023 Google Chrome/Earth installer (Google update version) complains "could not connect to the internet"
30366 Wing commander 4 fails to play videos
33134 Windows Media Player 9 can't play winecfg's test sound (idw_testsound.wav)
35170 Adobe Shockwave Player 11.x plugin installer crashes on startup
37630 Very fast audio & crackly (underruns) with PulseAudio 5, not with 4
37721 Notepad2 shows blacked out toolbar strip after switching out of transparent mode
37892 GOTHIC 2 GOLD: Vdfs32e.exe crashes at startup
40643 Xanadu-next: Multicolored rainbow textures
43034 Battle.net (needed for Starcraft 2 Legacy of the Void) crashes
44017 Battle.net fails launch with windows 7, but works normally when windows xp (Ubuntu 17.10)
44865 Multiple applications using CEF (Autodesk Fusion 360, Between, League of Legends) crash when Windows version is set to 8 or higher due to missing DirectManipulation COM object (directmanipulation.dll, CLSID {54e211b6-3650-4f75-8334-fa359598e1c5})
45191 winedbg: Internal crash at 0x7f1e5ee35587
46289 Movies in emergency 3 are upside-down with native I420 codecs
46726 Dirt Rally 2.0 does not use embedded CA cert
46818 PS4 Remote Play 2.x (.NET 4.x app) crashes on Sign-In PlayStation network (mshtml:HTMLDocument_get_cookie should not fail for 'about:blank')
46883 CompressonatorGUI 3.1 fails to install in Win10 mode: 'This application cannot be installed on systems earlier than Windows 2000 SP4.'
48138 League of Legends 9.23: Crash after champ select
48181 Donald duck couak attack crashes
48668 rFactor2 - Physics thread slower on multiplayer mode
48763 X2: The Threat crashes after opening
48884 64-bit SierraChart v2068, 2072, 2074 crashes on exit
48938 Ashes of the Singularity: Escalation crashes on start
48959 S-Gear 2 installer does not recognize wine as Windows 10
48997 Riot Vanguard (Riot Games) 'vgk.sys' crashes in driver entry (needs more reasonable CR0 register values in instruction emulation)
49007 StarCitizen freezes on start
49041 Path of Exile flickers with multithreaded renderer
49098 Divinity: Original Sin 2 (GOG): Doesn't start since 5.7
49153 Wine-Mono 5.0.0 breaks rendering of ReactOS' Wine .NET Framework 4.0 test app main menu
49247 Need For Speed Hot Pursuit 2 (2002) Slow Performance on wine-5.9
49307 Melodyne 5: crashes when launched (due to vcruntime140_1)
49350 Silverlight 5.1 installer no longer works
49358 MiniTool MovieMaker setup crashes on unimplemented function ADVAPI32.dll.RegEnableReflectionKey
49425 "wine" command changes the working directory when given a path to a .exe
49427 Grim Dawn broken after upgrade to Wine 5.11
49439 Printing and scanning software for Brother L2540DW fails to install (VBScript parser can't handle a "case else" statement with a comment and no statements to execute)
49444 TheHunter: Call of the Wild crashes at start with Wine 5.11
49445 Generation Zero: FNIX Rising crashes at start with Wine 5.11
49458 Memu installer crashes: wine: Call from 0x7b00f0b7 to unimplemented function qdvd.dll.DllRegisterServer, aborting
49460 where.exe is missing in wine (affects Waves Central )
49462 uninitialized request bytes in server request launched from wine_ntoskrnl_main_loop
49464 Age of Wonders: Planetfall crashes at start with Wine 5.11
49488 uninitialized bytes in server call from ntdll/server_write_file
49494 Branching on uninitialized variables in unix_to_win_locale.
49503 Page fault on prefix creation on macOS
----------------------------------------------------------------
Changes since 5.11:
Alex Henrie (3):
include: Correct definition of PRTL_AVL_ALLOCATE_ROUTINE.
include: Add RTL_GENERIC_TABLE.
ntoskrnl: Provide a more realistic value for register CR0.
Alexandre Julliard (50):
ntdll: Use unix_to_nt_file_name() to convert Unix paths in RtlGetFullPathName_U().
ntdll: Set the Unix current directory also in the exec process case.
ntdll: Implement FSCTL_GET_OBJECT_ID to retrieve a file id.
ntdll: Use FSCTL_GET_OBJECT_ID to compare file identities.
ntdll: Make the client cpu constant global.
ntdll: Add a common helper for building a modref.
ntdll: Move the loading of .so dlls to the Unix library.
ntdll: Move searching for builtin dlls to the Unix library.
ntdll: Move the system information functions to the Unix library.
urlmon/tests: Update winehq.org's IP address.
ntdll: Store home directory and username at init time in the Unix library.
ntdll: Set the Wine paths environment variables from the Unix library.
ntdll: Move the libunwind support to the Unix library.
ntdll: Always set the thread context through NtSetContextThread().
ntdll: Return the current time and timezone bias in NtQuerySystemInformation(SystemTimeOfDayInformation).
ntdll: Move the timezone detection code to the Unix library.
ntdll: Move RtlGetSystemTimePrecise() to the Unix library.
ntdll: Move the math functions to the Unix library.
ntdll: Use Windows APIs to handle the dll overrides variable.
ntdll: Fix some stdcall/cdecl calling convention mismatches.
ntdll: Move the console handle initialization to the Unix library.
ntdll: Avoid some Unix dependencies.
ntdll: Avoid a compiler warning when fetching the return address.
ntdll: Reimplement the ctype functions to avoid depending on libc.
ntdll: Reimplement the string functions to avoid depending on libc.
include: Fix _memccpy, _memicmp and _memicmp_l prototypes.
ntdll: Stop sharing the thread counter with the Unix library.
ntdll: Update the __wine_ldt_copy pointer directly from the Unix library.
ntdll: Move retrieving the startup info to the Unix library.
ntdll: Remove support for being loaded directly from libwine.
ntdll: Setup the main thread before initializing ntdll.
ntdll: Fix a few more thread information access rights.
ntdll: Move part of the PE image mapping code into virtual_map_section().
ntdll: Support loading a PE-format ntdll.
ntdll: Build with msvcrt.
ntdll: Use the standard C library names for the printf functions.
ntdll: Use the standard C library names for the string functions.
ntdll: Use the standard C library names for the wide char functions.
ntdll: Use the exported name directly for a few more functions.
winebuild: Support a -mno-cygwin flag.
winegcc: Pass -mno-cygwin and -munix flags directly to winebuild.
makefiles: Use -munix when building a Unix library.
winebuild: Don't use a dll entry point for Unix libraries.
ntdll: Get rid of DllMain in the Unix library.
ntdll: Avoid importing the codepage functions from the Unix library.
ntdll: Fix uninitialized buffer in locale initialization.
ntdll: Use pthread mutexes for uninterrupted sections in the Unix library.
ntdll: Use malloc() to allocate the object attributes buffer.
ntdll: Use malloc() to allocate async I/O data.
ntdll: The loader is named wine64 only on platforms that support WoW64.
Alistair Leslie-Hughes (10):
directmanipulation: Implement IDirectManipulationCompositor stub interface.
directmanipulation: Implement IDirectManipulationFrameInfoProvider stub interface.
directmanipulation: Implement IDirectManipulationCompositor::SetUpdateManager.
winhttp: Pass length in WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER callback.
directmanipulation: Implement IDirectManipulationViewport2 stub interface.
directmanipulation: Implement IDirectManipulationPrimaryContent stub interface.
directmanipulation: Implement IDirectManipulationContent stub interface.
directmanipulation: Fake success from IDirectManipulationViewport2::ActivateConfiguration.
directmanipulation: Fake success from IDirectManipulationContent::SetContentRect.
directmanipulation: Fake success from IDirectManipulationViewPort2::SetViewPortRect.
Anton Baskanov (2):
qasf/dmowrapper: Don't crash in ::Stop when DMO wrapper is not initialized.
amstream: Return E_NOTIMPL from AMAudioStream::QueryInterface.
Biswapriyo Nath (1):
ntdll/unix: Use Pc instead of Rip in signal_arm64.
Brendan Shanks (7):
api-ms-win-core-namedpipe-ansi-l1-1-0: Add stub dll.
winevulkan: Don't initialize the Vulkan driver in DllMain().
include: Add d3dkmdt.h.
user32: Implement GetDisplayConfigBufferSizes().
user32/tests: Test additional flag values with GetDisplayConfigBufferSizes().
user32: Implement QueryDisplayConfig().
user32/tests: Add more QueryDisplayConfig() tests.
Changping Yu (2):
kernel32/tests: Add test for thread enumeration order in toolhelp.
kernel32: Adjust thread creation insertion order.
Derek Lesho (1):
ntoskrnl: Set DriverStart and DriverSize fields in DRIVER_OBJECT.
Dmitry Kislyuk (1):
vbscript: Parse empty CASE ELSE clause.
Dmitry Timoshkov (2):
kernel32/tests: Fix compilation with PSDK.
kernel32: Implement IsWow64Process2.
François Gouget (7):
mshtml: Fix the spelling of a parameter name.
mshtml: Add a trailing '\n' to a TRACE().
mountmgr.sys: Make get_mountmgr_fs_type() static.
ntdll: Fix wording of a comment.
netio.sys: Remove WINAPI on static functions where not needed.
netio.sys: Fix some minor case issues in comments.
ntoskrnl.exe/tests: Fix some minor case issues in comments.
Gabriel Ivăncescu (11):
msscript.ocx: Fix detaching the script host in put_Language.
msscript.ocx: Fail if the module array failed to allocate.
msscript.ocx: Release the host ref in put_Language.
msscript.ocx: Move IScriptControl::AddObject implementation into a helper.
msscript.ocx: Implement IScriptModuleCollection::Add.
msscript.ocx: Implement IScriptModuleCollection::get_Item.
msscript.ocx: Always detach the modules when changing the language.
msscript.ocx: Implement IScriptModule::get_Name.
msscript.ocx: Implement get_script_dispatch on top of modules.
msscript.ocx: Move parse_script_text up.
msscript.ocx: Implement parse_script_text on top of modules.
Gijs Vermeulen (14):
amstream/tests: Add IDirectDrawMediaStream::SetDirectDraw() tests.
amstream: Store parent as struct ddraw_stream in ddraw stream sample.
amstream: Implement IDirectDrawStreamSample::GetMediaStream().
amstream: Use IDirectDraw instead of IDirectDraw7 internally.
amstream: Implement IDirectDrawMediaStream::SetDirectDraw().
amstream: Create ddraw if no source object was specified in ddraw_IAMMediaStream_Initialize().
ntdll: Don't use WCHAR in unix_to_win_locale().
amstream: Decrement "sample_refs" only when the object is being released.
amstream: Lock the entirety of IDirectDrawMediaStream::CreateSample().
amstream/tests: Add more AMVideoStream::QueryAccept() tests.
amstream: Return VFW_E_TYPE_NOT_ACCEPTED on error in AMVideoStream::QueryAccept().
amstream: Validate the format type in check_media_type().
amstream: Accept only MEDIASUBTYPE_RGB8 in check_media_type().
amstream: Return E_POINTER on NULL stream in IMediaStreamFilter::GetMediaStream().
Hans Leidekker (22):
winhttp: Don't close child handles on release.
winhttp: Get rid of some redundant assignments.
winhttp: Make the task queue implementation more generic.
winhttp: Set socket notification mask and callback from the parent request.
winhttp: Send WINHTTP_CALLBACK_STATUS_HANDLE_CREATED notification in WinHttpWebSocketCompleteUpgrade.
msxml3: Add support for 'int' in IXMLDOMElement_put_dataType.
winhttp: Implement WinHttpWebSocketSend.
winhttp: Implement WinHttpWebSocketReceive.
winhttp: Implement WinHttpWebSocketShutdown.
winhttp: Implement WinHttpWebSocketClose.
winhttp: Implement WinHttpWebSocketQueryCloseStatus.
winhttp/tests: Add asynchronous WebSocket tests.
winhttp: Add support for WebSocket fragment buffers.
winhttp/tests: Add more WebSocket tests.
winhttp: Set socket state before sending notifications.
winhttp: Status and reason are optional in the close response.
winhttp: Add stubs for new proxy functions.
winhttp: Reimplement the task queue using thread pool work objects.
winhttp: Copy the reason buffer.
winhttp: Add support for ping and pong messages.
winhttp: Stop the send queue before sending the close message.
iphlpapi: Return gateway address 0.0.0.0/255.255.255.255 from GetAdaptersInfo if it's not set.
Huw D. M. Davies (6):
user32: Use a default name for winstations created or opened with no name.
user32/tests: Use skip() to skip tests when using a non-US keyboard.
user32: Allow the app specific desktop to be "Default".
user32: Don't call CreateDesktop() with an empty desktop name.
server: Don't allow an empty desktop name.
ntdll: Pass the start of the string to compose_string().
Jacek Caban (24):
msscript.ocx: Move modules_count to the Script Host.
msscript.ocx: Keep script host running as long as any script module is alive.
mshtml: Use variant_to_nsstr in IHTMLIFrameElement2::put_height.
mshtml: Use variant_to_nsstr in IHTMLIFrameElement2::put_width.
kernel32/tests: Add more tests for opening console.
server: Introduce ConDrv device.
server: Support ConDrv/CurrentIn device.
server: Support ConDrv/CurrentOut device.
server: Support console global symlinks.
ntdll: Support CONIN$ and CONOUT$ in RtlIsDosDeviceName_U.
kernelbase: Use NtCreateFile for console handles in CreateFileW.
kernel32: Reimplement OpenConsoleW on top of CreateFileW.
server: Remove no longer needed support for opening current console in open_console request.
mshtml: Return NULL in IHTMLDocument2::get_cookie if InternetGetCookieExW failes.
mshtml: Add IHTMLRectCollection::item implementation.
mshtml: Return success in :HTMLStyle3::scrollbar* setters.
kernelbase: Invalidate console wait handle in FreeConsole.
kernel32: Import FreeConsole from kernelbase.
kernel32: Return standard input handle in GetConsoleInputWaitHandle.
kernel32: Move AllocConsole to kernelbase.
mshtml.idl: Add IHTMLNamespaceCollection declaration.
mshtml: Add IHTMLDocument4::namespaces property implementation.
mshtml.idl: Add missing MoveUnitBounded to IMarkupPointer2.
mshtml: Add IMarkupServices::CreateMarkupPointer implementation.
Jeff Smith (2):
gdiplus: Simplify modulo 8 math used for rendering origin.
gdiplus/tests: Fix debug value in test_graphics_clear().
Jefferson Carpenter (2):
ntoskrnl.exe: Initialize context.handle and context.irp.
ntoskrnl.exe: Set reserved to 0 in pnp WM_DEVICECHANGE broadcast.
Liam Middlebrook (1):
winevulkan: Update to VK spec version 1.2.145.
Louis Lenders (1):
where.exe: Add stub program.
Michael Müller (2):
ntdll: Return thread times in NtQuerySystemInformation(SystemProcessInformation).
ntdll: Return process times in NtQuerySystemInformation(SystemProcessInformation).
Nikolay Sivov (36):
dxva2: Add device manager stub.
dxva2: Implement handle management for device manager.
dxva2: Add IDirectXVideoProcessorService stub.
mfplat: Add IMFVideoMediaType semi-stub.
mfplat: Implement MFCreateMFVideoFormatFromMFMediaType().
mfplat: Implement GetVideoFormat().
dxva2: Implement DXVA2CreateVideoService().
evr: Implement MFT_MESSAGE_SET_D3D_MANAGER for default mixer.
evr: Implement input type validation for the mixer.
include: Make inline helpers compatible with NONAMELESSUNION.
mfplat: Add MFConvertColorInfoToDXVA().
include: Add some more EVR mixer interfaces.
evr/tests: Add some tests for supported mixer interfaces.
evr: Add IMFGetService stub for the mixer.
evr: Add IMFVideoMixerBitmap stub.
evr: Add IMFVideoPositionMapper stub.
evr: Forward some known interface queries for MR_VIDEO_MIXER_SERVICE.
dxva2: Add missing processor service method stubs.
evr: Add IMFVideoProcessor stub.
evr: Add input type validation through dxva.
evr: Store background color property for the mixer.
dxva2: Implement locking functionality in device manager.
evr: Add a stub for default presenter.
evr: Add IMFVideoDeviceID for the presenter.
evr: Add IMFTopologyServiceLookupClient stub for the presenter.
include: Add IMFVideoDisplayControl definition.
evr: Add IMFVideoDisplayControl stub for the presenter.
evr: Add IMFRateSupport stub for the presenter.
evr: Implement presenter state tracking methods.
evr: Partially implement InitServicePointers() for the presenter.
evr: Add aggregation support for default mixer object.
evr: Added MFCreateVideoMixerAndPresenter().
mfplat/tests: Add some tests for d3d9 surface buffer.
evr: Add a stub for sample allocator.
evr/tests: Add some tests for sample allocator.
mfplat: Add tracked sample stub.
Owen Rudge (2):
winhttp/tests: Add tests for WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS.
winhttp: Implement WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS.
Paul Gofman (18):
ntdll: Increment num_busy_workers when queuing TP object.
ntoskrnl/tests: Use the same sin port as ws2_32 tests.
ntoskrnl/tests: Retry bind if address is in use in test_wsk_listen_socket().
netio.sys: Check for callback address before reusing pending IO structure.
netio.sys: Implement wsk_connect() function.
ntoskrnl.exe: Add test for connection socket.
shell32: Only consider copy operation multidest if the number of dst files is greater than one.
ntdll: Also call fsync() for FD_TYPE_CHAR in NtFlushBuffersFile().
netio.sys: Fill socket addresses when accepting connection.
ntdll: Call TLS callbacks also for main exe on thread attach.
ntdll: Call TLS callbacks for main exe on thread detach.
winebuild: Correct hotpatching prologue in import thunks for x86_64.
ntdll: Fix KiUserExceptionDispatcher ABI on x86_64.
ntdll/tests: Add test for x86_64 KiUserExceptionDispatcher().
configure: Increase Wine loader address.
ntdll: Don't reset rsp to context->Rsp until exception data is copied.
ntdll: Add PE frame handling to KiUserExceptionDispatcher() on x64.
ws2_32: Consider socket with zero ifindex unbound.
Piotr Caban (24):
include: Add MSITRANSFORM_ERROR enum definition.
msi: Introduce msi_record_stream_name helper.
msi: Add stub support for MSITRANSFORM_ERROR_VIEWTRANSFORM flag in MsiApplyTransform.
msi: Support UPDATE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
msi: Support CREATE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
msi: Support ALTER TABLE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
msi: Support INSERT INTO when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
msi: Support DROP when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
msi: Support DELETE when MSITRANSFORM_ERROR_VIEWTRANSFORM flag is used.
msi: Add MsiDatabaseApplyTransformA MSITRANSFORM_ERROR_VIEWTRANSFORM test.
msi: Support removing temporary columns in TABLE_remove_column.
msi: Fix table ref count on create.
msi: Remove ref_count from MSICOLUMNINFO.
msi: Test freeing _TransformView table.
msi: Add table existance tests for tables with temporary columns.
msi: Fix adding temporary columns.
msi: Remove column_info.temporary field.
msi: Remove MSICOLUMNINFO.temporary field.
msi: Fix use after free error in TransformView_set_row.
msi: Remove no longer needed parameter from TABLE_remove_column.
msi: Add support for appending data to _TransformView table.
msi: Test adding new feature in patch.
msi: Add disabled feature to show that it's not getting installed by patch.
msi: Install feature when new component is added.
Rémi Bernon (21):
ntdll: Refine NtSetInformationThread ThreadHideFromDebugger stubs.
ntdll: Only raise EXCEPTION_INVALID_HANDLE if debugger is present.
user32/tests: Add basic rawinput message tests.
user32/tests: Add inter-thread rawinput message tests.
user32/tests: Add inter-process rawinput message tests.
user32/tests: Add RIM_EXINPUTSINK rawinput message tests.
ntdll: Leave some space around DbgBreakPoint and DbgUserBreakPoint.
user32/tests: Add inter-desktop rawinput message tests.
server: Implement rawinput inter-process message dispatch.
server: Split cursor position update to update_desktop_cursor_pos.
server: Pass msg and wparam to update_input_key_state helper.
server: Implement RegisterRawInputDevices RIDEV_NOLEGACY flag.
server: Implement RegisterRawInputDevices RIDEV_INPUTSINK flag.
ntdll/tests: Add more HideFromDebugger tests.
ntdll: Correctly implement ThreadHideFromDebugger.
user32/tests: Add GetRawInputBuffer tests.
user32: Introduce rawinput_from_hardware_message helper.
user32: Introduce rawinput_thread_data helper.
user32: Implement GetRawInputBuffer.
user32: Return failure when rawinput has been overwritten.
kernel32: Catch process creation breakpoint exceptions.
Sebastian Lackner (1):
ntdll: Implement NtQueryInformationThread(ThreadTimes) using procfs.
Shawn M. Chapla (7):
gdiplus/tests: Add GDI/GDI+ graphics interop test.
gdiplus: Preserve temp DC state for bitmap backed graphics objects.
gdiplus/tests: Add metafile playback test for EMR_RESTOREDC.
gdiplus: Play all EMF records using PlayEnhMetaFileRecord.
gdiplus/tests: Add GDI/GDI+ HDC constructed graphics interop test.
gdiplus: Set GDI world xform to the identity xform on acquisition.
advapi32: Add RegRenameKey stub.
Vijay Kiran Kamuju (9):
directmanipulation: Implement IDirectManipulationCompositor2 stub interface.
include: Add missing device GUIDs and fsfilter GUIDs.
qdvd: Register the DvdGraphBuilder coclass.
include: Fix typo in DS3DALG_DEFAULT.
include: Add xact3.h.
include: Add IXACT3Cue definition.
include: Add IXACT3Wave definition.
include: Add IXACT3SoundBank definition.
include: Add IXACT3WaveBank definition.
Zebediah Figura (44):
quartz/vmr9: Merge VMR9_SendSampleData() into VMR9_DoRenderSample().
quartz/vmr9: Align the source pitch to a multiple of 4.
quartz/vmr9: The source pitch is the width of the Y plane for planar 4:2:0 formats.
quartz/vmr9: Invert only RGB video.
quartz/vmr9: Avoid leaking the surface array on connection failure.
quartz/vmr9: Allow connecting with YUV formats.
bcrypt/tests: Fix some failures on Windows 7.
kernel32/tests: Add tests for profile struct functions.
kernel32: Simplify GetPrivateProfileStringW().
kernel32: Get rid of the last parameter to PROFILE_CopyEntry().
kernel32: Open the INI file in PROFILE_GetSection.
d3dcompiler: Prepend static initializers to the function body.
d3dcompiler: Pass an instruction list to the load creation functions.
d3dcompiler: Append the instruction to its list in new_return().
d3dcompiler: Add the assignment node to the instruction list in make_assignment().
d3dcompiler: Pass the instruction list to implicit_conversion().
winegstreamer: Prefer YUV formats to RGB ones.
winegstreamer: Avoid performing color matrix conversions in videoconvert.
quartz/vmr9: Remove support for 8-bit RGB from the VMR7.
quartz/vmr9: Remove support for 15-bit RGB from the VMR7.
quartz/vmr9: Remove support for 16-bit RGB from the VMR7.
quartz/vmr9: Return VFW_E_TYPE_NOT_ACCEPTED when connection fails.
quartz/vmr9: Support YUV formats in the VMR7.
quartz: Change the merit of the default video renderer to 0x800001.
quartz: Don't register the VMR7.
quartz/videorenderer: Set the destination rect to the whole client area when connecting.
quartz/vmr9: Set the destination rect to the whole client area when connecting.
quartz: Try to create the VMR7 in video_renderer_default_create().
d3dcompiler: Create the expression in append_binop().
d3dcompiler: Add the node to the instruction list in new_expr().
d3dcompiler: Rename make_simple_assignment() to new_simple_assignment().
d3dcompiler: Print the data type when dumping IR.
kernel32: Call PROFILE_DeleteSection directly from WritePrivateProfile* functions.
kernel32: Open the INI file in PROFILE_DeleteSection().
qcap: Combine the internal header files.
qcap: Use a function table for video capture driver operations.
qcap: Pass a single AM_MEDIA_TYPE pointer to get_format().
qcap: Use a condition variable to synchronize with the video capture thread.
msvcrt: Print assertion failure messages to stderr.
winegstreamer: Don't store DirectShow caps.
include: Use the public VM_COUNTERS and VM_COUNTERS_EX structure definitions.
ntdll: Fill the PrivateUsage field of VM_COUNTERS_EX.
winegstreamer: Append a deinterlace element to the video post-processing chain.
d3dcompiler: Track def-use chains for anonymous nodes.
Zhiyi Zhang (2):
winex11.drv: Refactor query_work_area() to get intersected work area directly.
winex11.drv: Use _GTK_WORKAREAS to get work areas if it is available.
Ziqing Hui (2):
windowscodecs/tests: Format ok() message for tests/ddsformat.c.
windowscodecs: Implement DdsFrameDecode_GetPixelFormat().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.11 is now available.
What's new in this release (see below for details):
- Wine Mono engine updated to 5.1.0, with WpfGfx library support.
- More work on the separate Unix library for NTDLL.
- Beginnings of a NetIO kernel driver implementation.
- Initial support for the Print Ticket API.
- Removal of the obsolete 32-bit PowerPC architecture.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.11.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.11.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.11 (total 57):
10325 Avencast: Rise of the Mage crash on attempt to play startup video
18762 Supreme Commander slows down to 1 frame every 60 sec
26146 WRC FIA World Rally Championship Demo fails to start, can't play video
26258 Light of Altair demo crashes in-game when shaders enabled (built-in d3dx9_30)
27105 Mega Man Legends for PC crashes on startup
28203 Warrior Kings can't play music without native quartz
28850 Airstrike (Eagles of WWII): choppy music playback
29320 KMPlayer 3 does not play videos
30188 Megaman X8 freezes / fails to play intro movie
31581 Supreme Commander (steam version) shows a black screen on start when bloom rendering enabled
31910 anti-cheat software Battleye 1.176 expects call to KiUserExceptionDispatcher during exception handling (user mode SEH dispatcher)(Arma2, DayZ)
35215 Age of empires II HD Steam version: no video at start
35800 Dust An Elysian Tail (Steam) (.NET 4.0 XNA game) fails to play intro videos
35903 CED1401 USB function driver fails to install (setupapi should use the original INF path as a default source path when copying files)
38035 GSpot v2.70 doesn't find Cinepak codec
38086 ArmA: Combat Operations needs d3dx9_36.dll.D3DXCreateFragmentLinker
39669 Dishonored crashes at start with Steam Launcher
40986 DirectX11 application fails with error message "Failed to create IDXGIFactory2"
41101 Her Story: crash on playing video clip
41207 DX11 Demo "AMD Ladybug" freezes on the splash screen
41972 "Elite: Dangerous" client crashes when starting
42053 Grand Theft Auto III fails to lauch from Steam
43232 Test Drive 6 - track is black
44498 Legend of Kay: Anniversary Edition does not play cutscenes (needs {48e2ed0f-98c2-4a37-bed5-166312ddd83f} CLSID_MFReadWriteClassFactory)
44957 Kea Coloring Book crashes (needs IAudioMediaStream::GetFormat() implementation)
45093 mpc-hc player produces no audio output
45571 League of Legends 8.12+ fails to start a game (anticheat engine, hooking of NtCreateThread/Ex)
45572 League of Legends 8.12+ fails to start a game (anticheat engine, hooking of NtContinue)
45667 League of Legends 8.15+ fails due to missing implementation of NtQueryVirtualMemory(MemoryWorkingSetExInformation)
46396 valgrind shows an invalid free in devenum/tests/devenum.c
46955 Performance regression after 3.20 in Assetto Corsa
48256 pwsh.exe (from Powershell-6.*) crashes after 20~50 sec: System.EntryPointNotFoundException: Unable to find an entry point named 'FreeAddrInfoEx' in DLL 'ws2_32.dll'.
48405 Battle.Net Launcher Beta crashes with Windows version set to 10
48716 Logos Bible Software - Printer is recognized but will not print (PTOpenProviderEx is a stub)
48773 mimalloc needs ntdll.dll.RtlQueryEnvironmentVariable
48779 Secret Files 3 crashes at launch (needs d3dx9_skin_info_Clone)
49062 Dolphin EasyReader for Windows 6.04 (TTS app) crashes on startup
49093 Relocation of 32-bit PE builtin 'ntoskrnl.exe' causes kernel driver load failures (imports fixup recursion in load_driver_module)
49123 Multiple games crash or hang on startup since Wine 5.7
49147 Microsoft Teams 1.3.x crashes on unimplemented function setupapi.dll.CM_Get_Device_Interface_AliasW
49151 Wine 5.7 Multiple mono programs freeze with high CPU
49225 FreeBSD assertion failure / memory corruption regression from not checking mmap() return value correctly
49237 Final Fantasy XI increased speed
49269 Wine 5.9 causes slower walk speed in Heroes of Might & Magic III
49314 Wine segfaults with too many command-line arguments
49322 cmudpro334 pops up errorwindow "OLE error 80004001"
49329 critical section timeout on prefix creation
49351 PowerShell-7.0.1-win-x64.msi fails to install
49352 JamKazam 1.0.3744 msi installer fails at 'InstallFiles' action (incorrect handling of administrative image with compressed source files)
49372 winedump crashes for sltg typelib files
49375 Test Drive 6 demo crashes when starting a race
49379 Altium Designer 20 crashes on missing d2d1.dll.D2D1CreateDevice
49380 wine unable to load kernelbase.dll
49387 Game "101 Ways to die" start with a black screen.
49388 MultiSync installation crashes (msado15.dll needs IConnectionPoint::Advise)
49391 Star Trek Armada crashes on start on Wine 5.6 but not Wine 5.5
49407 Display device initialization fails due to vkGetRandROutputDisplayEXT() causing X exception on dual Nvidia / Intel GPU configuration (regression).
----------------------------------------------------------------
Changes since 5.10:
Aaro Altonen (3):
include: Add ConnectionEventsVt definition.
msado15/tests: Add tests for IConnectionPoint::Advise/Unadvise.
msado15: Implement IConnectionPoint::Advise/Unadvise.
Akihiro Sagawa (1):
winegstreamer: Also wait for EOS events when retrieving duration.
Alex Henrie (1):
advapi32: Add RegEnableReflectionKey stub.
Alexandre Julliard (50):
ntdll: Move NtRaiseException() implementation to the Unix library.
ntdll: Implement NtContinue() in the Unix library.
ntdll: Use NtContinue() to restore context after an exception.
ntdll: Use NtContinue() to set the thread initial context.
kernel32: Use a vectored exception handler to catch Ctrl-C.
ntdll: Remove support for setting custom signal handlers.
itss: Fix potentially uninitialized variable compiler warnings.
mciseq: Fix potentially uninitialized variable compiler warnings.
riched20: Fix potentially uninitialized variable compiler warnings.
twain_32: Fix potentially uninitialized variable compiler warnings.
kernel32/tests: Avoid some more compiler warning for HeapAlloc() invalid parameter tests.
ntdll: Move signal handlers to the Unix library.
ntdll: Move some more thread functions to the Unix library.
ntdll: Move the futex-based SRW lock implementation to the Unix library.
ntdll: Move the futex-based condition variable implementation to the Unix library.
ntdll: Move the wait on address implementation to the Unix library.
ntdll: Move the futex-based critical section implementation to the Unix library.
ntdll: Avoid overflowing the command line buffer.
ntdll: Avoid referencing security descriptor functions from the Unix library.
ntdll: Implement NtCreateUserProcess().
ntdll: Move Nt system time functions to the Unix library.
ntdll: Move the creation of the initial environment to the Unix library.
ntdll: Move the locales initialization to the Unix library.
dmloader: Check for invalid class in EnableCache().
ntdll: Move fork and exec support to the Unix library.
ntdll: Load the case mapping table in the Unix library.
ntdll: Move the directory functions to the Unix library.
ntdll: Move a few file functions to the Unix library.
makefiles: Also build import libs for extra test modules.
ntdll: Move the IO completion functions to the Unix library.
ntdll: Move the job functions to the Unix library.
ntdll: Move the get/set file information functions to the Unix library.
ntdll: Initialize file redirects only after the server is connected.
setupapi: Avoid storing uninitialized data in the registry.
ntdll: Move the NtCreateUserProcess() implementation to the Unix library.
ntdll: Move the process information functions to the Unix library.
ntdll: Move the file read/write functions to the Unix library.
ntdll: Move the device I/O control functions to the Unix library.
ntdll: Move the Unix to NT file name conversion support to the Unix library.
ntdll: Dynamically load callback functions from the Unix library.
ntdll: Move the current directory initialization to the Unix library.
ntdll: Remove support for PPC32.
ntdll: Move the remaining process functions to the Unix library.
ntdll: Move the thread get/set information functions to the Unix library.
ntdll: Move the WoW64 thread context functions to the Unix library.
ntdll: Move the image address initialization to the Unix library.
ntdll: Move the volume information functions to the Unix library.
ntdll: Move the directory change functions to the Unix library.
winebuild: Make the 32-bit side of a 16-bit module always a DLL.
ntdll: Actually return an NT path in wine_unix_to_nt_file_name() for relative paths.
Alistair Leslie-Hughes (10):
include: Add winhttp web socket defines.
winhttp: Add WinHttpWebSocket* function stubs.
directmanipulation: New stub dll.
directmanipulation: Register the DirectManipulationManager and DirectManipulationSharedManager classes.
uuid: Add directmanipulation.h.
winhttp/tests: Add WebSocket tests.
winhttp: Status HTTP_STATUS_SWITCH_PROTOCOLS doesn't have any content.
directmanipulation: Create DirectManipulationManager and DirectManipulationSharedManager objects.
directmanipulation: Implement IDirectManipulationManager2::GetUpdateManager.
directmanipulation/tests: Initial tests.
André Hentschel (15):
winex11.drv: Change whitelist to a more neutral word.
winedbg: Remove support for PPC32.
winetest: Remove support for PPC32.
libport: Remove support for PPC32.
dbghelp: Remove support for PPC32.
kernel32/tests: Remove support for PPC32.
setupapi: Remove support for PPC32.
include: Add else cases for __cdecl.
include: Define PCONTEXT for all architectures.
winemenubuilder: Change blacklist to a more neutral word.
winevulkan: Change blacklist to a more neutral word.
krnl386.exe16: Simply clean a comment from master/slave.
winex11.drv: Change slave to a more neutral word.
ntdll: Change master/slave to more neutral words.
comctl32: Clarify a comment.
Anton Baskanov (7):
winegstreamer: Commit allocator before pausing the stream.
quartz/filtergraph: Always try to query IMediaSeeking if it's not cached yet.
quartz/filtergraph: Count renderers in IMediaControl::Pause and ::Run.
quartz/filtergraph: Always sort filter list before use.
amstream: Implement MediaStreamFilter::GetCurrentStreamTime.
amstream: Implement IAudioStreamSample::GetSampleTimes.
amstream: Implement AMAudioStream::NewSegment.
Brendan Shanks (5):
kernel32/tests: Fix handle leak.
kernel32/tests: Add RegisterWaitForSingleObject() WT_EXECUTEINWAITTHREAD tests.
winex11.drv: Ensure output IDs are unique for mirrored displays.
winemac.drv: Ensure output IDs are unique for mirrored displays.
winhttp: Treat a partial certificate chain as having an unknown/invalid CA.
Damjan Jovanovic (1):
ntdll: Interpretation of l_addr depends on FreeBSD version.
Daniel Lehman (1):
server: Fail if non-empty directory marked for deletion.
Derek Lesho (1):
server: Partially implement JobObjectBasicAccountingInformation.
Dmitry Timoshkov (31):
rpcrt4/tests: Fix compilation with MS VC.
rpcrt4/tests: Add some tests for marshalling embedded conformant arrays.
crypt32: Store CRYPT_KEY_PROV_INFO in a platform independent way.
prntvpt: Implement PTOpenProviderEx.
prntvpt: Implement PTOpenProvider.
prntvpt: Implement PTCloseProvider.
prntvpt: Add some tests for PTOpenProvider and PTOpenProviderEx.
prntvpt: Implement PTReleaseMemory.
prntvpt: Implement PTConvertPrintTicketToDevMode.
prntvpt: Add support for PageOutputColor to ticket XML reader.
prntvpt: Add support for PageScaling to ticket XML reader.
prntvpt: Add support for PageResolution to ticket XML reader.
prntvpt: Add support for PageOrientation to ticket XML reader.
prntvpt: Add support for DocumentCollate to ticket XML reader.
prntvpt: Add support for JobInputBin to ticket XML reader.
prntvpt: Add support for JobCopies to ticket XML reader.
prntvpt: Add support for custom scaling to ticket XML reader.
winedump: Fix parsing of SLTG typelib created with some old tool.
prntvpt: Implement PTConvertDevModeToPrintTicket.
prntvpt: Add support for PageOutputColor to ticket XML writer.
prntvpt: Add support for PageScaling to ticket XML writer.
prntvpt: Add support for PageResolution to ticket XML writer.
prntvpt: Add support for PageOrientation to ticket XML writer.
prntvpt: Add support for DocumentCollate to ticket XML writer.
prntvpt: Add support for JobInputBin to ticket XML writer.
prntvpt: Add support for JobCopies to ticket XML writer.
prntvpt: Add support for custom scaling to ticket XML writer.
prntvpt: Initialize ticket from printer defaults.
prntvpt: Implement PTMergeAndValidatePrintTicket.
prntvpt: Add initial implementation of PTGetPrintCapabilities.
ieframe: Implement IPersistStorage::GetClassID().
Esme Povirk (1):
mscoree: Update Wine Mono to 5.1.0.
Gabriel Ivăncescu (5):
gdi32: Skip scan conversion on overflow.
msscript.ocx: Add IScriptModuleCollection stub implementation.
msscript.ocx: Add initial IScriptModule stub implementation.
msscript.ocx/tests: Add initial tests for Script Modules.
msscript.ocx: Implement IScriptModuleCollection::get_Count.
Gerald Pfeifer (2):
ntdll: Replicate InterlockedCompareExchange64 to the Unix library.
ntdll: Include <signal.h> where needed in the Unix library.
Gijs Vermeulen (7):
msado15: Ignore IRunnableObject interface in recordset/connection_QueryInterface.
msado15: Improve _Connection_Open/Close stubs.
quartz/filtergraph: Add a stub IVideoFrameStep interface.
d3dx9: Implement ID3DXSkinInfo_Clone().
amstream: Get rid of the IDirectDrawStreamSampleImpl typedef.
amstream/tests: Add IDirectDrawStreamSample::GetMediaStream() tests.
amstream: Don't crash on NULL ddraw in IDirectDrawMediaStream::GetDirectDraw().
Hans Leidekker (2):
msi: Fix installing from administrative image with compressed source files.
winhttp: Implement WinHttpWebSocketCompleteUpgrade.
Henri Verbeet (3):
wined3d: Do not explicitly check 3D depth/stencil capabilities in wined3d_check_device_format().
wined3d: Get rid of WINED3D_QUIRK_SET_TEXCOORD_W.
wined3d: Get rid of the special format handling in wined3d_check_depth_stencil_format().
Huw D. M. Davies (2):
gdi32: Move the scan conversion to a helper function.
oleaut32: Return early if there is no matching funcdesc.
Jacek Caban (29):
winnt.h: Add BitScanForward and BitScanReverse implementation.
ntdll: Reimplement _aulldiv using 32-bit arithmetic.
ntdll: Reimplement _aullrem using 32-bit arithmetic.
ntdll: Reimplement _alldiv using 32-bit arithmetic.
ntdll: Reimplement _allrem using 32-bit arithmetic.
ntdll: Reimplement _allmul using 32-bit arithmetic.
ntdll/tests: Add long long builtins tests.
ntdll: Export builtin functions as cdecl.
mshtml: Use DISPID_UNKNOWN for compat dispids not supported in compat mode.
mshtml: Add IHTMLCSSStyleDeclaration2::columnCount property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnWidth property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnWidth property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnFill property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnSpan property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnRuleColor property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnRuleStyle property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnRuleWidth property semi-stub implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::columnRule property semi-stub implementation.
mshtml: Expose IHTMLCSSStyleDeclaration2 to scripts.
mshtml: Use proper compat mode in IHTMLWindow7::getComputedStyle.
ntoskrnl: Use loader notification callback to perform relocations.
mshtml: Add IHTMLCSSStyleDeclaration2::perspective implementation.
msvcp: Use BitScanReverse in log2i.
dwrite: Use BitScanForward instead of dwrite_ctz.
dwrite: Use BitScanReverse instead of dwrite_log2i.
d3dx9: Use BitScanReverse in make_pow2.
msscript: Reimplement state property using embedded script engine state.
msscript/tests: Add more script state tests.
msscript: Parse script host object instead of control to parse_script_text.
Jeff Smith (10):
kernelbase: Output message ID as hex in debug messages.
gdiplus/tests: Test hatch brush patterns.
gdiplus: Fix most hatch brush patterns.
gdiplus: Fix hatch brush patterns that require anti-aliasing.
gdiplus: Handle additional hatch styles.
d3drm: Set light alpha to 1.0 in d3drm_light_SetColor().
d3drm/tests: Test IDirect3DRM_CreateLight().
d3drm: Get rid of the "partial stub" FIXMEs in the light creation functions.
gdiplus/tests: Test that hatch fill uses rendering origin.
gdiplus: Handle rendering origin during hatch fill.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (2):
pwrshplugin: New stub dll.
ws2_32: Add FreeAddrInfoEx.
Martin Storsjo (1):
widl: Make decl_needs_parens static.
Matteo Bruni (2):
d3dcompiler: Print float constants with more precision.
d3dcompiler: Check shader for NULL.
Nikolay Sivov (46):
dwrite: Sort feature tags returned from GetTypographicFeatures().
dwrite: Remove fixme from CreateFontFallback().
dwrite: Implement CheckTypographicFeature().
dwrite: Unify context lookup helpers.
dwrite: Implement contextual positional lookups.
dwrite: Limit recursion level for context lookups.
dwrite: Disallow recursing to reverse chaining substitution.
dwrite: Do not require fontface object for HasCharacter().
dwrite: Remove unused field from fontface data structure.
dwrite: Get rid of cmap cache.
dwrite: Return ranges for selected cmap.
dwrite: Implement GetVerticalGlyphVariants().
dwrite: Silence HasVariations() fixme.
dwrite: Fix CreateInMemoryFontFileLoader() prototype.
dwrite: Share same cluster for bases and following diacritics in initial map.
dwrite: Update clustermap once after all features have been applied.
dwrite: Set initial canBreakShapingAfter flags.
dwrite: Normalize glyph data before passing it to matching function.
dwrite: Implement ligature substitution.
dwrite: Implement another GetFontFamily() variant.
ntdll: Fix a typo in security descriptor flags.
ntdll: Use single field for misc flags in ComClass redirection section.
ntdll: Create class section for proxy-stub interface entries.
ole32: Remove workaround for creating objects from context proxy-stub descriptions.
dwrite: Keep current lookup feature mask in context.
dwrite: Remove some unused types.
dwrite: Use single table pointer in GPOS handlers.
dwrite: Implement mark to ligature attachment (GPOS lookup 5).
dwrite: Use mark array helper in mark to base attachment handler.
dwrite: Use mark array helper in mark to mark attachment handler.
dwrite: Add missing script tags.
dwrite: Simplify single substitution handler.
dwrite: Simplify multiple substitution handler.
dwrite: Simplify alternate substitution handler.
dwrite: Simplify ligature substitution handler.
evr/tests: Add basic creation test for default mixer object.
evr: Add IMFTransform stub for default video mixer.
evr: Add IMFVideoDeviceID to default mixer.
evr: Add IMFTopologyServiceLookupClient stub for default mixer.
d2d1: Implement D2D1CreateDevice().
evr: Implement stream managment methods for default mixer.
evr: Create attributes for input mixer streams.
evr: Add IMFVideoMixerControl2 stub for the mixer.
mf: Set clipping window attribute for EVR activator.
mfplat: Add EVR activator attributes to tracing.
evr/tests: Add some tests for surface samples.
Paul Gofman (29):
ntdll: Perform fsync() in client for files and directories.
ntoskrnl.exe/tests: Move test functions to the new utils.h header.
include/ddk: Define MAKE_WSK_VERSION macro.
include/ddk: Add WSK timeout constants definitions.
ntoskrnl.exe/tests: Add initial test for netio.sys.
netio.sys: Add WSK provider stub interface.
netio.sys: Implement wsk_get_address_info() function.
netio.sys: Implement wsk_free_address_info() function.
ntoskrnl.exe/tests: Add test for wsk_get_address_info().
include: Add CMSGHDR, PCMSGHDR defintion.
include/ddk: Add definition for WSK socket interfaces.
netio.sys: Implement wsk_socket() function for listen sockets.
netio.sys: Implement wsk_close_socket() function.
ntoskrnl/tests: Add initial test for WSK listen socket.
wined3d: Merge _USER_MEMORY and _SYSMEM locations.
ddraw: Update texture_memory when setting new texture parent in ddraw_surface7_Flip().
wined3d: Set user memory separately for texture sub resources.
ddraw/tests: Add more tests for _SetSurfaceDesc with mipmaps.
ddraw/tests: Port _SetSurfaceDesc() tests for mipmaps and DDSD_LPSURFACE for ddraw4.
ddraw/tests: Port _SetSurfaceDesc() tests for mipmaps and DDSD_LPSURFACE for ddraw2.
ws2_32: Optimize interface_bind_check() by caching adapter addresses.
netio.sys: Add stub interface for connection sockets.
netio.sys: Implement wsk_bind() function.
netio.sys: Implement wsk_accept() function.
ntoskrnl/tests: Add test for WskAccept().
winex11.drv: Handle X error from vkGetRandROutputDisplayEXT().
netio.sys: Support multiple simultaneous async operations for socket.
netio.sys: Implement wsk_{send|receive}().
ntoskrnl/tests: Add test for WSK send and receive.
Piotr Caban (7):
msvcrt: Use internal sprintf implementation.
msvcrt: Reimplement special doubles printing.
msvcrt: Reimplement %a printf format handling.
ucrtbase: Add printf %a format tests.
ucrtbase: Add more inf,nan,ind printf tests.
vcruntime140_1: Add support for pointer to object in unwind info.
msvcrt: Reset buffer in fflush on error.
Porot Mo (3):
oleaut32/tests: Add tests for ITypeInfo::GetDllEntry().
oleaut32: Match funcdesc using both memberid and invkind.
wshom.ocx: Expand environment string before executing command through CreateProcessW.
Rémi Bernon (3):
dinput: Stop sending WM_WINE_NOTIFY_ACTIVITY on every input.
dinput: Use a single list for all acquired devices.
dinput: Use dedicated list for mouse and keyboard.
Vijay Kiran Kamuju (5):
include: Add wownt16.h.
include: Add IMarkupServices2, IMarkupContainer2 and IMarkupPointer2 related interfaces.
oleaut32: Merge four DWORDs into a GUID.
oleaut32: Include the leading '\1' in the CompObj stream name.
include: Add missing packing, structs and defines for xact3wb.h.
Zebediah Figura (38):
ntdll: Avoid leaking "drive" on error paths from get_mountmgr_fs_info() (Valgrind).
d3dcompiler/tests: Add a test for struct assignment.
strmbase: Clear the debug info before calling DeleteCriticalSection (Valgrind).
strmbase: Avoid leaking the media type on failure in IEnumMediaTypes::Next().
quartz/tests: Avoid leaking the media type from IPin::ConnectionMediaType() (Valgrind).
quartz: Free type libraries on process detach (Valgrind).
qedit: Free type libraries on process detach (Valgrind).
qasf: Free type libraries on process detach (Valgrind).
evr: Free type libraries on process detach (Valgrind).
strmbase: Release the allocator in IPin::Disconnect() (Valgrind).
winegstreamer: Don't query our own source pad to convert duration.
winegstreamer: Calculate duration independently per pin.
winegstreamer: Try to convert the duration from bytes if the pad doesn't support querying time directly.
setupapi: Reset the source file pointer when comparing files.
setupapi: Store the original INF file path in a .pnf file.
setupapi: Use the original INF source path if possible when copying files.
d3dcompiler: Use the cached scalar type in expr_common_type() where possible.
d3dcompiler: Cache vector types.
d3dcompiler: Emit constructors as sequences of stores to a synthetic variable.
d3dcompiler: Allow hlsl_ir_constant to contain only numeric types.
d3dcompiler: Check for missing return value semantics on the entry point.
d3dcompiler: Return an HRESULT from parse_hlsl().
include: Correct the name of WAVEBANKMINIWAVEFORMAT.
quartz/vmr9: Trace the arguments to IVMRWindowlessControl9::SetVideoPosition().
quartz/vmr9: Implement IVMRWindowlessControl9::SetAspectRatioMode().
quartz/vmr9: Get rid of VMR9_ImagePresenter_PresentOffscreenSurface().
quartz/tests: Relax some timings.
ntoskrnl.exe/tests: Test completion callback parameters.
ntoskrnl.exe: Call completion callbacks with the correct device.
quartz: Try to connect all source pins when autoplugging from the registry.
quartz/tests: Test autoplugging order.
quartz: Combine IGraphBuilder::Render() and IGraphBuilder::Connect() into a single helper.
quartz: Implement IFilterGraph2::RenderEx().
d3dcompiler/tests: Add a test for struct field semantics.
d3dcompiler/tests: Add a couple of extra tests for struct declaration syntax.
d3dcompiler/tests: Add a simple test for global variable initializers.
d3dcompiler: Factor out hlsl_ir_var allocation.
winegstreamer: Clear the "colorimetry" and "chroma-site" fields in amt_to_gst_caps_video().
Zhipeng Zhao (1):
ole32: Deal with WM_RENDERFORMAT if the clipboard is empty.
Zhiyi Zhang (15):
winex11.drv: Set DM_POSITION and DM_DISPLAYORIENTATION when reporting registry display settings.
gdi32/tests: Remove tests for VidPnSourceId.
winemac.drv: Set DM_POSITION and DM_DISPLAYORIENTATION when reporting registry display settings.
explorer: Initialize registry display settings for all adapters.
winex11.drv: Support multiple adapter display settings in registry.
gdi32: Support LUID in D3DKMTOpenAdapterFromGdiDisplayName().
user32/tests: Test changing to a 1Hz display mode.
winex11.drv: Use the default frequency in ChangeDisplaySettingsExW() if dmDisplayFrequency is 1.
winemac.drv: Use the default frequency in ChangeDisplaySettingsExW() if dmDisplayFrequency is 1.
user32: Change slave to a more neutral word.
winemac.drv: Use helpers to get and release display device init mutex.
winemac.drv: Support multiple adapter display settings in registry.
winex11.drv: Add a Vulkan UUID property for GPUs.
winevulkan: Thunk vkGetPhysicalDeviceProperties2 and vkGetPhysicalDeviceProperties2KHR.
winevulkan: Fill Vulkan device LUID property.
Ziqing Hui (8):
windowscodecs: Initialize block data in DdsDecoder_Dds_GetFrame().
windowscodecs/tests: Add a DXT3 test image for DDS decoder.
windowscodecs/tests: Add more tests for DdsFrameDecode_Dds_CopyBlocks() when "boundsInBlocks" is NULL.
windowscodecs: Implement DdsFrameDecode_Dds_CopyBlocks().
windowscodecs/tests: Add tests for DdsFrameDecode_GetPixelFormat().
windowscodecs/tests: Add decoder info tests for DDS decoder.
windowscodecs: Fix MIME types of DDS decoder.
d3dx10/tests: Add tests for D3DX10GetImageInfoFromMemory().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.10 is now available.
What's new in this release (see below for details):
- More progress on the WineD3D Vulkan backend.
- Beginnings of a separate Unix library for NTDLL.
- Better support for anti-cheat kernel drivers.
- More glyph substitutions in DirectWrite.
- Support for DSS private keys.
- ARM64 exception handling fixes.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.10.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.10.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.10 (total 47):
7102 Microsoft Word 6.0 for Windows: copy/paste causes crash on unimplemented function ole2.dll16.OLEISCURRENTCLIPBOARD
26171 BVRP classic phone tools installer reports error 'Insufficient buffer' when trying to install print processor (AddPrintProcessorA stub should be symmetric to AddPrintProcessorW)
26489 GetKeyState does not work correctly with toggle keys (VK_CAPITAL, VK_NUMLOCK, VK_SCROLL)
32483 Windows Sysinternals 'PsInfo' tool fails to retrieve video driver description due to missing registry data for 'Video' device class '{4D36E968-E325-11CE-BFC1-08002BE10318}'
33194 Multiple applications ported to WinRT/ARM using MSVCR110.dll require msvcrt.__C_specific_handler
34842 Multiple .NET 3.5 apps occasionally fail to run when late-bound 'riched20.dll' prelink address is already occupied and PE mapped into >2 GiB address range (Garmin BaseCamp 4.1.2, GZDoom Builder 2.3)
38020 Foxit Reader 6.12 crashes on unimplemented function msasn1.dll.ASN1_CreateModule during validation of digital signatures
38587 RF:G is Incredibly Laggy, Then Crashes
44115 vcrun2012's vcredist_arm.exe crashes in riched20::isurlneutral()
44432 AArch64: assertion fail in alloc_pages_vprot with qemu_aarch64 Ubuntu 16.04
44925 Multiple kernel drivers require 'ntoskrnl.exe.ExCreateCallback' stub to return STATUS_SUCCESS (StarForce v3, TrackMania Nations ESWC. Denuvo Anti-Cheat)
45536 Total Commander 9.x crashes on unimplemented function usp10.dll.ScriptGetFontAlternateGlyphs when Wine is not detected via named export 'ntdll.wine_get_version'
46788 RtlIpv6AddressToStringA is not supported
49045 Japanese eroge called Koikatsu crashes after upgrading to Wine 5.7
49117 Virtual memory allocation gets slower when large number of views are allocated (We Happy Few)
49160 Unity: SystemInfo.deviceUniqueIdentifier always the same under Wine
49178 Spitfire Audio 3.x crashes on start due to 'WTSQuerySessionInformationA' stub not initializing out parameters
49179 winetest.exe fails to run on windows arm (surface rt / armv7): procedure entry point NtCurrentTeb could not be located in the dynamic link library C:\Users\User\Desktop\winetest.exe
49189 Auslogics Registry Cleaner 8.x crashes and shows "OLE error 80004001" (SetCurrentProcessExplicitAppUserModelID stub needs to return S_OK)
49194 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' fails to load, needs 'netio.sys' stub driver (Winsock Kernel Sockets API / WSK)
49198 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes in entry point (incorrect page protection restored during relocation processing)
49208 Wine fails to load explorer.exe or wineboot.exe with status c0000018 (kernelbase.dll mapping exceeds 4 MiB and is loaded in main executable address space)
49211 Multiple games and applications crash due to NULL device notification handle passed to 'user32.UnregisterDeviceNotification' (BandLab Cakewalk 2020.04, Glorious Model O control software)
49216 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.KdRefreshDebuggerNotPresent
49217 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.KeQueryActiveProcessorCountEx
49219 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.KeSetSystemAffinityThreadEx
49221 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes due to unhandled emulation of MSR register reads related to CPU / virtualization features (returning zero value is sufficient)
49222 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.KeRevertToUserAffinityThreadEx
49224 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.{KeGenericCallDpc,KeSignalCallDpcSynchronize,KeSignalCallDpcDone}
49228 Mouse movements are reversed/erratic for multiple games (Gothic 2, The Elder Scrolls V: Skyrim SE; Oblivion, Machinarium)
49230 Multiple kernel drivers crash on unimplemented function ntoskrnl.exe.KeSetTimer (Denuvo Anti-Cheat 'denuvo-anti-cheat.sys')
49235 Multiple .NET 4.x applications crash with stack overflow in IDWriteTextAnalyzer::GetGdiCompatibleGlyphPlacements (Microsoft Visual Studio 2010 Express, Win10 SDK installer)
49251 Mouse cursor leaves a trail when anti-aliasing enabled (Secret Files 1-2, Fahrenheit, Ufo:Extraterrestrials)
49257 Avast Free Antivirus 20.3 crashes before installing due to unimplemented function rpcrt4.dll.RpcIfInqId
49262 Heap debugging (WINEDEBUG=+heap) broken since wine-5.7-30-gba1495f7c2
49264 MultiSync installation crashes (needs _Command::get/put_CommandText)
49267 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' needs support for CustomTimerDpc via ntoskrnl.exe.KeSetTimer{Ex}
49272 MultiSync installation crashes (msado15.dll needs {b196b284-bab4-101a-b69c-00aa00341d07} IConnectionPointContainer)
49281 FinanceExplorer crashes inside msado15.dll
49283 Some win10 run into : err:module:import_dll Library api-ms-win-core-libraryloader-l2-1-0.dll not found
49289 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.ExRegisterCallback
49291 Denuvo Anti-Cheat 'denuvo-anti-cheat.sys' crashes on unimplemented function ntoskrnl.exe.ExUnregisterCallback when unloading
49295 Prefix creation freezes
49299 PowerToys for Windows 10 crashes on unimplemented function KERNEL32.dll.GetPackageFamilyName
49300 Multiple debuggers/tools from Windows 10 SDK want api-ms-win-downlevel-kernel32-l2-1-0.dll
49303 MultiSync installation crashes (msado15.dll needs IConnectionPointContainer::FindConnectionPoint)
49305 Sniper Elite V2 (Sniper Elite 3, Zombie Army Trilogy) fails to start on Steam
----------------------------------------------------------------
Changes since 5.9:
Aaro Altonen (5):
msado15: Implement _Command get/put CommandType.
msado15: Implement _Command get/put CommandText.
msado15: Add IConnectionPointContainer stub to _Connection.
msado15: Add IConnectionPoint stub to _Connection.
msado15: Implement IConnectionPointContainer_FindConnectionPoint.
Akihiro Sagawa (2):
gdi32: Handle vertical faces in the fontconfig fallback.
gdi32: Add a vertical font replacement if it's a DBCS font.
Alex Henrie (12):
ntdll: Increase size of IPv6 address string buffers.
include: Add RtlIpv4AddressToString(Ex)[AW].
include: Add more RTL functions.
ntdll/tests: Drop RTL function workarounds for Windows <= 2000.
ntdll/tests: Add more RtlIpv6AddressToString tests.
ntdll: Implement RtlIpv6AddressToString(Ex)[AW].
ws2_32: Reimplement inet_ntop on top of ntdll functions.
ws2_32/tests: Put WSAAddressToString tests in tables.
ntdll/tests: Make RtlIpv6AddressToString test data static and constant.
kernelbase: Add GetPackageFamilyName stub.
kernel32/tests: Fix GetNLSVersion test failure on Windows Server 2003.
quartz/tests: Fix overflow in 32-bit time calculation.
Alexandre Julliard (48):
server: Update shared user data timestamps on every request.
kernel32: Leave some more space for kernelbase.
kernel32: Use set_ntstatus() in more places.
ntdll: Implement ProcessImageInformation class in NtQueryInformationProcess().
kernel32: Reimplement GetProcessVersion() in kernelbase.
kernel32: Reimplement DosDateTimeToFileTime/FileTimeToDosDateTime using ntdll functions.
kernel32: Remove actctx.c.
kernel32: Remove cpu.c.
kernel32: Remove environ.c.
kernel32: Remove time.c.
kernel32: Remove string.c.
ntdll: Fix off-by-one buffer size error.
ntdll: Don't call terminate_thread request if not necessary.
ntdll: Create user shared data section in the server, and initialize it in wineboot.
ntdll: Don't include ntdll_misc.h from the Unix library.
ntdll: Move server initialization functions to the Unix library.
ntdll: Move fd cache functions to the Unix library.
ntdll: Move server call functions to the Unix library.
ntdll: Move NtClose() and NtDuplicateObject() to the Unix library.
ntdll: Add missing server_init_process_done() call.
ntdll: Move the threading initialization functions to the Unix library.
ntdll: Use the actual zero_bits parameter in the server requests.
ntdll: Move server wait functions to the Unix library.
ntdll: Properly reset the stack environment at thread exit on ARM64.
ntdll: Move NtSetContextThread() implementation to the Unix library.
ntdll: Move NtGetContextThread() implementation to the Unix library.
ntdll: Move the virtual memory functions to the Unix library.
ntdll: Use the local server_send_fd() function in the Unix library.
kernel32: Move SetConsoleCtrlHandler() implementation to kernelbase.
ntdll: Move the thread startup code to the Unix library.
ntdll: Move the thread creation code to the Unix library.
ntdll: Move more of the thread exit code to the Unix library.
ntdll: Consolidate some of the init routines into the init_threading() entry point.
ntdll: Move mapping of the user shared data to the Unix library.
ntdll: Move some wait functions to the Unix library.
ntdll: Move the semaphore functions to the Unix library.
ntdll: Move the event functions to the Unix library.
ntdll: Move the mutex functions to the Unix library.
ntdll: Move the timer functions to the Unix library.
ntdll: Move the keyed event functions to the Unix library.
ntdll: Move the section object functions to the Unix library.
ntdll: Move the rest of the thread creation code to the Unix library.
ntdll: Implement RtlCreateUserThread() on top of NtCreateThreadEx().
ntdll: Use NtCreateThreadEx() for remote thread creation.
ntdll: Move NtCreateThreadEx() to the Unix library.
ntdll: Move DbgUiIssueRemoteBreakin() to the Unix library.
secur32/tests: Update for new WineHQ certificate.
wininet/tests: Update for new WineHQ certificate.
Alistair Leslie-Hughes (1):
include/ddk: Add wsk.h file.
Anton Baskanov (11):
amstream: Don't crash if parent is NULL in AMAudioStream:: and AMDirectDrawStream::GetMultiMediaStream.
amstream: Move initialization code from audio_stream_create into AMAudioStream::Initialize and ::JoinAMMultiMediaStream.
amstream: Move initialization code from ddraw_stream_create into AMDirectDrawStream::Initialize and ::JoinAMMultiMediaStream.
amstream: Move initialization calls from *_stream_create into AMMultiMediaStream::AddMediaStream.
amstream: Allow AMAudioStream and AMDirectDrawStream to be created by CoCreateInstance.
amstream: Add tests for IAMMediaStream::Initialize and ::JoinAMMultiMediaStream.
amstream: Leave critical section on error in MediaStreamFilter::EnumPins().
amstream: Implement AMAudioStream::BeginFlush() and ::EndFlush().
amstream: Implement MediaStreamFilter::SupportSeeking().
amstream: Implement MediaStreamFilter::SetPositions().
amstream: Call MediaStreamFilter::SupportSeeking() in AMMultiMediaStream::OpenFile().
Arkadiusz Hiler (2):
user32: Move *RegisterDeviceNotification*() to input.c.
user32: Fix NULL dereference in UnregisterDeviceNotification.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Austin English (1):
api-ms-win-downlevel-kernel32-l2-1-0: New dll.
Biswapriyo Nath (2):
include: Add missing structures in dcommon.idl.
include: Add include guard in d2dbasetypes.h.
Brendan Shanks (4):
winex11.drv: Set GPU LUID property for monitors.
winex11.drv: Set output id property for monitors.
winemac.drv: Set GPU LUID property for monitors.
winemac.drv: Set output id property for monitors.
Damjan Jovanovic (2):
libwine: Fix a regression in the return value check for mmap() on FreeBSD.
ntdll: Reserve the area whenever possible in reserve_area() on FreeBSD.
Daniel Lehman (6):
vcruntime140_1: Support unwind handler with frame.
vcruntime140_1: Change pointer math in decode_uint.
vcruntime140_1: Skip unwind if already at last level.
vcruntime140_1: Don't terminate on state of -1.
vcruntime140_1: Unwind state 0.
vcruntime140_1: Don't terminate on -1 trylevel.
François Gouget (1):
winex11.drv: Avoid using the mailing list address in error messages.
Gerald Pfeifer (1):
ntdll: Include <stdarg.h> in unix/debug.c.
Gijs Vermeulen (6):
include: Add cfg.h.
wuapi: Add UpdateInstaller coclass.
wuapi: Fake success in IUpdateInstaller::get_IsBusy.
wtsapi32: Implement WTSQuerySessionInformationA.
wtsapi32: Improve WTSQuerySessionInformationW stub.
winemac: Cast buffer to const WCHAR* in insert_clipboard_format.
Hans Leidekker (8):
mountmgr: Return the disk serial from IOCTL_STORAGE_QUERY_PROPERTY(StorageDeviceProperty).
wbemprox: Get the disk drive serial number from mountmgr.
bcrypt: Implement BCryptDeriveKeyCapi.
bcrypt: Add support for BCRYPT_DSA_ALGORITHM.
msado15: Fix NULL pointer dereference in close_recordset.
bcrypt: Add support for importing and exporting DSS private keys.
mountmgr: Fix buffer length check.
bcrypt: Handle different sized R/S signature components.
Henri Verbeet (39):
wined3d: Move the swapchain logo texture blit to wined3d_cs_exec_present().
wined3d: Move the swapchain cursor texture blit to wined3d_cs_exec_present().
wined3d: Implement occlusion queries for the Vulkan adapter.
wined3d: Implement timestamp queries for the Vulkan adapter.
wined3d: Implement timestamp disjoint queries for the Vulkan adapter.
wined3d: Implement event queries for the Vulkan adapter.
wined3d: Implement pipeline statistics queries for the Vulkan adapter.
wined3d: Map vkGetPhysicalDeviceFeatures2() to vkGetPhysicalDeviceFeatures2KHR().
wined3d: Also load the index buffer in wined3d_context_vk_apply_draw_state() if STATE_INDEXBUFFER was invalidated.
wined3d: Use wined3d_buffer_vk_get_buffer_info() when binding the Vulkan index buffer.
wined3d: Use wined3d_buffer_vk_get_buffer_info() when binding Vulkan vertex buffers.
wined3d: Initialise more caps and limits in wined3d_adapter_vk_init_d3d_info().
wined3d: Map Vulkan adapter bo's persistently on 64-bit architectures.
wined3d: Move swapchain buffer discarding to wined3d_cs_exec_present().
wined3d: Implement swapchains for the Vulkan adapter.
wined3d: Wait for the command stream to finish before removing the context in adapter_no3d_uninit_3d().
wined3d: Create WINED3D_NO3D swapchain surfaces without GPU access.
wined3d: Check for GPU access before attempting an upload blit in texture2d_blt().
wined3d: Explicitly check for WINED3D_NO3D instead of "d3d_initialized" in surface_convert_format().
wined3d: Set "device->d3d_initialized" in wined3d_device_set_implicit_swapchain().
wined3d: Get rid of the "d3d_initialized" check in wined3d_device_reset().
wined3d: Get rid of the "d3d_initialized" check in context_resource_released().
wined3d: Get rid of the "d3d_initialized" check in device_resource_released().
wined3d: Get rid of the "d3d_initialized" check in wined3d_texture_update_map_binding().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in arbfp_blit_supported().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in glsl_blitter_supported().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in ffp_blit_supported().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in wined3d_texture_blt().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in texture2d_blt().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in texture2d_depth_blt_fbo().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in fbo_blitter_blit().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in the FBO cache.
wined3d: Use "depth_size" to check for a depth format in resolve_depth_buffer().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in query_internal_format().
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in create_and_bind_fbo_attachment().
wined3d: Introduce WINED3DFMT_FLAG_DEPTH_STENCIL.
wined3d: Clear WINED3DFMT_FLAG_DEPTH_STENCIL if the format is not supported as FBO attachment.
wined3d: Reference the back buffer in wined3d_swapchain_vk_blit().
wined3d: Partially implement adapter_vk_clear_uav().
Huw D. M. Davies (3):
ntdll: Use the correct size when the read spans a page boundary.
ntdll: Remove unnecessary page variable.
bcrypt: Add stubs for DSS private key functions on macOS.
Jacek Caban (41):
rpcndr.h: Avoid error_status_t redefinition.
winegcc: Store main arguments in strarray.
winegcc: Add support for @file arguments.
winegcc: Add support for -Wl,--whole-archive option.
setjmp.h: Use __intrinsic_setjmpex when using ucrt.
winnt.h: Provide inline NtCurrentTeb implementation for mingw arm builds.
dmusic/tests: Introduce compare_time helper.
kernel32/tests: Remove workaround for NT4.
kernel32/tests: Avoid using abs on ULONGLONG values.
wintab32: Fix -Wabsolute-value warning.
taskmgr: Introduce size_diff helper.
d3d9/tests: Use int for indexes in generate_bumpmap_textures.
mshtml: Use return_nsstr_variant in HTMLTable_get_width.
mshtml: Add IHTMLTableCell::height property implementation.
mshtml: Add IHTMLTableCell::width property implementation.
gdiplus/tests: Introduce compare_uint helper.
ieframe: Return S_FALSE in IWebBrowser2::get_Document when returning NULL.
gdiplus: Introduce absdiff helper.
quartz/tests: Fix -Wabsolute-value warnings.
jscript: Support ES5 Array.prototype.sort arguments handling.
jscript: Support context argument in Array.prototype.forEach.
jscript: Throw proper exception in RegExp.prototype.toString when called on non-RegExp object.
mshtml/tests: Introduce sync_test helper.
winmm/tests: Introduce compare_uint helper.
winmm: Introduce compare_uint helper.
configure: Enable -Wabsolute-value on cross compiler.
jscript: Inline add_eval implementation.
jscript: Don't realloc interpreter stack.
jscript: Throw proper stack overflow exception.
mshtml/tests: Improve tests exception handling.
jscript: Add Object.keys implementation.
jscript: Use wide string literals in array.c.
jscript: Add Array.prototype.reduce implementation.
jscript: Support passing non-string pattern to RegExp constructor.
jscript: Support passing non-string flags to RegExp constructor.
jscript: Add Object.preventExtensions semi-stub implementation.
mshtml: Use return_nsstr_variant in IHTMLBodyElement::get_bgColor.
mshtml: Use default white value in IHTMLDocument2::get_bgColor.
mshtml: Add IHTMLCSSStyleDeclaration2::transform property implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::animationName property implementation.
mshtml: Add IHTMLCSSStyleDeclaration2::transition property implementation.
Ken Thomases (1):
winemac: Fix a string format warning for tick counts in update_clipboard().
Liam Middlebrook (1):
winevulkan: Update to VK spec version 1.2.142.
Louis Lenders (5):
usp10: Add stub for ScriptGetFontAlternateGlyphs.
api-ms-win-core-libraryloader-l2-1-0: Add new dll.
api-ms-win-core-memory-l1-1-4: Add new dll.
api-ms-win-core-localization-l1-2-2: Add new dll.
explorerframe: Return S_OK in ITaskbarList::SetOverlayIcon.
Martin Storsjo (12):
configure: Pass -fasynchronous-unwind-tables to the compiler.
ntdll: Fix handling of the save_lrpair unwind opcode.
ntdll: Fix byte vs register units in unwind_packed_data.
ntdll: Pass a nonnull handler_data in when continuing after a collided unwind.
ntdll: Store the real stack pointer in RtlCaptureContext.
ntdll: Fix unwinding functions that end with a branch instruction.
wine/asm.h: Use __ASM_CFI on clang too, despite not defining __GCC_HAVE_DWARF2_CFI_ASM.
ntdll: Implement RtlRestoreContext.
ntdll: Keep the previous iteration of NonVolatileRegisters in call_function_handlers.
ntdll: Fix unwinding through raise_generic_exception.
ntdll: Implement RtlRaiseException in assembly to fix continuing from exceptions.
wine/asm.h: Don't define __ASM_CFI when using clang as cross compiler.
Matteo Bruni (3):
ntdll: Use memcpy() in set_float_reg().
user32: Add missing WM_WINE_CLIPCURSOR message type name.
user32: Make sure update_window_state() is always executed on the owner thread.
Nikolay Sivov (68):
dwrite: Fix array indexing when merging features.
dwrite: Set glyph class for all initial glyphs.
dwrite: Set glyph class properties when applying GPOS.
dwrite: Use prefetched glyph class to match with lookup mask.
dwrite: Simplify single substitution helper.
include: Add IMFMediaEngineEx definition.
mfplat: Add Media Engine attributes to tracing.
include: Add CResamplerMediaObject class id.
dwrite: Update glyph properties on single substitution.
dwrite: Only enable single substitution lookups for chained substitution.
dwrite: Use temporary buffers for GetGlyphs().
dwrite: Prefetch all lookup entry fields when collecting them.
dwrite: Use global cursor to glyph array for substitutions.
dwrite: Reference currently used layout table in context.
dwrite: Handle extension substitution (GSUB lookup 7).
dwrite: Implement alternate substitution (GSUB lookup 3).
dwrite: Use cluster map to apply use feature ranges.
dwrite: Mark some of default ignorables as ZWS.
dwrite: Keep text properties zero initialized.
dwrite: Use GPOS handlers for subtables, not whole lookups.
dwrite: Implement multiple substitution (GSUB lookup 2).
dwrite: Update glyph component count on multiple substitution.
dwrite: Add stub handler for ligature substitution.
include: Add Media Engine events constants.
mfmediaengine/tests: Use global factory instance.
mfmediaengine/tests: Add some tests for shutdown state.
mfmediaengine: Add shut down state.
mfmediaengine: Keep auto-play flag.
mfmediaengine: Keep loop flag.
dwrite: Simplify glyph properties helpers by using current glyph buffer.
dwrite: Implement mark glyph filtering.
dwrite/tests: Enable glyph class tests on Wine.
dwrite: Add matching callback support for iterators.
dwrite: Use iterator matching for chain substitution.
dwrite: Implement chaining contextual substitution of format 1.
dwrite: Implement chaining contextual substitution of format 2.
mfmediaengine: Create media session instance.
mfmediaengine: Send "play" event on Play().
mfmediaengine: Send "pause" event on Pause().
dwrite: Fix lookup collection when no suitable script was found.
dwrite: Add properties for recently added scripts.
dwrite: Implement contextual subsitution (GSUB lookup 5).
dwrite: Fix offsets when stepping through chain rule fields.
dwrite: Add main loop variant for reverse substitution.
mfmediaengine: Send "ratechange" event for both default and playback rate changes.
mfmediaengine: Send "volumechange" event on muted state change.
mfmediaengine: Send "volumechange" event on volume change.
mfmediaengine: Propagate error out on missing callback attribute.
mfmediaengine: Duplicate configuration attributes.
mfmediaengine: Forward buffering events to user callback.
mf/session: Handle source buffering events.
dwrite: Implement reverse chain contextual substitution (GSUB lookup 8).
dwrite: Use lookup fitering for context matching.
dwrite: Include required feature when collecting lookups.
dwrite: Enable lookups from non-global features too.
dwrite: Partially implement GetBaseline().
include: Add more Media Foundation error codes.
mfmediaengine: Set media type flags on source resolution.
mfmediaengine: Set presentation duration attribute.
mfmediaengine/tests: Add some tests for error property.
mfmediaengine: Implement error object.
mfmediaengine: Implement error property.
mfmediaengine: Fully initialize error state.
mfmediaengine: Implement GetCurrentSource().
mfmediaengine: Update ready state property during resolution.
mfmediaengine: Set up audio output branch.
dwrite: Fix global feature mask to match its shift.
dwrite: Use correct glyph array offset for alternate substitution table output.
Paul Gofman (50):
ntoskrnl.exe: Add KdRefreshDebuggerNotPresent() function.
include/ddk: Add prototype for KeQueryActiveProcessors().
include: Add prototype for GetActiveProcessorCount().
ntoskrnl.exe: Add KeQueryActiveProcessorCountEx() function.
include/ddk: Fix struct _KUSER_SHARED_DATA definition.
ntdll: Fill ActiveProcessorCount field in _KUSER_SHARED_DATA.
ntdll: Fill ActiveGroupCount field in _KUSER_SHARED_DATA.
ntoskrnl.exe: Return zero for unknown msr registers.
ntoskrnl.exe: Fix KeQueryActiveProcessors() function.
ntoskrnl.exe: Add KeSetSystemAffinityThreadEx() function.
ntoskrnl.exe: Implement KeSetSystemAffinityThread() function.
ntoskrnl.exe: Implement KeRevertToUserAffinityThreadEx() function.
ntoskrnl.exe: Implement KeRevertToUserAffinityThread() function.
ntoskrnl.exe: Import KeGetCurrentProcessorNumber() function.
ntoskrnl.exe: Add KeSignalCallDpcDone() function.
ntoskrnl.exe: Add KeGenericCallDpc() function.
ntoskrnl.exe: Add KeSignalCallDpcSynchronize() function.
ntoskrnl.exe/tests: Add basic test for DPC call.
wined3d: Use a single wined3d_texture_is_full_rect() function.
wined3d: Prepare/load the destination resource location in glsl_blitter_blit().
wined3d: Allow multisample destination locations for all colour blits.
wined3d: Allow multisample source locations for all colour blits.
ntoskrnl.exe: Partially implement KeInitializeDpc() function.
ntoskrnl.exe: Add KeSetTimer() function.
ntoskrnl.exe: Reimplement KeSetTimerEx() on top of thread pool.
ntoskrnl.exe: Avoid leaking events on multipe KeSetTimerEx() calls.
ntoskrnl.exe: Cancel active timer before setting it.
ntoskrnl.exe: Support DPCs with timers.
ntoskrnl.exe/tests: Add more timer tests.
ntoskrnl.exe: Fix ObRegisterCallbacks() function parameter definition.
ntoskrnl.exe: Return STATUS_SUCCESS from ExCreateCallback() stub.
ntoskrnl.exe: Add stub for ExRegisterCallback() function.
ntoskrnl.exe: Add stub for ExUnregisterCallback() function.
ntoskrnl.exe: Implement IoReuseIrp() function.
include/ddk: Update the IMAGE_INFO structure.
ntoskrnl.exe: Implement image load notify routines registration.
include: Add RTL_QUERY_REGISTRY_TYPECHECK defines.
ntoskrnl.exe: Call load image notify routines for driver modules.
ntoskrnl.exe: Implement PsGetProcessSectionBaseAddress() function.
ntoskrnl.exe: Zero copied size in MmCopyVirtualMemory() stub.
include/ddk: Add _KAPC_STATE structure definition.
ntoskrnl.exe: Add stub for KeStackAttachProcess().
ntoskrnl.exe: Add stub for KeUnstackDetachProcess().
ntoskrnl.exe/tests: Add a test for accessing process memory.
ntoskrnl.exe/tests: Avoid race condition in test driver.
netio.sys: Add driver stub.
netio.sys: Add stub for WskRegister().
netio.sys: Add stub for WskDeregister().
netio.sys: Add stub for WskCaptureProviderNPI().
netio.sys: Add stub for WskReleaseProviderNPI().
Rémi Bernon (9):
ntdll: Introduce free_ranges indexing sequence.
ntdll: Use the free ranges in find_reserved_free_area.
d3d10core: Directly call DXGID3D10CreateDevice().
d3d11: Stop advertising the ID3D10Device interface on devices created by d3d11.
crypt32/tests: Fix signed integral cast warning.
dxgi/tests: Fix signed integral cast warning.
sxs: Fix uninitialized variable warning.
msvcirt/tests: Fix signed integral cast warning.
msvcp120/tests: Fix signed integral cast warning.
Serge Gautherie (3):
advpack: RegQueryValueExW() wants bytes, not chars.
shlwapi: RegQueryValueExW() wants bytes, not chars.
mscoree: RegQueryValueExW() wants bytes, not chars.
Thomas Faber (1):
ntdll/tests: Fix a test failure on Server 2003.
Torge Matthies (1):
joy.cpl: Fix pulsing buttons in joystick button state display.
Vijay Kiran Kamuju (4):
msasn1: Add stub for ASN1_Decode function.
include: Add missing enum, function and packing to msasn1.h.
ole2.dll16: Add stub OleIsCurrentClipboard function.
winspool.drv: Implement AddPrintProcessorA via AddPrintProcessorW.
Zebediah Figura (23):
amstream: Simplify flush_receive_queue() a bit.
amstream: Don't duplicate IMediaStream method implementations.
quartz/vmr9: Fake success from IVMRMixerConrol9::SetMixingPrefs().
quartz/vmr9: Use TRACE for some implemented methods.
quartz/vmr9: Don't query for IVMRSurfaceAllocatorEx9.
quartz/vmr9: Don't expose IVMRSurfaceAllocatorEx9 from the default presenter.
quartz/vmr9: Remove the unused "allocator_mon" field.
quartz/vmr9: Get rid of CreateRenderingWindow().
quartz/vmr9: Trace argument values instead of omitting them.
d3dcompiler: Store derefs as an offset to a variable.
d3dcompiler: Rename HLSL_IR_DEREF to HLSL_IR_LOAD.
d3dcompiler: Store some builtin types in the hlsl_ctx structure.
d3dcompiler: Don't add a record deref to the instruction list twice.
d3dcompiler: Create assignment instructions more directly in struct_var_initializer().
d3dcompiler: Pass the semantic and location parameters to new_func_decl().
d3dcompiler: Also check the type class when checking for void.
d3dcompiler: Write to the function return value using a separate instruction.
amstream/tests: Define and use a global variable holding an audio media type.
d3dcompiler: Fix up the swizzle data type when unwrapping it from the assignment LHS.
d3dcompiler: Remove a redundant check for writemasks on non-numeric types.
d3dcompiler: Coerce the RHS before unwrapping swizzles.
d3dcompiler: Fix matrix dimension declaration for matrix<...> syntax.
d3dcompiler: Use hlsl_report_message() where possible.
Zhipeng Zhao (1):
wlanapi: Add WlanQueryInterface stub implementation.
Zhiyi Zhang (6):
user32: Handle NULL device and mode parameters in ChangeDisplaySettingsExW().
winex11.drv: Fake success for changing non-primary adapter settings.
winemac.drv: Fake success for changing non-primary adapter settings.
user32: Fake success for detaching adapters.
ddraw: Get new window size from the primary output after display mode changes.
rpcrt4: Implement RpcIfInqId().
Ziqing Hui (10):
windowscodecs: Get DDS parameters when initialize.
windowscodecs: Implement DdsDecoder_Dds_GetFrame().
windowscodecs: Implement DdsFrameDecode_GetSize().
windowscodecs: Check NULL parameters for DdsFrameDecode_GetSize().
windowscodecs/tests: Add tests for DdsFrameDecode_Dds_GetFormatInfo().
windowscodecs: Implement DdsFrameDecode_Dds_GetFormatInfo().
windowscodecs/tests: Add tests for DdsFrameDecode_Dds_GetSizeInBlocks().
windowscodecs: Implement DdsFrameDecode_Dds_GetSizeInBlocks().
windowscodecs: Add tests for DdsFrameDecode_Dds_CopyBlocks().
windowscodecs/tests: Add more tests for DdsFrameDecode_Dds_CopyBlocks().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 5.0.1 is now available.
What's new in this release (see below for details):
- Fix compilation with gcc 10
- Add some timezones
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0.1.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.0.1 (total 37):
36059 Multiple Steam games fail to install DirectX runtime prerequisite, resulting in repeated install attempt on startup ('xinput1_3.dll' locked by client)
42038 Cannot scroll documents being compared in winmerge (Followup to bug 20695)
42585 Final Fantasy V Corrupt Fonts
45049 Multiple programs need d2d1 CreateRoundedRectangleGeometry (playchessV7, Paint.Net 4.*)
45481 Spintires: MudRunner crashes at launch
46005 Multiple games and applications fail due to missing interface proxy information in registry (oleautomation/dual interfaces referenced in coclass section inside of library block)
46735 Multiple applications need Direct3DShaderValidatorCreate9() implementation (The Sims 2 demo, Armed Assault)
47288 Gaea 1.0.19 (.NET 4.7 WPF app) diagnostic tool 'Watson.exe' crashes due to 'kernel32.SetConsoleScreenBufferInfoEx' stub
47668 Logos 8 (.NET/WPF 4.7.2 application) fails to download resources (needs ReOpenFile implementation)
48018 QuickTime 7.0.x installer fails, 'rundll32.exe "C:\Program Files (x86)\QuickTime\QTSystem\QTJava.dll,QTPostInstallProc"' crashes due to invalid cdecl dll entry
48338 DIB images with bpp <= 8 get wrong palette when converted to GpBitmap
48371 Home Designer Suite 21.3.1.1x64 reports "Error #272000009 A serious error occurred (SEH)."
48386 Some CPU features are not reported for Intel CPU (Detroit: Become Human is affected)
48387 User shared data area should have NumberOfPhysicalPages field filled in (used by Detroit: Become Human)
48480 dlls/krnl386.exe16 - thunk.c argument logic incorrect for CallProcEx32W16
48484 winecfg doesn't allow disabling Desktop Integration for Downloads
48491 _searchenv & co do not understand quoted directories
48510 Lotus Organizer 97 crashes when selecting a Backup folder using 'Browse' button
48549 Arma Cold War Assault: Cursor stuck at low fps since Wine 5.0-rc6
48557 Multiple installers crash (Hot Wired, Croc installer) : Setup is unable to initialize the language dialogbox: Error 106
48561 Cadence Allegro Professional 16.6 crashes at startup
48569 Infinite drag & drop loop crashes WinSCP
48571 Firefox 72.0.* crashes on every tab (unless dwrite is disabled)
48577 DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY and other enums are the wrong size
48580 Discord connecting to voice needs unimplemented function qwave.dll.QOSAddSocketToFlow
48594 AnyDesk crashes directly on startup (low WORD of instance handle must be ignored when looking up window classes)
48635 Asuka 120% Return BURNING Fest: Crashes after character selection.
48639 Shrew Soft VPN client needs setupapi.dll.SetupDiGetSelectedDriverA()
48646 QQMusicAgent crashes when started after installation
48648 Gothic II Night of the Raven:unhandled exception in Wine 5.2
48664 kernel32:process - Intermittent test_Toolhelp() failure
48669 iphlpapi.NotifyUnicastIpAddressChange() should call the callback initially if requested (required for Far Cry 5 online mode)
48694 The Bat! (64bit) crashes right after start
48706 Wineconsole freezes when restoring from minimized to maximized window
48723 Torchlight - Loading times are excessively long
48735 Wine builtin services.exe process_send_command: OVERLAPPED struct for control pipe has uninitialized Offset and OffsetHigh fields
48846 msvcr90/tests/msvcr90.c: error: variadic functions must use the base AAPCS variant
----------------------------------------------------------------
Changes since 5.0:
Aaro Altonen (3):
kernel32/tests: Add tests for SetConsoleScreenBufferInfoEx().
kernelbase: Implement SetConsoleScreenBufferInfoEx().
urlmon: Add URLOpenPullStreamW() stub.
Akihiro Sagawa (3):
dsound/tests: Add a test whether the buffer is a valid global memory.
dsound: Make GlobalHandle() for the sound buffer failed.
po: Update Japanese translation.
Alexandre Julliard (2):
rundll32: Add wrapper to call entry point on i386.
ver: Use the 16-bit resource function in GetFileVersionInfo16().
Alistair Leslie-Hughes (3):
d3dx9: Implement D3DXCreateKeyframedAnimationSet.
dmstyle: IDirectMusicStyle8 GetDefaultBand return S_FALSE.
qwave: Add QOSAddSocketToFlow stub.
Aurimas Fišeras (3):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Brendan Shanks (4):
include: Fix size of DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY enum.
include: Fix size of tomConstants enum.
include: Fix size of RecordCreateOptionsEnum.
wined3d: Add GPU information for NVIDIA GeForce GTX 1060 3GB.
Charles Davis (1):
msvcrt: Correct return value of ___mb_cur_max_l_func().
Damjan Jovanovic (1):
gdiplus: In CompositingModeSourceCopy, fully transparent pixels are drawn black.
Daniel Lehman (5):
tzres: Add Haiti Time Zone.
tzres: Add Aleutian Time Zone.
loader: Add Chatham Islands Standard Time Zone.
loader: Add Bougainville Standard Time Zone.
loader: Add Marquesas Standard Time Zone.
Dirk Niggemann (1):
krnl386.exe: Make CallProcEx32W16 clear CPEX_DEST_CDECL flag before looping over arguments.
Dmitry Timoshkov (4):
schedsvc/tests: Fix compilation with recent gcc/clang versions.
gdiplus: Reimplement GdipCreateBitmapFromGdiDib by using GdipCreateBitmapFromHBITMAP.
user32/tests: Add some tests for classes with non-zero low word instance.
server: Ignore low word of a class instance when looking up for a window class.
François Gouget (1):
kernel32/tests: Fix test_Toolhelp()'s nested process lookup.
Gerald Pfeifer (2):
winedump: Add a default case to numeric_leaf().
msi: Properly declare variables in msi/tests/utils.h as extern.
Gijs Vermeulen (1):
kernelbase: Set req->mask in SetConsoleScreenBufferInfoEx.
Giovanni Mascellani (1):
d2d1: Implement rounded rectangle drawing.
Hans Leidekker (1):
wbemprox: Implement Win32_DesktopMonitor.Name.
Henri Verbeet (1):
wined3d: Properly validate the stage index in wined3d_stateblock_set_texture_stage_state() (Coverity).
Jacek Caban (1):
rpcrt4: Use MustFree for all non-base types in get_param_pointer_info.
Jefferson Carpenter (1):
services: Initialize OVERLAPPED Offset and OffsetHigh.
Kevin Puetz (1):
rpcrt4: Fix ITypeInfo leak in get_iface_info.
Lauri Kenttä (2):
po: Update Finnish translation.
po: Update Finnish translation.
Lukáš Horáček (1):
wined3d: Add GTX 1660 SUPER as a card.
Matteo Bruni (1):
maintainers: Drop Józef Kucia.
Michael Cronenworth (12):
crypt32: Global variable compatibility update for gcc 10.
dsound: Global variable compatibility update for gcc 10.
mshtml: Global variable compatibility update for gcc 10.
secur32: Global variable compatibility update for gcc 10.
winebus: Global variable compatibility update for gcc 10.
wbemprox: Global variable compatibility update for gcc 10.
xinput: Global variable compatibility update for gcc 10.
twain_32: Global variable compatibility update for gcc 10.
msi: Global variable compatibility update for gcc 10.
webservices: Global variable compatibility update for gcc 10.
gphoto2.ds: Global variable compatibility update for gcc 10.
sane.ds: Global variable compatibility update for gcc 10.
Michael Müller (1):
setupapi: Implement SP_COPY_IN_USE_NEEDS_REBOOT.
Michael Stefaniuc (1):
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
Mingcong Bai (1):
po: Update Simplified Chinese translation.
Nikolay Sivov (5):
ucrtbase: Add _query_new_handler() and _query_new_mode().
dwrite: Add partial implementation for IDWriteFontFaceReference1::CreateFontFace().
user32: Improve window state handling in SetScrollInfo().
ole32: Fix a leak when creating pointer moniker through activation.
ole32: Fix a leak when creating antimoniker through activation.
Olivier F. R. Dierick (1):
winecfg: Add Downloads and Templates to shell folders UI interface.
Paul Gofman (6):
ntdll: Fill NumberOfPhysicalPages field in user shared data area.
ntdll: Report rdtsc processor feature if supported.
iphlpapi: Support InitialNotification flag in NotifyUnicastIpAddressChange().
ntdll: Zero init reg_tzi in find_reg_tz_info().
include: Add Vista+ PEB_LDR_DATA structure fields.
wined3d: Support sRGB reads for WINED3DFMT_B5G6R5_UNORM.
Piotr Caban (11):
msvcrt: Add support for quoted paths in _searchenv.
msvcrt: Add support for quoted paths in _searchenv_s.
msvcrt: Don't duplicate _searchenv_s code in _searchenv.
msvcrt: Add support for quoted paths in _wsearchenv_s.
msvcrt: Don't duplicate _wsearchenv_s code in _wsearchenv.
msvcp90: Don't pass NULL as reference in runtime_error and logic_error constructors.
msvcrt: Optimize _strnicmp_l implementation.
msvcr90/tests: Fix swscanf tests compilation on arm.
winemac: Fix leaks in macdrv_surface_destroy.
gdiplus: Fix gdi handles leak in GdipMeasureCharacterRanges.
gdiplus: Fix leak in SOFTWARE_GdipDrawDriverString.
Roman Pišl (3):
shell32: Avoid crash on WM_WINDOWPOSCHANGING in BrsFolderDlgProc.
ole32: Avoid calling QueryContinueDrag recursively.
wineconsole: Allow maximization.
Rémi Bernon (1):
dinput: Increase device buffer size to 1024.
Sven Baars (1):
wined3d: Avoid accessing freed memory in wined3d_view_gl_destroy() (Valgrind).
Vijay Kiran Kamuju (3):
include: Add missing defines to icm.h.
mscms: Add stub for WcsGetDefaultColorProfileSize.
mscms: Add stub for WcsGetDefaultRenderingIntent.
Zebediah Figura (5):
widl: Output a registry script for all interfaces written into the typelib.
kernelbase: Implement ReOpenFile().
d3d9: Return a stub interface from Direct3DShaderValidatorCreate9().
setupapi: Implement SetupDiGetSelectedDriver().
ddraw: Avoid leaking the primary stateblock.
Zhiyi Zhang (1):
wined3d: Add GPU information for NVIDIA GeForce GTX 1650 SUPER.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 5.9 is now available.
What's new in this release (see below for details):
- Major progress on the WineD3D Vulkan backend.
- Initial support for splitting dlls into PE and Unix parts.
- Support for generating PDB files when building PE dlls.
- Timestamp updates in the Kernel User Shared Data.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.9.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.9.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.9 (total 28):
15489 Build should optionally produce .pdb file suitable for use with symbol server
29168 Multiple games and applications need realtime updates to KSYSTEM_TIME members in KUSER_SHARED_DATA (Star Wars: The Old Republic game client, Blizzard games, GO 1.4+ runtime, Denuvo Anti-Tamper x64 #2)
29806 Hype The Time Quest: DirectX Media (DXM) v6.0 runtime installer fails (advpack.ExecuteCab should extract the INF from CAB before running the install part)
30814 Age of Empires II scrolling gets stuck after Alt-Tab away and back
42125 4k/8k demos often fail with 'Bad EXE Format' or 'error c0000020' due to Crinkler executable file compressor's "optimized" usage of PE header fields (loader compatibility)
43959 webservices/reader tests fail on arm
43960 rpcrt4/cstub tests fail on arm
43962 msvcrt/string tests fail on arm
44860 4k/8k demos crash due to Crinkler executable file compressor expecting PEB address in %ebx on process entry
48186 every wine process shows a definite leak in dlls/ntdll/env.c
48289 Grand Theft Auto 5 crashes after loading (GTA5 expects Vista+ PEB_LDR_DATA structure fields)
48441 mouse coordinates cannot exceed initial desktop size during startup of wineserver
48471 Mismatching behavior of GetEnvironmentVariableW for empty / long values
48490 Restored minimized windows have wrong height
48775 Microsoft Teams 1.3.x crashes on unimplemented function IPHLPAPI.DLL.NotifyRouteChange2
49105 Deus Ex GOTY fails to start with Direct3D renderer
49115 Hitman (2016) and Hitman 2 (2018) fail to launch in DX11 mode
49128 Good Company crash on launch
49130 NVIDIA RTX Voice installer crashes on unimplemented function setupapi.dll.SetupDiGetActualSectionToInstallExW
49131 wineboot fails to start
49139 Regression: Wine crashes on startup on FreeBSD >= 5.7
49140 Windows 10 SDK installer hangs on startup
49142 Horizontal mouse scroll events (X11 buttons 6 and 7) should not be translated to back/forward events
49146 Hearts of Iron IV needs api-ms-win-crt-private-l1-1-0.dll._o_sin
49173 widl generates invalid code for Gecko's ISimpleDOM.idl
49175 Duplicated checking canonicalized inside kernelbase/path.c
49200 Steam hangs after login
49203 Possible incorrect usage >= instead <= in shlview.c
----------------------------------------------------------------
Changes since 5.8:
Akihiro Sagawa (3):
po: Update Japanese translation.
winegstreamer: Unref the GstCaps object in init_new_decoded_pad().
strmbase: Allow NULL pin_get_media_type() callback in source_Connect().
Alex Henrie (8):
ntdll: Implement RtlIpv6StringToAddress(Ex)[AW].
iphlpapi: Implement ParseNetworkString for IPv6 addresses and services.
ws2_32/tests: Put WSAStringToAddress tests in tables.
ws2_32: Reimplement WSAStringToAddress on top of ntdll functions.
ws2_32: Set WSAEINVAL in InetPtonW if the address string is unparsable.
ws2_32: Reimplement inet_pton on top of ntdll functions.
ws2_32/tests: Fix typos in test_WSAStringToAddress.
ws2_32: Don't set output length in WSAStringToAddress on error.
Alexandre Julliard (54):
ntdll/tests: Enable RtlDowncaseUnicodeString() test.
ntdll: Add a few printf functions.
ntdll: Merge new features from msvcrt's printf implementation.
ntdll: Implement RtlFormatMessage().
ntdll/tests: Add some printf tests.
ntdll/tests: Add tests for RtlFormatMessage().
kernelbase: Reimplement FormatMessageA/W using RtlFormatMessage().
kernel32/tests: Add some tests for FormatMessageA/W buffer sizes.
attrib: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
cmd: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
net: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
reg: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
regedit: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
regsvr32: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
uninstaller: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
xcopy: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
ntdll: Initialize server directory on macOS when sending Mach port.
ntdll: Fix __sync_bool_compare_and_swap() usage.
ntdll: Handle already relocated .dynamic entries.
winegcc: Allow the output file to end in .so.
makefiles: Add support for building Unix .so libraries.
ntdll: Initial version of the ntdll.so Unix library.
ntdll: Allow ntdll.so to be loaded before wine_init() has run.
ntdll: Set up virtual memory layout in the Unix library.
loader: Try to load ntdll.so before libwine initialization.
ntoskrnl.exe: Avoid a few more ntdll forwards.
ntdll: Move the mmap reserved area functions to the Unix library.
ntdll: Store reserved areas in the Unix library.
ntdll: Move the debug functions to the Unix library.
ntdll: Move the Wine version functions to the Unix library.
ntdll: Do the pre-exec checks in the Unix library.
ntdll: Store main() arguments in the Unix library.
ntdll: Move configuration paths setup to the Unix library.
ntdll: Move the wineloader exec support to the Unix library.
ntdll: Don't use libwine during the Unix library initialization.
ntdll: Move the wineserver exec support to the Unix library.
ntdll: Move the Unix codepage initialization to the Unix library.
ntdll: Move setting the process name to the Unix library.
wineboot: Use wide character string literals.
include: Update the KUSER_SHARED_DATA structure.
ntdll: Make the windows directory a global variable.
ntdll: Add some more CPU feature flags.
ntdll: Centralize initialization of the user shared data.
ntdll: Use the user shared data to implement NtGetTickCount().
ntdll: Use the user shared data to implement RtlQueryUnbiasedInterruptTime().
kernelbase: Move WaitOnAddress implementation to sync.c.
kernelbase: Use the user shared data to implement GetTickCount().
kernel32: Use the user shared data to implement GetTickCount().
kernel32: Move GetProcessTimes() implementation to kernelbase and ntdll.
kernel32: Move GetSystemTimes() implementation to kernelbase.
ntdll: Implement SystemTimeAdjustmentInformation class.
kernel32: Move Get/SetSystemTimeAdjustment to kernelbase.
kernel32: Move the *PreferredUILanguages functions to kernelbase and ntdll.
ntdll: Silence a va_start compiler warning.
Alistair Leslie-Hughes (2):
shell32: Correct if condition.
loader: http.sys belongs in the driver directory.
Alon Barzilai (1):
ntdll: Add missing RtlQueryEnvironmentVariable function.
André Hentschel (1):
ntdll: Fix SystemRecommendedSharedDataAlignment on ARM.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Austin English (1):
mshtml: Mark tests that need wine-gecko as todo on arches without it.
Biswapriyo Nath (2):
include/dwrite_1.idl: Fix typo in DWRITE_PANOSE_STROKE_VARIATION symbol name.
include/dwrite.idl: Fix typo in DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME member name.
Brendan Shanks (1):
ntdll: Fix length calculation of generated SMBIOS tables.
Charles Davis (8):
wined3d: Have ARB_fbo imply EXT_packed_depth_stencil.
winemac.drv: Use InitOnceExecuteOnce to initialize OpenGL.
preloader: Depend on wine_info.plist.
d3d11: Implement d3d11_immediate_context_FinishCommandList().
d3d11: Implement d3d11_immediate_context_GetContextFlags().
wined3d: Introduce wined3d_device_flush().
d3d11: Implement d3d11_immediate_context_Flush().
d3d11: Implement d3d10_device_Flush().
Connor McAdams (4):
d2d1: Introduce a helper to check for Bézier segments.
d2d1: Introduce a helper to check for split Bézier segments.
d2d1: Allow inserting multiple Bézier control points into a figure at once.
d2d1: Allow appending multiple Bézier control points to a figure at once.
Damjan Jovanovic (2):
ntdll: Fix ELF initializer address calculations on FreeBSD.
libwine: Add support for mmap at fixed start addresses on FreeBSD.
Daniel Lehman (1):
vcruntime140_1: Use return address from catch block routine if not provided by catch block info.
Derek Lesho (2):
mf/samplegrabber: Attach markers to previously queued sample, not the next.
mfreadwrite/reader: Add recognition of ftypemp42 mp4 header.
Dmitry Timoshkov (5):
server: All fields up to CheckSum are mandatory regardless of SizeOfOptionalHeader value.
ntdll: Don't try to map the PE file past the size of the backing file.
kernel32: On process entry store PEB address in %ebx.
kernel32/tests: Add a PE test image that resembles format of some of 8k demos.
crypt32: pwszContainerName or pwszProvName could be NULL in CRYPT_KEY_PROV_INFO.
Emilio Cobos Álvarez (2):
widl: Use DECLSPEC_ALIGN in MSVC compatible way for return types too.
api-ms-win-crt-private-l1-1-0: Implement _o__fileno, _o__setmode, _o__wfopen.
Esme Povirk (7):
joy.cpl: Add a description.
gdiplus: Don't set a palette when loading non-indexed images.
gdiplus: Return an error retrieving the palette for a metafile.
gdiplus: Add tests for image palette size.
gdiplus: Implement GdipGetMetafileDownLevelRasterizationLimit.
gdiplus: Improve GdipSetMetafileDownLevelRasterizationLimit.
maintainers: Changing my name.
François Gouget (5):
windowscodecs/tests: Fix the spelling of a couple of variable names.
msvcrt: Fix a couple of spelling errors in comments.
wineusb.sys: Fix the spelling of an ERR() message.
winebus.sys: Fix the spelling of HID_USAGE_SIMULATION_ACCELERATOR.
rsaenh: Remove an unnecessary reference to wine-devel.
Gabriel Ivăncescu (2):
winex11.drv: Use a helper to retrieve the decoration rect for managed windows.
winex11.drv: Fix X11DRV_X_to_window_rect to handle windows smaller than the decoration.
Gijs Vermeulen (10):
advpack: Extract inf file before installing in ExecuteCab().
dxgi: Introduce helper to convert between dxgi and wined3d scanline ordering types.
dwrite: Set ret on unimplemented lookup in opentype_layout_apply_gsub_lookup.
include: Fix SetupDiGetActualSectionToInstallExA/W definitions.
setupapi: Add SetupDiGetActualSectionToInstallExA/W.
winemac: Add default case in isMouseMoveEventType.
setupapi: Correct SetupDiGetActualSectionToInstall[Ex]A/W .spec file entries.
advapi32: Set last error directly in GetUserName.
ucrtbase: Add more _o forwards.
ntdll: Fix number of arguments passed to mmap_remove_reserved_area in apple_create_wine_thread.
Hans Leidekker (4):
wbemprox: Fix allocation size.
crypt32: Recognize 'Microsoft Root Certificate Authority 2010' when verifying the Microsoft root policy.
crypt32: Microsoft root policy does not include the base policy.
wbemprox: Get the operating system serial number from the registry.
Henri Verbeet (34):
wined3d: Introduce WINED3D_BITMAP_SIZE.
wined3d: Check for a bound compute shader in wined3d_cs_exec_dispatch().
wined3d: Introduce a SPIR-V shader backend for the Vulkan adapter.
wined3d: Implement adapter_vk_dispatch_compute().
wined3d: Implement Vulkan constant buffer descriptors.
wined3d: Implement Vulkan image shader resource view descriptors.
wined3d: Implement Vulkan buffer shader resource view descriptors.
wined3d: Implement Vulkan sampler descriptors.
wined3d: Implement Vulkan buffer unordered access view descriptors.
wined3d: Implement Vulkan image unordered access view descriptors.
wined3d: Implement Vulkan unordered access view counter descriptors.
wined3d: Implement Vulkan NULL buffer shader resource view descriptors.
wined3d: Implement Vulkan NULL 1D image shader resource view descriptors.
wined3d: Implement Vulkan NULL 2D image shader resource view descriptors.
wined3d: Reference shader resources in wined3d_context_vk_update_descriptors().
wined3d: Add a supported extensions array to the wined3d_vk_info structure.
wined3d: Implement Vulkan draws.
wined3d: Implement indirect Vulkan draws.
wined3d: Implement indexed Vulkan draws.
wined3d: Create Vulkan pipeline objects.
wined3d: Bind Vulkan vertex buffers.
wined3d: Implement scissor rectangle support for the Vulkan adapter.
wined3d: Implement blend object support for the Vulkan adapter.
wined3d: Implement rasterisation object support for the Vulkan adapter.
wined3d: Store the wined3d primitive type in the wined3d state structure.
wined3d: Store the wined3d patch vertex count in the wined3d state structure.
wined3d: Implement different primitive topologies for the Vulkan adapter.
wined3d: Implement primitive restart for the Vulkan adapter.
wined3d: Set the correct patch vertex count for the Vulkan adapter.
wined3d: Implement depth tests and writes for the Vulkan adapter.
wined3d: Implement stencil tests for the Vulkan adapter.
wined3d: Implement alpha to coverage multisampling for the Vulkan adapter.
wined3d: Implement vertex attribute divisors for the Vulkan adapter.
wined3d: Move the swapchain fps counter to wined3d_cs_exec_present().
Jacek Caban (24):
dbghelp: Use debuggee environment in search_unix_path.
notepad: Use int for point size value.
dmscript: Remove unused function.
winegcc: Introduce --debug-file option for generating separated symbol files.
configure: Allow specifying cross debug format.
makedep: Support split debug for cross compiled modules.
configure: Check if --disable-stdcall-fixup is supported before using it.
makedep: Install also generated typelib for installed idl files.
oleacc.idl: Generate tlb file for importlib.
winnt.h: Add ARRAYSIZE macro.
wine/test.h: Remove NAN and INFINITY macros.
dmusicf.h: Move typedef below enum declarations.
gdiplusenums.h: Remove PaletteFlags.
winegcc: Default to ucrtbase.
configure: Use cross compiler for EXCESS_PRECISION_CFLAGS check when available.
winegcc: Pass only raw compiler and linker arguments in forward mode.
include: Add winapifamily.h file.
include: Avoid redefinition warnings when basetyps.h is used together with winnt.h or objbase.h.
stdlib.h: Remove _strtold declaration.
stdlib.h: Provide strtold as an inline wrapper.
configure: Remove no longer needed -Wno-incompatible-library-redeclaration.
ucrtbase: Use MSVCRT prefix for __stdio_common_vsprintf implementation.
math.h: Provide copysign declaration for ucrt.
math.h: Add scalbn declaration.
Jactry Zeng (6):
include: Add some interface definitions for axextend.idl.
qcap/tests: Add interface tests for video capture filter.
qcap/videocapture: Initialize caps struct.
qcap/tests: Correct CLSID in aggregation tests of smart tee filter.
qcap/videocapture: Implement IAMFilterMiscFlags interface.
qcap/videocapture: Implement IAMVideoControl interface.
Józef Kucia (3):
wined3d: Introduce a (stub) SPIR-V fixed-function vertex pipe implementation.
wined3d: Introduce a (stub) SPIR-V fixed-function fragment pipe implementation.
wined3d: Implement shader_spirv_select().
Louis Lenders (3):
iphlpapi: Add stub for NotifyRouteChange2.
setupapi: Add stub for CM_Get_Device_Interface_Alias{A,W}.
shcore: Return S_OK in SetCurrentProcessExplicitAppUserModelID.
Markus Engel (2):
user32: Force undefined bits in GetKeyState() and GetKeyboardState() to zero.
user32/tests: Add more tests for GetKeyState().
Martin Storsjo (5):
ntdll: Fix arm64 unwind across ELF/PE boundaries.
ntdll: Pass a nonnull handler_data when continuing after a collided unwind on arm64.
ntdll: Properly restore x29/x30 for arm64 packed unwind data with local stack.
ucrtbase: Add tests and fix more zero length __stdio_common_vs[w]printf cases.
ucrtbase: Extend the printf tests even further.
Michael Stefaniuc (1):
dmusic: Remove an unused function.
Murray Colpman (1):
winex11.drv: Interpret mouse 6/7 as horiz scroll.
Nikolay Sivov (40):
dxgi: Translate DXGI_USAGE_UNORDERED_ACCESS to corresponding wined3d bind flag.
mf: Add a helper for session commands without parameters.
mf: Add a helper to set closed state for the session.
mf: Add a helper to set paused state for the session.
mf: Move locking from individual command helpers to command callback.
mf: Serialize session commands.
mf: Add internal placeholder command for end-of-presentation.
shlwapi: Forward SHRegDuplicateHKey() to shcore.dll.
shlwapi: Forward SHRegGetPath() to shcore.dll.
shlwapi: Forward SHRegSetPath() to shcore.dll.
shlwapi: Forward SHGetValue() to shcore.dll.
shlwapi: Forward SHQueryInfoKey() to shcore.dll.
shlwapi: Forward SHDeleteValueW() to shcore.dll.
shlwapi: Forward SHSetValue() to shcore.dll.
shlwapi: Forward SHQueryValueExA() to shcore.dll.
mf: Add flags field for additional SAR state.
mf: Avoid unnecessary prerolling calls in SAR.
mf: Preroll on sink start.
mf/sar: Implement sample processing.
mf/sar: Implement stream flushing.
mf/sar: Use MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS attribute to configure audio client.
mf/sar: Use MF_AUDIO_RENDERER_ATTRIBUTE_SESSION_ID to initialize audio client.
mfreadwrite/reader: Consider end-of-stream state when picking stream for MF_SOURCE_READER_ANY_STREAM requests.
mf/samglegrabber: Dump pending items on shutdown.
mf/samplegrabber: Remove now unnecessary shutdown state check.
mf/samplegrabber: Test shutdown state under the lock for methods that modify item queue.
quartz/dsoundrenderer: Remove dead method call.
dwrite: Remove feature duplicates before applying them.
dwrite: Set feature indices before collecting lookups.
dwrite: Enable 'vert' feature.
dwrite: Append enabled user features that apply to whole text.
dwrite: Keep user features values.
dwrite: Propagate feature mask to lookups collected from it.
dwrite: Keep track of shaping stage feature applies to.
dwrite: Set per-glyph feature mask.
dwrite: Silence warning for name entries with platform 3/encoding 10.
dwrite: Use mirrored character only if font supports it.
mf/topology: Setting tee node input type does not create input stream.
mf/topology: Remove logic already present in stream resize helper.
include: Add IMFTopologyNodeAttributeEditor definition.
Paul Gofman (4):
wined3d: Allow setting user memory for mipmapped textures in wined3d_texture_update_desc().
ntoskrnl.exe: Emulate full user shared data area range.
ntoskrnl.exe: Support 'or Ev, Gv' opcode for x86_64.
ntoskrnl.exe: Support 'xor Ev, Gv' opcode for x86_64.
Philip Rebohle (4):
include: Add IDXGIFactory6.
dxgi: Implement IDXGIFactory6.
include: Add IDXGIFactory7.
dxgi: Add stubs for IDXGIFactory7.
Piotr Caban (1):
ucrtbase: Add remaining _o_* functions forwards.
Rémi Bernon (4):
ntdll/tests: Add tests for USD timestamp updates.
ntdll/tests: Add tests for USD memory basic info.
server: Add USD support with timestamp updates.
ntdll: Reduce USD section size to 0x1000.
Stefan Dösinger (2):
wined3d: Implement Vulkan NULL 3D image shader resource view descriptors.
wined3d: Implement Vulkan NULL cube image shader resource view descriptors.
Vijay Kiran Kamuju (1):
include: Add new defines and fix struct WNODE_HEADER.
Vladimir Panteleev (3):
kernelbase: Preserve last error when GetEnvironmentVariableA succeeds.
kernelbase: Don't return ERROR_INSUFFICIENT_BUFFER from GetEnvironmentVariableW.
kernelbase: Fix GetEnvironmentVariableW return for empty variables.
Zebediah Figura (49):
include: Add dpfilter.h.
quartz/tests: Fix a test failure on 32-bit Windows.
quartz/tests: Add some tests for windowless video size.
quartz: Set VMR9AllocationInfo dimension members to the video dimensions.
quartz: Get rid of the texture drawing path.
quartz/vmr9: Get rid of VMR9_SurfaceAllocator_UpdateDeviceReset().
quartz/vmr9: Perform image stretching in Present() instead of StretchRect().
quartz/vmr9: Allow the aspect ratio parameters to be NULL in IVMRWindowlessControl9::GetNativeVideoSize().
quartz/vmr9: Remove a redundant check from VMR9_SurfaceAllocator_InitializeDevice().
quartz/vmr9: Rename hWndClippingWindow to clipping_window.
quartz/vmr9: Render to the clipping window in windowless mode.
quartz/vmr9: Destroy the window when set to windowless or renderless mode.
quartz/vmr9: Check for D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES.
quartz/vmr9: Partially implement IVMRFilterConfig9::SetNumberOfStreams().
quartz/vmr9: Implement IVMRFilterConfig9::GetNumberOfStreams().
quartz/vmr9: Add IVMRMixerControl9.
quartz/vmr9: Set the stream count to 4 in IVMRWindowlessControl9::SetVideoClippingWindow().
quartz/vmr9: Allocate the surface array in allocate_surfaces().
qcap/tests: Get rid of the VFW capture filter tests.
devenum: Use calloc() in enum_moniker_create().
devenum: Map CLSID_LegacyAmFilterCategory to DMOCATEGORY_AUDIO_DECODER and DMOCATEGORY_VIDEO_DECODER.
devenum: Use wide string literals.
quartz/tests: Fix a crash in test_allocate_surface_helper().
quartz/tests: Test filter mapper interfaces.
quartz/tests: Fix a leak in test_fm2_enummatchingfilters().
quartz: Pass the matching filter count to IEnumRegFiltersImpl_Construct().
devenum: Return filter data for DMO monikers.
quartz/tests: Test enumerating DMOs.
quartz/tests: Fix a crash in test_renderless_formats().
quartz/tests: Fix a test failure in Windows 7 and higher.
quartz/tests: Relax an intermittently failing test.
quartz/filtergraph: Get rid of tracing for outer IUnknown methods.
shell32/tests: Add more tests for IShellWindows.
explorer: Implement IShellWindows::Register() and IShellWindows::Revoke().
explorer: Implement IShellWindows::OnNavigate().
explorer: Implement IShellWindows::FindWindowSW() for non-desktop windows.
explorer: Look for an existing window browsing the given path first.
quartz: Complain louder if a filter reports the wrong state.
quartz: Implement IMediaControl::StopWhenReady().
ntdll: Remove extraneous newline from debugstr_ObjectAttributes().
d3dcompiler: Synthesize a variable when subscripting a non-deref node.
d3dcompiler: Synthesize a variable when indexing a non-deref node.
d3dcompiler: Do not store matrix and vector indexes as deref instructions.
include: Add asferr.h.
quartz/tests: Move the test for filter mapper aggregation to filtergraph.c.
quartz: Merge enumregfilters.c into filtermapper.c.
quartz: Merge enummoniker.c into filtermapper.c.
wine.inf: Install some driver libraries in the system32/drivers subdirectory.
ntoskrnl.exe: Protect the two relocated pages independently.
Zhiyi Zhang (21):
dxgi: Search all adapters for the containing output of a swapchain.
ddraw/tests: Test window position.
d3d8/tests: Test window position.
d3d9/tests: Test window position.
ddraw/tests: Add get display mode tests.
d3d8/tests: Add more get display mode tests.
d3d9/tests: Add more get display mode tests.
winex11.drv: Resize desktop upon display change events.
winex11.drv: Move update_windows_on_desktop_resize().
dxgi/tests: Test IDXGISwapChain_GetContainingOutput() after Alt+Enter.
d3d8: Store a struct d3d8 in struct d3d8_device.
wined3d: Specify a wined3d output for swapchain creation.
wined3d: Determine output from window position in wined3d_hook_proc().
wined3d: Get output from swapchain state.
kernelbase: Check NULL canonicalized_len parameter in UrlCanonicalizeW().
shlwapi/tests: Test NULL UrlCanonicalizeA/W() parameters.
wined3d: Move device window to the correct output when handling WM_ACTIVATEAPP with full screen swapchains.
wined3d: Restore display mode for the previous output before changing to another output.
wined3d: Remove no longer needed output parameter in wined3d_swapchain_state_set_fullscreen().
dxgi: Remove dxgi_swapchain_set_fullscreen_state().
wined3d: Remove no longer needed output parameter in wined3d_swapchain_state_resize_target().
Ziqing Hui (3):
windowscodecs/tests: Add tests for IWICDdsDecoder_GetParameters().
windowsccodecs: Implement DdsDecoder_Dds_GetParameters().
windowscodecs/tests: Add tests for DdsDecoder_GetFrame() and DdsFrameDecode_GetSize().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.8 is now available.
What's new in this release (see below for details):
- Support for Plug & Play device notifications.
- More support for building with Clang in MSVC mode.
- Still more progress on the WineD3D Vulkan backend.
- Initial implementation of a GIF encoder.
- Vulkan spec update.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.8.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.8.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.8 (total 44):
17233 Zanzarah game opens a black fullscreen window and then crashes (needs support for IDirectDraw7::EnumSurfaces 'DDENUMSURFACES_CANBECREATED')
32337 ABBYY FineReader 11 trial version crashes when trying to activate the production (RichEdit control incorrectly returns failure for EM_SETREADONLY)
34495 Total War: Shogun 2 (Steam): character models are fixed sideways with NVIDIA drivers
37388 GTA IV fails to launch (using XLiveLess)
38495 Origin crashes when launching a game
39534 Bad Mojo Redux crashes on start (ddraw1_vtbl and ddraw_surface1_vtbl need to be writable)
39649 Anno 1701 doesn't show images in ANNOpedia when anti-aliasing enabled
40311 Processing of 'DeviceIoControl' calls doesn't corresponds to specification
40820 Karaoke DVD Burner v1.0 crashes when attempting to 'Create and Burn' (missing 'CLSID_FileWriter', clsid '{8596E5F0-0DA5-11d0-BD21-00A0C911CE86}')
40894 Warcraft 3: Crash on starting the game
42313 64-bit Process Hacker 2.39.124 crashes when attempting to inspect any process
42326 Darsksiders Warmastered Edition crashes on startup
42555 Units are invisible in Shogun: Total War battle map
43454 Multiple installers and applications crash on unhandled exception 0x000006ba inside NdrAsyncClientCall (ABBYY FineReader 12 Professional)
43765 RSpec-Explorer windows are sometimes unresponsive to keyboard and mouse input
44216 The 4Th coming crashes
45377 StreetFighter V Arcade Edition (Steam) custom protection scheme requires pids/tids to be multiples of four
45774 Multiple games and applications show black screen or have broken user interface rendering (Ragnarok Online kRO, Microsoft Expression Design 4)
45839 Qt 5.8 SDK installer needs 'IFileSystem.MoveFile' method implementation for maintenance tool creation step
46377 The Bat!: weird behaviour of program icon on the KDE taskbar
46949 DDraw games using older windowed mode wrappers such as DirectX Windower Embedded v2.3/D3D Windower v1.x crash (ddraw_palette_vtbl and ddraw_surface{1,2,3,4,7}_vtbl need to be writable)
47621 Command link buttons in task dialog are displayed in wrong style
47623 Acronis Disk Director 12 installer fails in 'MsiFltSrvInstall64' custom action (Acronis Storage Filter Management Driver 'fltsrv.sys')
47690 Notepad++ shows no ligatures for Fira Code font, when used with DirectWrite backend
47999 Gif pictures stored in PE files are not loaded into HTML web pages via Res protocol
48308 KERNEL32.dll.SetEnvironmentStringsW function needed for GoG Galaxy 2 beta
48586 d3d tests broke on cw-gtx560-64 due to recent user32/tests changes
48738 cmd.exe crashes when running certain batch files
48857 Tokyo Xanadu eX+: game crashes when trying to play videos with builtin quartz
48920 Can't quit Legends of Runeterra by closing virtual desktop window (stack overflow) (5.6 regression)
48927 Heap buffer underflow in TiffFrameDecode_ReadTile when decoding 1x1 4bpp RGBA image
48984 Riot Vanguard (Riot Games) 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.{vswprintf_s,swprintf_s}
48985 Riot Vanguard (Riot Games) 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.ZwFlushBuffersFile
48987 Riot Vanguard (Riot Games) 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.{wcscat_s,wcscpy_s}
49005 Listview header occasionally fails to redraw when list is scrolled vertically
49011 Multiple games and applications cause wineserver crash in Wine 5.7
49034 Enlarge list width in font selection dialog
49043 iLok License Manager daemon 'LDSvc.exe' crashes on startup (PACE copy protection spuriously fails to get/set thread context of newly created threads)
49064 Riot Vanguard (Riot Games) v0.3.3 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.RtlDuplicateUnicodeString
49068 'Access violation in riched20.dll' with certain GOG.com installers
49086 Blindwrite 7.0 'ezplay.sys' crashes in driver entry point
49087 Blindwrite 7.0 'ezplay.sys' needs ntoskrnl.exe.RtlCopyMemoryNonTemporal
49088 Acronis Storage Filter Management Driver 'fltsrv.sys' crashes on unimplemented function 'ntoskrnl.exe.IoIs32bitProcess'
49090 The Witcher: Enhanced Edition: tooltips, object descriptions are wrongly displayed
----------------------------------------------------------------
Changes since 5.7:
Alexandre Julliard (40):
ntdll: Avoid using wine_get_config_dir() from libwine.
ntdll: Avoid using wine_get_server_dir() from libwine.
ntdll: Avoid using wine_get_user_name() from libwine.
ntdll: Avoid using wine_get_build/data_dir() from libwine.
ntdll: Avoid using wine_dll_enum_load_path() from libwine.
libwine: Make the various directory functions obsolete.
configure: Check for deprecation warnings from sys/sysctl.h.
ntdll: Add a helper to exec wineserver.
ntdll: Add a helper to exec wineloader.
ntdll: Store the pending free list in the main process heap.
ntdll: Don't use a custom alignment for large heap blocks.
ntdll: Remove VFAT_IOCTL_READDIR_BOTH kernel bugs workarounds.
ntdll: Add a helper for platform-specific threading initialization.
ntdll: Move signal stack size computation to the common code.
ntdll: Move TEB allocation to the common code.
ntdll: Use server_enter_uninterrupted_section() for LDT locking.
ntdll: Get rid of obsolete KERN_THALTSTACK sysctl.
ntdll: Allocate TEBs out of a larger memory block.
ntdll: Remove support for custom virtual memory alignments.
wrc: Remove some dead code.
include: Get rid of BITFIELDS_BIGENDIAN.
include: Get rid of ALLOW_UNALIGNED_ACCESS.
include: Get rid of Mac support in RPC headers.
ntoskrnl: Add missing exports for functions that are already implemented.
gdi32: Return 0 char width for missing glyphs.
include: Use the gcc interlocked functions also on i386 if possible.
ntdll: Use the standard Interlocked* functions.
user32: Use the standard Interlocked* functions.
server: Avoid using interlocked functions.
libport: Get rid of interlocked functions.
kernel32: Move volume functions to kernelbase.
kernel32: Move some file functions to kernelbase.
kernel32: Move Wer* function stubs to kernelbase.
kernel32: Move FlushProcessWriteBuffers() stub to ntdll.
kernel32: Move some stub functions to kernelbase.
kernelbase: Add CopyMemoryNonTemporal export.
kernel32: Move the psapi functions to kernelbase.
api-ms-win-core-windowserrorreporting-l1-1-0: Add WerUnregisterFile().
kernel32/tests: Use wide character string literals in FormatMessage() tests.
kernel32/tests: Fix some incorrect FormatMessage() tests.
Alistair Leslie-Hughes (3):
ddraw: Make palette and remaining surface vtbls writable.
dmime: Parse lyric track data.
dmime: Support more common chunks.
Andrew Eikum (5):
include/xapo.idl: Add XAPO registration flags.
setupapi: Quiet down missing driver debug message.
ntoskrnl: Quiet down failed class installer debug message.
winmm: Accept open handles in wave{In,Out}GetDevCaps.
winmm/tests: Test using a device handle in wave{In,Out}GetDevCaps and wave{In,Out}Open.
Bernhard Übelacker (3):
cmd: Fix crash in if condition parsing.
cmd/tests: Test that the if command is not influenced by a previous one.
server: Save whole input history line again.
Biswapriyo Nath (2):
include: Add d3d11 video processor capability flags.
include/dxgi.idl: Add cpu access flags.
Brendan Shanks (8):
include: Add additional DISPLAYCONFIG defines.
user32: Move DisplayConfig stubs together into sysparams.c.
user32/tests: Add QueryDisplayConfig() and DisplayConfigGetDeviceInfo() tests.
user32: Improve QueryDisplayConfig() stub.
user32: Improve DisplayConfigGetDeviceInfo() stub.
include: Add additional DISPLAYCONFIG defines.
user32/tests: Rename DisplayConfig test functions to match style.
user32/tests: Test success for QueryDisplayConfig() and DisplayConfigGetDeviceInfo().
Christian Costa (1):
d3dx9/tests: Remove useless '\n' within some ok() messages.
Derek Lesho (1):
mf: Add missing ::Release of clock timer.
Dmitry Kislyuk (1):
wshom.ocx: Use wide character string literals.
Dmitry Timoshkov (3):
windowscodecs: Add initial implementation of the GIF encoder.
windowscodecs: Fix IWICBitmapDecoder::CopyPalette for a not initialized case in the GIF decoder.
windowscodecs/tests: Add the tests for GIF encoder and decoder.
Fabian Maurer (2):
find.exe/tests: Add test for multiple files at once.
find.exe: Implement file searching.
Gabriel Ivăncescu (6):
qedit: Check for S_OK when enumerating the splitter pin.
qedit: Check for S_OK when enumerating the source pin.
qedit: Retrieve the pin media type using a helper function.
qedit: Use the pin's media type instead of querying for IFileSourceFilter.
qedit: Implement IMediaDet::get_StreamLength().
cmd.exe: Don't treat explicit paths as a PATH search list.
Gijs Vermeulen (3):
wineqtdecoder: Do not use wide string literals to fix warning.
ntdll: Remove unused function fast_wait_cv().
kernel32: Remove unused functions is_executable() and get_table_entry().
Hans Leidekker (3):
msxml3: Update version resource.
msxml6: Update version resource.
msi: Return void from init_automation_object.
Henri Verbeet (25):
wined3d: Do not flush read-only mappings in wined3d_texture_vk_download_data().
wined3d: Move device_clear_render_targets() to texture.c.
wined3d: Use the view instead of the texture in is_full_clear().
wined3d: Create Vulkan image views for rendertarget views.
wined3d: Implement clears in the Vulkan blitter.
wined3d: Implement depth/stencil clears in the Vulkan blitter.
wined3d: Make the adapter responsible for compute dispatch.
wined3d: Make the adapter responsible for draws.
wined3d: Add Vulkan format information for WINED3DFMT_R9G9B9E5_SHAREDEXP.
wined3d: Add Vulkan format information for WINED3DFMT_D32_FLOAT_S8X24_UINT.
wined3d: Add Vulkan format information for WINED3DFMT_R32_FLOAT_X8X24_TYPELESS.
wined3d: Add Vulkan format information for WINED3DFMT_X32_TYPELESS_G8X24_UINT.
wined3d: Add Vulkan format information for WINED3DFMT_D24_UNORM_S8_UINT.
wined3d: Implement WINED3D_MAP_DISCARD support in adapter_vk_map_bo_address().
wined3d: Use DISCARD maps in wined3d_buffer_vk_upload_ranges() if possible.
wined3d: Create Vulkan image views for shader resource views.
wined3d: Create Vulkan buffer views for shader resource views.
wined3d: Create Vulkan image views for unordered access views.
wined3d: Create Vulkan buffer views for unordered access views.
wined3d: Create Vulkan buffer views for unordered access view counters.
wined3d: Create Vulkan samplers for samplers.
wined3d: Add a swizzle to the Vulkan format information for WINED3DFMT_A8_UNORM.
wined3d: Add Vulkan format information for WINED3DFMT_B8G8R8X8_UNORM.
wined3d: Add Vulkan format information for WINED3DFMT_B8G8R8X8_UNORM_SRGB.
wined3d: Submit the current command buffer in adapter_vk_flush_context().
Jacek Caban (39):
server: Fix setting context flags in get_thread_context.
msvcp: Get rid of no longer needed hack.
wine/exception.h: Don't override __attribute__ keyword on clang MSVC target.
wincon.h: Don't use calling convention wrappers on MSVC.
include: Improve _CrtDbgBreak macro.
math.h: Use builtin nan and inf on clang MSVC target.
wine/asm.h: Introduce __ASM_USE_THISCALL_WRAPPER macro.
msvcirt: Use __ASM_USE_THISCALL_WRAPPER macro.
msvcp60: Use __ASM_USE_THISCALL_WRAPPER macro.
msvcp: Use __ASM_USE_THISCALL_WRAPPER macro.
msvcrt: Use __ASM_USE_THISCALL_WRAPPER macro.
riched20/tests: Don't use thiscall wrappers on clang MSVC target.
riched20: Use __ASM_USE_THISCALL_WRAPPER macro.
rpcrt4: Don't use GetExceptionCode outside __except block.
server: Don't try to synchronize system registers on not initialized threads in get_thread_context request.
server: Delay setting system registers until suspending select is waken.
winbase.h: Support using int for LONG in MSVC interlocked functions.
riched20: Include wine/asm.h in editstr.h.
winegcc: Add entry symbol underscore when building linker command.
winegcc: Explicitly pass DLL crt entry point to PE linker when Wine crt is used.
winegcc: Make mingw a separated platform from msvc.
winegcc: Use libgcc only on mingw target.
winegcc: Add support for msvc target.
include: Introduce WINE_USE_LONG macro.
include: Add intrin.h and use it to provide __cpuid implementation.
wineboot: Use __cpuid from intrin.h.
wbemprox: Use __cpuid from intrin.h.
ntdll: Export _chkstk from importlib.
ntoskrnl.exe: Export _chkstk from importlib.
winecrt0: Build exception functions on clang msvc target.
winecrt0: Add _fltused symbol.
configure: Assume that -delayload linker argument is supported when -target argument is used.
configure: Allow specifying default CROSSTARGET as configure argument.
configure: Explicitly specify subsystem when using msvc target.
winebuild: Introduce --safeseh option that allows marking assembly files as SEH compatible.
winegcc: Use --safeseh winebuild option on msvc target.
msdmo: Use proper buffer types in IEnumDMO::Next.
winuser.h: Add touch event flags.
comdlg32: Improve error handling in get_config_key_string.
Jactry Zeng (6):
qcap/videocapture: Store capabilities information.
qcap/videocapture: Use formats from capabilities instead of hard coding.
qcap/videocapture: Remove code for resizing.
qcap/videocapture: Implement IAMStreamConfig::GetNumberOfCapabilities().
qcap/videocapture: Implement IAMStreamConfig::GetStreamCaps().
qcap/videocapture: Reimplement source_get_media_type().
Jeff Smith (2):
gdiplus/tests: Indicate which encoder failed when attempting to save image.
gdiplus: Include palette when writing PNG indexed formats.
Liam Middlebrook (1):
winevulkan: Update to VK spec version spec 1.2.139.
Mas Ahmad Muhammad (1):
comdlg32: Enlarge list area in CHOOSE_FONT window.
Micah N Gorrell (2):
advapi32: Replace usage of internal SERV_ functions with exported functions.
advapi32: Replace SERV_dup() with strdupAW().
Michael Müller (1):
ddraw: Make ddraw1_vtbl and ddraw_surface1_vtbl writable.
Nikolay Sivov (28):
mfuuid: Add file scheme handler CLSID to static library.
mfplat/tests: Use file scheme handler CLSID from mfuuid.
comctl32/monthcal: Use wide string literals.
comctl32/ipaddress: Use wide string literals.
comctl32/animate: Use wide string literals.
comctl32/rebar: Use wide string literals.
comctl32/datetime: Use wide string literals.
comctl32/syslink: Use wide string literals.
comctl32/datetime: Use designated initializers for constants.
dwrite: Add separate structure for top level gsub/gpos offsets.
dwrite: Initialize GSUB offsets in shaping cache.
dwrite: Add helper functions to collect default GSUB features.
dwrite: Add a helper to collect gsub/gpos lookups.
dwrite: Implement single substitution lookup (GSUB lookup 1).
dwrite: Partially implement chaining contextual substitution (GSUB lookup 6).
comctl32/header: Use wide string literals.
comctl32/propsheet: Use wide string literals.
comctl32/tab: Use wide string literals.
comctl32: Move MRU functions to another file.
dwrite: Enable common positional features for all scripts.
dwrite: Use feature tags directly instead of SDK symbols.
dwrite: Update DWRITE_SHAPING_TEXT_PROPERTIES definition.
dwrite: Enable global directional substitution features.
mf: Fix timer instance leak on error path in SetTimer().
rtworkq: Invoke cancelled waiting item with RTWQ_E_OPERATION_CANCELLED.
mfplat: Add I420 format support for frame size helpers.
qmgr: Update to IBackgroundCopyJob4.
qmgr: Make SetMaximumDownloadTime() succeed.
Philip Rebohle (3):
winevulkan: Support struct forward-declarations as base types.
winevulkan: Avoid adding duplicate enum aliases.
winevulkan: Update to VK spec version spec 1.2.140.
Piotr Caban (5):
msvcrt: Fix overflow checks in parse_double.
msvcrt: Improve string to double conversion accuracy.
msvcrt: Avoid depending on signed variable overflow in parse_double.
msvcrt/tests: Cleanup strtod tests.
msvcrt: Fix 0 parsing in parse_double helper.
Rémi Bernon (5):
mfplat: Signal synchronous resolver methods on handler failure.
ntdll/tests: Test that ptids are multiples of four.
server: Make sure pids/tids are multiples of four.
user32: Don't read preparsed data on non-HID devices.
devenum: Use free for memory allocated with wcsdup.
Serge Gautherie (1):
rpcrt4: Remove inexistent CreateServerInterfaceFromStub().
Stefan Dösinger (1):
configure: Try -lgnutls as gnutls default lib.
Vijay Kiran Kamuju (13):
include: Add IWbemRefresher related interfaces.
include: Add dvdif.idl.
include: Add some missing defines to winioctl.h.
include: Add missing GUIDs and CLSIDs to wincodecsdk.idl.
include: Add related ASN1encoding_s and ASN1decoding_s structs.
msasn1: Add ASN1_CreateModule stub implementation.
msasn1/tests: Add initial tests.
msasn1: Implement ASN1_CreateModule function.
msasn1: Implement ASN1_CloseModule function.
msasn1: Add partial implementation of ASN1_CreateEncoder.
msasn1: Add stub for ASN1_CloseEncoder function.
msasn1: Add partial implementation of ASN1_CreateDecoder.
msasn1: Add stub for ASN1_CloseDecoder function.
Vincent Povirk (1):
gdiplus: Support character offsets in GDI32_GdipDrawDriverString.
Zebediah Figura (85):
wineusb.sys: Avoid touching the IRP structure after queueing it.
cmd: Use _wsplitpath() from msvcrt.
cmd: Fix the spelling of "tilde".
cmd: Ignore quotes when parsing command line parameters.
wine.inf: Install WMI DLLs in the wbem subdirectory in WoW64 too.
http.sys: Avoid touching the IRP structure after queueing it.
amstream/tests: Remove some no longer necessary callbacks.
wineqtdecoder: Remove some no longer necessary callbacks.
qasf/tests: Remove some no longer necessary callbacks.
winegstreamer: Remove some no longer necessary callbacks.
quartz/tests: Remove some no longer necessary callbacks.
sechost: New stub DLL.
advapi32: Move event tracing APIs to sechost.
ddraw/tests: Test vtbl protection.
quartz: Don't register the DirectSound renderer as a filter for autoplugging.
quartz: Don't register the audio renderer as a filter for autoplugging.
quartz/tests: Relax a test for PresentImage().
include: Add the missing SetStreamMediaType() method to IVMRImageCompositor9.
advapi32: Make {Lock, Unlock}ServiceDatabase() into a no-op.
services: Make svcctl_{Lock, Unlock}ServiceDatabase() into a no-op.
advapi32: Reimplement EnumServicesStatusW() on top of EnumServicesStatusExW().
ksproxy.ax: New stub DLL.
quartz/vmr9: Don't expose IVMRSurfaceAllocatorNotify from the VMR9.
quartz/vmr9: Don't expose IVMRSurfaceAllocatorNotify9 from the VMR7.
quartz/vmr9: Don't expose IVMRWindowlessControl from the VMR9.
quartz/vmr9: Don't expose IVMRWindowlessControl9 from the VMR7.
quartz/tests: Expand tests for VMR9 interfaces.
advapi32: Move service functions into sechost.
quartz/vmr9: Remove some dead code.
quartz/vmr9: Support VMR9AllocFlag_3DRenderTarget in IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper().
quartz/vmr9: Retrieve a default format if none is given in IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper().
quartz/vmr9: Improve tracing in IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper().
d3dcompiler: Fix matrix dimension declaration and access.
d3dcompiler: Set the struct base type to HLSL_TYPE_VOID.
d3dcompiler: Respect arrays in struct fields.
d3dcompiler: Set the dimensions for array types.
d3dcompiler: Set the x-dimension for struct types.
quartz/tests: Fix a copy-paste error.
quartz/tests: Add more tests for mixing mode.
quartz/tests: Add some tests for sample presentation time on the VMR9.
quartz/tests: Add some tests for end-of-stream notifications on the VMR9.
quartz/tests: Test current position caching.
d3dcompiler: Add a helper to initialize the hlsl_ir_node structure.
qcap/filewriter: Propagate file I/O failure in file_writer_sink_receive().
advapi32: Move string SID/SD conversion functions to sechost.
quartz/tests: Add some tests for IVMRWindowlessControl9::SetVideoClippingWindow().
quartz/vmr9: Validate the window in IVMRWindowlessControl9::SetVideoClippingWindow().
quartz/vmr9: Forbid setting the video clipping window while connected.
quartz/vmr9: Do not call VMR9_maybe_init() in vmr_start_stream().
quartz/vmr9: Remove the "force" parameter of VMR9_maybe_init().
ntoskrnl.exe: Protect relocated pages one at a time.
ntdll: Export RtlCopyMemoryNonTemporal.
ntoskrnl.exe: Implement IoIs32bitProcess().
quartz/tests: Add tests for the separate reference count of IVMRSurfaceAllocatorNotify9.
quartz/vmr9: Track the IVMRSurfaceAllocatorNotify9 reference count separately.
quartz/vmr9: Call IVMRSurfaceAllocator9::TerminateDevice() when destroying the filter.
quartz/vmr9: Add a stub IVMRMixerBitmap9 interface.
kernel32/tests: Account for unsupported NLSVERSIONINFOEX.
kernel32/tests: Fix failures in test_GetThreadSelectorEntry() on 32-bit machines.
ddraw/tests: Add more tests for EnumSurfaces().
ddraw: Properly compare DDENUMSURFACES_NOMATCH to TRUE.
ddraw: Implement DDENUMSURFACES_CANBECREATED.
quartz/videorenderer: Factor out get_bitmap_header().
quartz/videorenderer: Set the source rect at connection time.
quartz/videorenderer: Resize the window in video_renderer_connect().
quartz/vmr9: Factor out get_bitmap_header().
quartz/vmr9: Resize the window in vmr_connect().
sechost: Implement I_ScRegisterDeviceNotification().
ntoskrnl.exe: Broadcast device notifications to registered handlers.
user32: Implement RegisterDeviceNotification().
ntoskrnl.exe: Move the BroadcastSystemMessage() call to plugplay_send_event().
quartz: Rename "baseControlWindow" to "window".
quartz: Retrieve the video format directly from the pin.
quartz: Get rid of the IsDefault*Rect callbacks.
quartz: Move the source and destination rectangles to the BaseControlVideo structure.
quartz: Merge the BaseControlVideo object into the video_window object.
ntdll/tests: Add tests for RtlSetCurrentEnvironment().
ntdll: Avoid leaking the previous environment in RtlSetCurrentEnvironment().
kernelbase: Implement SetEnvironmentStrings().
http.sys: Use a separate file and preprocessor directives to avoid duplication.
quartz: Get rid of the SetDefault*Rect callbacks.
quartz: Get rid of the resize callback.
quartz: Resize the destination rect only if we are using the default destination rect.
quartz: Implement IBasicVideo::IsUsingDefaultSource().
quartz/tests: Add tests for IBasicVideo.
Zhiyi Zhang (19):
user32/tests: Flush messages after mode changes.
user32/tests: Fix a ChangeDisplaySettings() test.
user32/tests: Test EnumDisplayMonitors().
user32: Leave critical section before calling callbacks in EnumDisplayMonitors().
dxgi/tests: Fix a possible test failure on D3D12.
dxgi/tests: Do not run test_multi_adapter() in parallel with other tests.
dxgi/tests: Test IDXGISwapChain_ResizeTarget() with all outputs.
wined3d: Move device window to the correct output in wined3d_swapchain_state_resize_target().
wined3d: Fix an uninitialised variable warning.
user32/tests: Add a trailing '\n' to some ok() calls.
user32/tests: Test button styles.
comctl32/tests: Test button styles.
comctl32/button: Do not set BS_PUSHBUTTON and BS_DEFPUSHBUTTON style directly to Split Buttons and Command Links.
user32/tests: Test restoring a full screen window with WS_THICKFRAME style.
winex11.drv: Update _NET_WM_STATE before resizing windows.
dxgi/tests: Add more default full screen swapchain target output tests.
wined3d: Release wined3d mutex if wined3d_swapchain_state_init() failed in wined3d_swapchain_init().
wined3d: Move device window to the correct output when changing swapchain state to full screen.
dxgi/tests: Add more get swapchain containing output tests.
Ziqing Hui (3):
windowscodecs: Add stub for DdsFrameDecode.
windowscodecs: Add stub implementation for IWICDdsDecoder.
windowscodecs: Add stub implementation for IWICDdsFrameDecode.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.7 is now available.
What's new in this release (see below for details):
- Wine Mono engine updated to 5.0.0, with upstream WPF support.
- More progress on the WineD3D Vulkan backend.
- Beginnings of a USB device driver.
- Support for building with Clang in MSVC mode.
- Builtin modules no longer depend on libwine.
- Support for configuring Windows version from the command line.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.7.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.7.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.7 (total 38):
10600 Multiple applications using skinning have distorted/unusable GUI (ABC Amber LIT Converter 2.0, GSA Search Engine Ranker v7.25)
18104 Multiple TTS applications using Microsoft SAPI runtime report 'Speech engine not installed' (CLSID_SpVoice '{96749377-3391-11D2-9EE3-00C04F797396}')(Final Draft, TactileView, Vocaboly 3.0)
19239 Multiple applications crash with division by zero on edit control with zero line height (eBay Turbo Lister, Clarin TX control wrapper)
27825 Super Street Fighter IV AE : Videos won't play
29067 Skyrim crashes during game intro
38776 ReadPlease 2003 (SAPI 4.0) won't load non-English Text to Speech Engine
40502 Global objects constructors fail when invoking standard libs
41559 (winecfg) Add ability to change windows version via command line
42136 switching tab in sapi.cpl from Microsoft Speech SDK 5.1 crashes control
43638 Multiple 4k demoscene OpenGL demos crash on startup with 'No active WGL context found' (Yermom, 'End of time' by Alcatraz and Altair)
45111 Winamp - Milkdrop complains
46633 Multiple applications need threadpool I/O (MariaDB mysqld, Mono's System.Threading.ThreadPoolBoundHandle)
47061 Multiple E-Banking applications by KOBIL Systems GmbH crash on startup or report 'Security issue code: 0x03938745 (60000069)' (MigrosBank EBanking 8.2.x, Sparda Bank SecureApp 1.x)
47365 jittering caused by mouse input in vkquake
47944 Wine64 tries to change permissions in /private/tmp/ that fails on macOS 10.15 Catalina
48052 kernel32:debugger - Wine randomly fails to get the thread context
48389 Detroit: Become Human has poor performance (use of unaligned futexes for condition variables on Linux)
48556 Nascar racers crash at start
48731 Just Cause crashes while loading level with builtin d3dx9_26
48740 ConEmu is constantly loosing focus
48747 ConEmu flickers and scrolls randomly
48803 FITietokanta crashes every time after ADD-button is pressed
48807 Panzer Corps 2 needs vcruntime140_1.dll.__CxxFrameHandler4
48817 Module_InitDLL fails if LDR_MODULE.Flags was modified
48898 4k demoscene OpenGL demos crash on startup due to missing opengl32.dll 'wglGetDefaultProcAddress' stub (Crinkler's imports resolver requires named API exports matching native opengl32)
48923 Heroes of Might and Magic IV crashes on start
48932 Wine does not display any windows unless `xrandr --auto` has been run
48937 Wine 5.6 ships broken 'winepath' that emits DOS-style instead of UNIX-style line endings, breaking scripts
48941 IMalloc::DidAlloc() return value is inaccurate
48956 winecfg fails to initialize kernelbase.dll
48958 wineusb driver doesn't install in WINEPREFIX
48960 NtQueryDirectoryFile incorrectly returns STATUS_NO_MORE_FILES when it encounters an ignored entry
48961 Il-2 Sturmovik 1946 (GOG.com) fails to start
48966 Previously created Wine prefix: "kernelbase.dll" failed to initialize, aborting
48971 Multiple Blizzard Games not running anymore with a Game Initialization Failed: T error
48973 eDrawings 2015 (.NET 4.0 app) crashes on startup (needs 'Win32_VideoController' WMI class 'AdapterCompatibility' property)
48974 Multiple MSI-based installers show 'newBinaryXX' text instead of bitmap on button controls (missing support for 'msidbControlAttributesBitmap')
48983 DeutschlandLAN Cloud PBX Desktop client v22.x is not able to connect with the internet
----------------------------------------------------------------
Changes since 5.6:
Alex Henrie (1):
kernelbase: Stub LoadAppInitDlls().
Alexandre Julliard (44):
ntdll: Don't call entry point for the main process so that we don't need to check the dll flag.
ntdll: Allow the module file name to not be null-terminated.
ntdll: Always use the loaded path as builtin module file name.
msvcrt: Build the CRT startup code also for non-PE builds.
winegcc: Use the CRT startup code also for non-PE builds.
ntdll: Support loading builtin modules that don't use a constructor.
winecrt0: Remove constructor support for exe and native modules.
winebuild: Only generate a constructor for dll modules.
winegcc: Only use a constructor for dll modules.
winepath: Avoid CR characters in output.
winebuild: Set page size to 4096 also on ARM64.
ntdll: Load .so builtin modules without using libwine.
ntdll: Use a Wine-specific field in WINE_MODREF for the .so handle.
winebuild: Add --fixup-ctors option to allow intercepting constructors in .so files.
winegcc: Fixup constructors after building a module.
configure: Add check for dlinfo().
ntdll: Execute .so constructors during module initialization.
ntdll: Export Unix user name in WINEUSERNAME variable.
advapi32: Use WINEUSERNAME variable to implement GetUserNameA/W.
kernel32: Move GetNamedPipeHandleStateW() implementation to kernelbase.
winecfg: Use Windows paths to load the library list.
winecfg: Get rid of drive autodetection.
gdi32: Use Windows paths in add/remove_font_resource().
gdi32: Use Windows paths to read Wine font directories.
winemenubuilder: Avoid using wine_get_config_dir().
winevdm: Avoid using wine_get_config_dir().
mountmgr.sys: Avoid using wine_get_config_dir().
libport: Remove the Windows libwine stubs.
include: Also undefine PAGE_SHIFT to avoid compiler warnings.
ntdll: Don't abort directory search in single entry mode when a file is ignored.
ntdll: Also ignore missing directories in NtGetNlsSectionPtr().
ntdll: Make sure we don't try to attach the main exe a second time.
ntdll: Support loading ntdll without a constructor.
winebuild: Don't use a constructor for dll modules either.
winegcc: No longer use a constructor for module initialization.
winecrt0: Get rid of constructor support.
makefiles: Explicitly import libwine where necessary.
ntdll: Call TLS callbacks also for the main exe.
ntdll: The builtin load callback is no longer used for ntdll itself.
ntdll: Add a helper function to allocate module dependencies.
opengl32: Specify the exact commit when fetching Khronos files.
opengl32: Update to the current OpenGL spec.
opengl32: Make wgl driver entry points WINAPI.
opengl32: Add stub for wglGetDefaultProcAddress().
Alistair Leslie-Hughes (2):
d3dx9: Add support for D3DFMT_P8 in DDS files.
ntdll: Correct compile error under macos.
Anton Baskanov (6):
amstream: Implement AMAudioStream::SetState.
amstream: Store parent as struct audio_stream in audio stream sample.
amstream: Implement AMAudioStream::EndOfStream().
amstream: Implement AMAudioStream::Receive().
amstream: Implement IAudioStreamSample::Update().
amstream: Implement IAudioStreamSample::CompletionStatus().
Brendan Shanks (8):
dinput8/tests: Test injecting keyboard events.
cmd: Use RtlGetVersion to fix displayed Windows version on Win8.1 or 10 prefix.
winedbg: Use RtlGetVersion to fix displayed Windows version on Win8.1 or 10 prefix.
dinput: Block Acquire() until hooks are installed to prevent input being lost.
dinput: Fix DInput8 keyboard behavior for injected events with scancode=0.
dinput: Fix crash in dump_DIEFFECT() when lpvTypeSpecificParams is unexpectedly NULL.
dinput/tests: Test IDirectInputEffect::SetParameters() with a zeroed DIEFFECT and flags=0.
dinput: Fix IDirectInputEffect::SetParameters() when called with flags=0.
Charles Davis (2):
wined3d: Remove WINED3D_RS_EDGEANTIALIAS.
wined3d: Use GL_APPLE_rgb_422 for UYVY and YUY2 surfaces.
Damjan Jovanovic (3):
mshtml/tests: Fix a HRESULT comparison in ProtocolSink_ReportResult().
mshtml: Fix handling res protocol resource type ids without leading '#'.
mshtml: Support implicit RT_FILE resource type in res protocol.
Derek Lesho (1):
mfreadwrite: Clear STREAM_FLAG_SAMPLE_REQUESTED flag on MEEndOfStream event.
Dmitry Timoshkov (24):
adsldp: Fix mapping for 1.3.6.1.4.1.1466.115.121.1.26.
adsldp: Fix IDirectorySearch::FreeColumn() for ADSTYPE_NT_SECURITY_DESCRIPTOR.
adsldp: Add support for searching of deleted objects.
adsldp/tests: Add one more skip() to catch ERROR_DS_SERVER_DOWN.
schedsvc/tests: Fix compilation with recent gcc/clang versions.
wldap32: Implement ldap_search_init_pageW.
wldap32: Implement ldap_search_abandon_page.
wldap32: Implement ldap_get_paged_count.
wldap32: Implement ldap_get_next_page_s.
adsldp: Add support for paged search.
adsldp: Fix memory leaks (Valgrind).
adsldp/tests: Fix memory leaks (Valgrind).
wldap32/tests: Add a test for LDAP paged search.
wldap32: Set count and result to 0 when returning LDAP_NO_RESULTS_RETURNED.
windowscodecs: Add support for 16bppGray and 32bppGrayFloat formats to TIFF decoder.
windowscodecs: Add support for 128bppRGBAFloat format to TIFF decoder.
windowscodecs: Add support for 32bppCMYK and 64bppCMYK formats to TIFF decoder.
windowscodecs: Add support for 3bps RGB format to TIFF decoder.
windowscodecs: Add support for 12bps RGB format to TIFF decoder.
windowscodecs: Add support for 4bps RGBA format to TIFF decoder.
windowscodecs: Add support for 16bps RGBA format to TIFF decoder.
windowscodecs: Add support for 96bppRGBFloat and 128bppPRGBAFloat formats to TIFF decoder.
windowscodecs/tests: Add some tests for various TIFF color formats.
windowscodecs/tests: Add a separate test for 4bps BGRA TIFF format.
François Gouget (14):
dbghelp: Fix the spelling of a comment.
adsldp: Fix the spelling of some FIXME() messages.
winapi_check: Fix support for .ocx API documentation.
winapi: Tweak a couple of typedef error messages.
winapi: Allow DECLSPEC_ALIGN() in typedef declarations.
winapi_test: Clarify the error message regarding struct size and alignment.
winapi: Add support for some new spec file declarations.
winapi: Ignore function declarations that are too complex.
winapi: Skip #if 0 sections.
winapi_test: Add support for more base types.
winex11: Set res_class to the program name for Crostini.
adsldp: Fix typos and spelling issues in FIXME() messages.
dwrite: Include config.h for HAVE___BUILTIN_POPCOUNT.
appwiz.cpl: Rename ARCH_STRING to GECKO_ARCH.
Gabriel Ivăncescu (9):
qedit: Implement IMediaDet::get_StreamType().
qedit: Implement IMediaDet::get_StreamTypeB().
qedit: Implement IMediaDet::get_Filter().
qedit: Use "Source" as the name of the source filter.
qedit: Move GetFilterInfo up and rename it.
qedit: Move GetSplitter up and rename it.
qedit: Implement IMediaDet::put_Filter().
qedit: Store the filename instead of querying the filter for it.
qedit: Remove the splitter from the graph if it failed to connect.
Gerald Pfeifer (1):
ntdll: Fix call_constructor build on FreeBSD.
Hans Leidekker (4):
secur32: Add application protocol stubs for macOS.
wbemprox: Use wide character string literals.
wbemprox: Implement Win32_VideoController.AdapterCompatibility.
msi: Add support for bitmap buttons.
Henri Verbeet (35):
wined3d: Move Vulkan specific context functions to context_vk.c.
wined3d: Only insert read barriers for WINED3D_MAP_READ maps in adapter_vk_map_bo_address().
wined3d: Invalidate non-coherent memory before reading from it in adapter_vk_map_bo_address().
wined3d: Flush non-coherent memory ranges in adapter_vk_unmap_bo_address().
wined3d: Do not request coherent memory in wined3d_buffer_vk_create_buffer_object().
wined3d: Move OpenGL specific context functions to context_gl.c.
wined3d: Track buffer usage.
wined3d: Implement a Vulkan device memory allocator.
wined3d: Implement WINED3D_MAP_NOOVERWRITE support in adapter_vk_map_bo_address().
wined3d: Implement Vulkan buffer uploads.
wined3d: Implement Vulkan GPU buffer copies.
wined3d: Create Vulkan images for texture resources.
wined3d: Implement Vulkan texture uploads.
wined3d: Implement Vulkan texture downloads.
wined3d: Introduce a slab allocator for small buffers.
wined3d: Introduce a structure for OpenGL buffer objects.
wined3d: Store the preferred binding in the wined3d_bo_gl structure.
wined3d: Use the bo bindings in wined3d_context_gl_copy_bo_address().
wined3d: Implement wined3d_unordered_access_view_copy_counter() on top of wined3d_context_copy_bo_address().
wined3d: Implement wined3d_unordered_access_view_set_counter() on top of wined3d_context_copy_bo_address().
wined3d: Use the bo binding in wined3d_context_gl_map_bo_address().
wined3d: Use the bo binding in wined3d_context_gl_unmap_bo_address().
wined3d: Derive the access mask from the bo usage in adapter_vk_map_bo_address().
wined3d: Drop the "bind_flags" parameter to wined3d_adapter_ops.adapter_unmap_bo_address().
wined3d: Drop the "bind_flags" parameter to wined3d_adapter_ops.adapter_map_bo_address().
wined3d: Drop the bind flag parameters to wined3d_adapter_ops.adapter_copy_bo_address().
wined3d: Add a miscellaneous state template for the Vulkan adapter.
wined3d: Move the OpenGL fixed-function blitter to texture.c.
wined3d: Move the FBO blitter to texture.c.
wined3d: Move the raw blitter to texture.c.
wined3d: Introduce wined3d_context_vk_reference_bo().
wined3d: Introduce wined3d_context_vk_reference_texture().
wined3d: Introduce a Vulkan GPU blitter.
wined3d: Implement raw blits in the Vulkan GPU blitter.
wined3d: Handle MSAA resolves in the Vulkan blitter.
Jacek Caban (46):
server: Introduce a separated type for user APCs.
ntdll: Factor out server_select.
ntdll: Use server_select in RtlWaitOnAddress.
ntdll: Directly use server_select in wait_suspend.
ntdll: Directly use server_select in send_debug_event.
devpropdef.h: Fix DECLSPEC_SELECTANY usage.
wdm.h: Fix MmMapLockedPagesSpecifyCache declaration.
kernelbase: Forward threadpool I/O functions to ntdll.
kernelbase: Implement CreateThreadpoolIo.
include: Fix DECLSPEC_NORETURN usage.
winnt.h: Add __readgsqword declaration.
server: Allow passing suspend context in select request.
ntdll: Use select request to pass suspend context to server.
ntdll: Use select request instead of get_suspend_context to transfer context back to client.
server: Get rid of no longer needed get_suspend_context and set_suspend_context requests.
ntdll: Block signals in send_debug_event.
ntdll: Use server_select to pass context to server in send_debug_event.
server: Get rid of separate thread suspend_context.
ntdll: Remove APC handling from RtlWaitOnAddress.
ntdll: Leave critical section before blocking in RtlWaitOnAddress.
kernel32/tests: Avoid arithmetic on pointer to stack variable.
appwiz.cpl: Explicitly compare strcmp result to 0.
widl: Use DECLSPEC_ALIGN in MSVC compatible way.
httpapi/tests: Use DECLSPEC_ALIGN in MSVC compatible way.
kernel32/tests: Use DECLSPEC_ALIGN in MSVC compatible way.
jscript: Support null this in Function.prototype.bind.
oleaut32/tests: Define NONAMELESSUNION.
server: Don't change context flags in copy_context.
server: Don't change cached thread context in set_thread_context.
server: Make thread context a server object.
server: Create thread context object in stop_thread.
server: Don't wait for client thread to enter suspended state in set_thread_context.
server: Block by waiting on context handle in get_thread_context.
makedep: Don't try to use .delay.a extension for non-PE delay imports.
windowscodecs: Provide UUIDs in importlib.
winbase.h: Unify MSVC interlocked functions declarations.
include: Use long type for __msvcrt_long when possible.
include: Don't override keywords with macros on MSVC.
windef.h: Use __thiscall keyword on Clang with MSVC target.
winnt.h: Use the same C_ASSERT version on all compilers.
debug.h: Use GNU style variadic macros on MSVC clang target.
wine/asm.h: Introduce __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.
msvcirt: Use __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.
msvcp60: Use __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.
msvcp90: Use __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.
msvcrt: Use __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.
Jeff Smith (10):
gdiplus: Clear new multi-point paths that end with Start.
gdiplus: Check that GdipAddPathLine2 is passed at least one point.
gdiplus: Reuse point when calling GdipAddPathBezier on open figure.
gdiplus: Reuse point when calling GdipAddPathBeziers on open figure.
gdiplus: Reuse point when calling GdipAddPathLine on open figure.
gdiplus: Reuse point when calling GdipAddPathLine2 on open figure.
gdiplus: Reuse point when calling GdipAddPathArc on open figure.
gdiplus: Use internal function to add bezier points for curve.
gdiplus/tests: Use originating line when ok_path reports failures.
jscript/tests: Fix some function-to-string failure message typos.
Liam Middlebrook (4):
winevulkan: Don't mark alias functions as required.
winevulkan: Respect sortorder extension attribute.
winevulkan: Handle VkEnumValue aliases to provisional exts.
winevulkan: Update to VK spec version spec 1.2.138.
Marcus Meissner (1):
ws2_32: Add IPPROTO_IPIP mapping.
Martin Storsjo (1):
ntdll: Properly return errors when failing to unwind.
Michael Müller (1):
opengl32: Treat invalid pixel types as PFD_TYPE_RGBA in wglChoosePixelFormat.
Michael Stefaniuc (2):
oledb32: Remove redundant NULL check before CoTaskMemFree().
d3d10: Remove superfluous TRUE : FALSE conditional expression.
Mingcong Bai (1):
po: Update Simplified Chinese translation.
Nikolay Sivov (37):
mf: Implement sink prerolling.
mf/tests: Add some tests for node list management.
mf: Handle EndOfStream events within Media Session.
mf: Forward MEEndOfPresentation event from Media Session.
mf: Add support for end of presentation state change.
mf: Raise MESessionStopped again if session is already stopped.
mf: Set approximate occurrence time for MESessionStopped/MESessionEnded events.
mfplat: Fix subtype test condition for MFInitMediaTypeFromWaveFormatEx().
mf: Validate new current type set for sample grabber.
ole32: Fix IMalloc::DidAlloc() return value to reflect block validity.
ole32: Improve thread safety in DidAlloc().
ole32: Fix spy callback arguments for IMalloc::GetSize().
maintainers: Take Media Foundation core modules section.
ole32: Do not allocate spyed memory array on freeing attempts.
ole32: Improve locking safety in IMalloc::Free().
ole32: Improve locking safety in IMalloc::HeapMinimize().
ole32: Remove unused field.
ole32: Simplify static IMalloc instance initialization.
mf: Merge SAR sink and steam instances.
mf: Add initial implementation of SAR stream type handler.
mf: Release presentation clock on SAR shutdown.
mf: Create and initialize audio client for SAR stream.
mf: Handle state changes for SAR stream.
mf: Implement prerolling for SAR stream.
mf: Send format invalidation event when new type is set for SAR stream.
mf: Make SAR stream request some samples on restart.
mf: Implement IMFAudioStreamVolume for SAR stream.
mf: Implement IMFSimpleAudioVolume for SAR stream.
mf: Shutdown SAR sink on ShutdownObject().
mf: Merge sample grabber sink and stream instances.
mf: Release presentation clock on sample grabber shutdown.
mf: Add missing IMFMediaEventGenerator query support for sample grabber stream.
mf: Add missing IMFMediaEventGenerator query support for SAR stream.
comctl32/listview: Only apply horizontal offset when setting header position.
dwrite: Use unsigned types for single-bit fields.
mf: Handle null marker context for sample grabber stream.
mf: Make sure to request another sample for sample grabber after current timed sample.
Owen Rudge (3):
winecfg: Add support for '/v' parameter allowing Windows version to be changed.
winecfg: Add /? parameter to print help and valid versions.
winecfg: Return 0 on success when setting Windows version.
Paul Gofman (9):
ddraw: Convert BOOL flags to bitfields in ddraw_surface.
ddraw: Check surface flags when marking surface as lost.
ddraw/tests: Test system memory surface with lost device for ddraw4.
ddraw/tests: Test system memory surface with lost device for ddraw2.
ddraw/tests: Test system memory surface with lost device for ddraw1.
quartz/filesource: Store file size on load.
quartz/filesource: Check for past EOF read in _Request().
ntdll: Return STATUS_PENDING from NtReadFile() for async read in case of EOF.
kernel32/tests: Mark ERROR_HANDLE_EOF result as broken for async file read.
Philip Rebohle (9):
dxgi: Create frame latency events for d3d12 swapchains if requested.
dxgi: Signal the frame latency event on present.
dxgi: Implement d3d12_swapchain_GetFrameLatencyWaitableObject().
dxgi: Implement d3d12_swapchain_SetMaximumFrameLatency().
dxgi: Implement d3d12_swapchain_GetMaximumFrameLatency().
dxgi/tests: Add a test for frame latency events using d3d12.
dxgi: Improve the d3d12_swapchain_CheckColorSpaceSupport() stub.
dxgi: Improve the d3d12_swapchain_SetColorSpace1() stub.
dxgi/tests: Add test for colour space support APIs.
Piotr Caban (6):
ucrtbase: Change ptd fields offsets to match with native.
vcruntime140_1: Export functions only on x86_64.
vcruntime140_1: Add __CxxFrameHandler4 stub.
vcruntime140_1: Implement function description version 4 structures reading.
vcruntime140_1: Add __CxxFrameHandler4 implementation.
vcruntime140_1: Fix rethrow handling in __CxxFrameHandler4.
Roman Pišl (6):
comctl32/edit: Avoid division by zero during initialization.
comctl32/edit: Avoid division by zero in EDIT_EM_LineScroll_internal.
user32/edit: Avoid division by zero during initialization.
user32/edit: Avoid division by zero in EDIT_EM_LineScroll_internal.
wineconsole: Don't activate window when computing positions.
wineconsole: Don't allow recurrent resizing while grabbing changes.
Serge Gautherie (5):
winapi_test: Tests.dat needs timezoneapi.h.
winapi_test: Add DYNAMIC_TIME_ZONE_INFORMATION to tests.dat.
winapi_test: Do not multiply type size when it is undefined, in _refresh().
ntdll: Reorder DECLSPEC_NORETURN on raise_status().
winegcc: Reorder DECLSPEC_NORETURN on error().
Stefan Dösinger (4):
iphlpapi: MacOS struct sockaddr is 4 byte aligned on 64 bit.
iphlpapi: Write an ERR if the sockaddr parsing went wrong.
iphlpapi: Use the dst sa_family for the netmask too.
iphlpapi: Honor sa_len when reading AF_INET addresses.
Sven Baars (8):
setupapi: Fix a memory leak (Valgrind).
setupapi: Fix a leak on early return in SetupDiGetDriverInfoDetailA (Valgrind).
setupapi: Only copy driver info if SetupDiEnumDriverInfoW succeeded (Valgrind).
setupapi: Make sure the class name is always set on success in SetupDiGetINFClassW (Valgrind).
kernelbase: Fix a string leak in CreateProcessInternal (Valgrind).
ntdll: Fix a string leak in init_user_process_params (Valgrind).
kernel32: Fix a memory leak in MoveFileWithProgressW (Valgrind).
ntdll: Fix a memory leak in fork_and_exec.
Thomas Faber (1):
gdiplus/tests: Disable double-freeing test.
Vijay Kiran Kamuju (2):
qdvd: New stub DLL.
winspool.drv/tests: Remove win9x checks and enable some tests.
Vincent Povirk (3):
mscoree: Use mono_get_corlib to get mscorlib image.
mscoree: Replace uses of mono_domain_assembly_open.
mscoree: Update Wine Mono to 5.0.0.
Zebediah Figura (76):
devenum: Don't bother creating the category key for codecs if there are no codecs to register.
devenum: Get rid of the DEVENUM_ prefix on all method names.
devenum: Get rid of the MediaCatMoniker typedef.
devenum: Use calloc() in moniker_create().
devenum: Pass moniker fields to moniker_create().
ntdll: Factor out object_is_finished().
ntdll: Implement threadpool I/O queues.
ntdll/tests: Add tests for kernel32 threadpool I/O functions.
d3dcompiler: Check for multiple matrix majority keywords on typedefs.
d3dcompiler: Always set the matrix majority for declaration types.
d3dcompiler: Calculate the register size of types.
d3dcompiler/tests: Add some tests for matrix majority.
devenum/tests: Use wide character string literals.
devenum/tests: Add more tests for IPropertyBag methods.
devenum: Don't support VT_LPWSTR in IPropertyBag methods.
devenum: Don't support VT_UI4 in IPropertyBag methods.
devenum: Merge the property bag object into the moniker object.
ntdll: Handle unaligned condition variables when using futexes.
ntdll: Handle unaligned SRW locks when using keyed events.
ntdll: Handle unaligned SRW locks when using futexes.
devenum/tests: Avoid running test_devenum() twice.
devenum: Return E_INVALIDARG from IPropertyBag::Write() for invalid variant types.
devenum: Remove some unnecessary includes.
devenum: Get rid of the union in struct moniker.
maintainers: Add devenum to the DirectShow section.
winegstreamer: Remove some unused imports.
winegstreamer: Delay-load mfplat.
wineusb.sys: New stub driver.
wineusb.sys: Implement AddDevice().
wineusb.sys: Implement basic IRP_MJ_PNP requests for the bus FDO.
wineusb.sys: Start an event handler thread.
wineusb.sys: Create USB devices.
wineusb.sys: Implement IRP_MN_QUERY_DEVICE_RELATIONS.
d3dcompiler: Make printed IR a bit more readable.
d3dcompiler: Avoid using the lookahead token for location.
wineusb.sys: Implement device and instance IDs.
wineusb.sys: Implement hardware IDs.
wineusb.sys: Return compatible IDs.
wineusb.inf: Add new INF file.
wineboot: Install wineusb as a root-enumerated PnP service.
devenum: Ignore the "left" parameter to IMoniker::BindToObject().
devenum: Access the IPropertyBag interface directly in IMoniker::BindToObject().
devenum: Implement IMoniker::BindToObject() for DMO devices.
wineusb.sys: Implement URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE.
wineusb.sys: Partially implement URB_FUNCTION_SELECT_CONFIGURATION.
wineusb.sys: Implement URB_FUNCTION_VENDOR_INTERFACE.
wineusb.sys: Implement URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER.
wineusb.sys: Implement URB_FUNCTION_ABORT_PIPE.
wineusb.sys: Implement URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL.
configure: Install wineusb.inf.
msi: Report the real NT version number up to 6.3.
winecfg: Set the Current{Major, Minor}VersionNumber registry values.
wine.inf: Set the default Current{Major, Minor}VersionNumber registry values.
strmbase: Make the pin_get_media_type() callback optional.
strmbase: Make the pin_query_accept() callback optional.
qcap/tests: Remove some no longer necessary callbacks.
qcap: Add a stub file writer filter.
qcap/filewriter: Add a stub sink pin.
configure: Check for a recent enough version of libusb.
qcap/filewriter: Add a stub IFileSinkFilter interface.
qcap/filewriter: Implement IFileSinkFilter::SetFileName().
qcap/filewriter: Implement file_writer_sink_query_accept().
qcap/tests: Add tests for file writer pin connection.
include: Define RTL_BALANCED_NODE.
include: Add more fields to LDR_MODULE.
qedit/tests: Add some tests for IMediaDet::put_Filter().
include: Rename LDR_MODULE to LDR_DATA_TABLE_ENTRY.
include: Rename InMemoryOrderModuleList to InMemoryOrderLinks.
include: Rename BaseAddress to DllBase.
include: Rename the other In*OrderModuleList fields to In*OrderLinks for consistency.
qcap/filewriter: Implement state change methods.
qcap/filewriter: Implement sample processing.
qcap/filewriter: Implement IAMFilterMiscFlags.
qcap/filewriter: Post EC_COMPLETE on receiving EOS.
qcap: Register the file writer.
wineusb.sys: Correctly implement device removal.
Zhiyi Zhang (8):
setupapi: Fix a registry key handle leak.
winex11.drv: Ignore disconnected outputs when finding mirroring slaves.
winex11.drv: Fix incorrect frequency for double scan and interlaced modes.
wined3d: Correct a comment in wined3d_check_device_type().
wined3d: Fix uninitialised variable warnings.
ddraw: Handle more cases in hr_ddraw_from_wined3d().
winex11.drv: Allocate LUID for GPUs.
winemac.drv: Allocate LUID for GPUs.
Ziqing Hui (18):
comctl32/tests: Check alpha channel in ImageList_DrawIndirect tests.
comctl32/tests: Add more tests for ILD_PRESERVEALPHA.
comctl32/imagelist: Add support for ILD_PRESERVEALPHA.
windowscodecs/tests: Add tests for DDS format.
windowscodecs: Implement stub for DdsDecoder.
windowscodecs/tests: Add tests for DdsDecoder_Initialize().
windowscodecs: Implement DdsDecoder_Initialize().
comctl32/tests: Remove duplicate ImageList_DrawIndirect() tests.
comctl32/tests: Fix ImageList_DrawIndirect() test failures on winxp.
windowscodecs/tests: Add tests for global properties of DdsDecoder.
windowscodecs: Implement global property functions for DdsDecoder.
windowscodecs/tests: Avoid using SUCCEEDED() and FAILED() in ddsformat.c.
windowscodecs: Implement DdsDecoder_GetDecoderInfo().
windowscodecs: Add TRACE in DdsDecoder_GetContainerFormat().
windowscodecs/tests: Add more DDS test images.
windowscodecs/tests: Add tests for DdsDecoder_GetFrameCount().
windowscodecs: Add support for extended DDS header.
windowscodecs: Implement DdsDecoder_GetFrameCount().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 4.0.4 is now available.
What's new in this release (see below for details):
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0.4.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0.4.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.0.4 (total 65):
11998 NEXON client installers using embedded IE browser control: buttons don't respond to click (Lunia Senki, Combat Arms, War Rock)
12406 Microsoft Document Explorer 2008 crashes when using MS Help 2 URL from command line (ieframe's WebBrowser COM object doesn't support aggregation)
16808 Password Safe crashes with page fault when renaming entries
20465 Brothers In Arms Hell's Highway : Setup asks for DVD for every .cab file (SetupPromptForDiskA/W should only show a dialog if the file doesn't exist)
22030 LegoLand: crashes at main menu without native directmusic
24529 TSDoctor 1.0.58 fails to run
25264 treeview wstr overrun in TVN_GETDISPINFOW (ExamXML crashes when opening an XML file)
25728 UFO: Extraterrestrials Gold - crash at start caused by wine's built-in dsound/directmusic
30506 GdipGraphicsClear() needs to overwrite pixels, not alpha blend (Text misrendered in Brain Workshop)
34041 Skyrim (Steam) hangup on quit
34666 In The Adventures Of Lomax some graphic elements flicker, disappear or are garbled
36388 Problems with Russian localization in page setup dialog
38300 using winegcc with stdin passes arguments in the wrong position to gcc
38817 FXCM Trading Station II installer reports 'OLE error 80004001' when running as 'Windows Vista' or higher ('ITaskbarList3::ThumbBarSetImageList' is a stub)
39692 64-bit dlls/msdaps/row_server_p.c generates build warnings (discarded "const" qualifier)
40364 Broken geometry in Indiana Jones and the Emperor's Tomb
40740 Broken Sword: The Angel of Death demo needs IDirectSoundFXI3DL2Reverb interface
40777 The Moment of Silence launcher unusable (displays only black)
41639 Wine with freetype 2.7 causes font rendering issues
41936 The Witcher 2: Assassins of Kings - menus and subtitles rendered incorrectly (with built-in d3dx9)
42046 VSDC Video Editor. Crashes in ole32 when opening.
43368 HashMyFiles: Drag & Drop from native File Managers (Dolphin, Nautilus, ...) does not work
43817 Multiple .NET applications (Chime, DxO Photolab 2 trial) crash, need RegisterApplicationRecoveryCallback to return S_OK
44408 Tetris for Windows has wrong colors for the game pieces and the score box
45031 HotS - taking screenshot causes client crash, needs d3dx11_42.dll.D3DX11SaveTextureToFileW
45732 Far Cry 5 Cannot Steer Land Vehicles
46279 Multiple applications need msvcr120.dll.?_Yield@_Context@details@Concurrency@@SAXXZ (Darkest Dungeon, Noita, Amazon Kindle for PC)
46404 Shed installer - text overflow in browse-for-folder dialog
46417 Abiword 2.6.8 comboboxes should have a white background color
46421 μTorrent has squares in its update dialog
46560 Smoke not rendering properly in Castlevania: Lords of Shadow 2
46578 IVMU Social Network Client (500 series) crashes when selecting menu / settings
46972 Adobe DNG Converter 11.2+ runs into Call to unimplemented function api-ms-win-core-winrt-error-l1-1-0.dll.GetRestrictedErrorInfo
46981 winetricks -q --verify dotnet461 crashes under win64
46983 type command in cmd.exe with two files and stdout redirect, behavior is different
47049 boolean type defined as 'unsigned char' rather than 'char'
47075 32-bit LAVFilters 0.74.x installer fails to register 64-bit AX codec/filters in Wow64 environment (32-bit regsvr32.exe needs to support 64-bit dll registration and vice versa by re-exec with proper bitness)
47101 Multiple 64-bit game and application crash reporting tools need x86_64 'ntdll.RtlCaptureStackBackTrace' implementation
47427 Glide wrapper - Configuration buttons misbehaving
47433 Accel World vs. Sword Art Online needs WTSRegisterSessionNotificationEx() to return true.
47459 ListBox LB_SETSEL doesn't scroll to newly selected item
47615 _putws outputs NULs, other wchar.h functions don't
47693 ExHIBIT (Sample Project): Can't select menu item in the title screen
47709 Zoom Edit&Share 5.0.0.0: installer crashes starting with wine-3.19
47752 commit "winex11.drv: Wake up the display on user input." introduced severe performance issues with atomic modesetting kernel drivers
47779 iCloud refuses to install: "Your computer is missing Media features."
47790 putty.exe displays an error at startup when placed in a path with accented characters.
47820 Magic: The Gathering Arena installer needs powershell.exe (cannot find it)
47832 FindFirstFileExW believes every directory entry has been read if NtQueryDirectoryFile underfills buffer
47833 FindFirstFileExW seems to be missing FILE_OPEN_FOR_BACKUP_INTENT flag to NtOpenFile
47880 Need for Speed: Carbon - Autosculpt causes geometry corruption and GL_INVALID_OPERATION error
47918 Blur: cars have no wheels when Wine is compiled with Ryzen optimisations
47935 Nextiva: Logging in fails with "Client is unable to connect to the server."
47956 IGMP source specific multicast does not create join requests for source
47979 NtCreateFile incorrectly returns STATUS_OBJECT_NAME_NOT_FOUND when RootDirectory is populated
47986 R-Studio (file recovery tool) wants ntoskrnl.exe.IoCreateUnprotectedSymbolicLink
47991 motec i2 pro v1.0 data logger fails to start
48016 Multiple applications need shcore.dll.GetScaleFactorForMonitor stub (Karafun player, Sync)
48077 UPlay fails to start : "Error at hooking API NtProtectVirtualMemory" (UPlay's hooking engine can't handle ENDBR32 instruction inserted at non-hotpatch API entries due to distro build environments '-fcf-protection')
48082 Visual C++ Express 2005 needs shell32.PathResolveW implementation (or fake success)
48088 Wrong color mapping with client-side graphics on 256-color X server
48242 IXMLDOMDocument_load() paths aren't URL-unescaped (Microsoft Document Explorer 2008 startup error)
48314 Building wine on CentOS7 fails due to lack of libkrb5
48358 Dell Latitude E6440 BIOS updater crashes on unimplemented function ntoskrnl.exe.KeSetImportanceDpc
48549 Arma Cold War Assault: Cursor stuck at low fps since Wine 5.0-rc6
----------------------------------------------------------------
Changes since 4.0.3:
Akihiro Sagawa (5):
comctl32/tests: Add tests to show no NM_RELEASEDCAPTURE notifications in the updown control.
comctl32/updown: Suppress the NM_RELEASEDCAPTURE notification.
msvcrt/tests: Add more tests for _mbsspn and _mbsspnp.
msvcrt: Fix _mbsspn implementation.
msvcrt: Reimplement _mbsspnp using _mbsspn.
Alex Henrie (2):
ntoskrnl: Implement IoCreateUnprotectedSymbolicLink.
ntoskrnl: Add KeSetImportanceDpc stub.
Alexandre Julliard (7):
ntdll: Always add path separator when looking for a relative path name.
winex11: Use the default color table for window surfaces on 8bpp displays.
configure: Disable gssapi also when linking with kerberos doesn't work.
msi: Use %define api.pure instead of %pure-parser.
msxml3: Use %define api.pure instead of %pure-parser.
vbscript: Use %define api.pure instead of %pure-parser.
wbemprox: Use %define api.pure instead of %pure-parser.
Alistair Leslie-Hughes (6):
dsound: Primary buffer doesn't support flag DSBCAPS_CTRLFX.
kernel32: FindFirstFileExW needs to open the directory with FILE_OPEN_FOR_BACKUP_INTENT flag.
dmloader: Stop after find first matching object.
dmstyle: Add GUID_IDirectMusicStyle support in Style Track GetParam.
dmime: IDirectMusicSegment8 SetLoopPoints support zero start/end.
dinput: Cap the buffer size to 20.
Andrew Eikum (1):
winex11.drv: Throttle calls to XResetScreenSaver.
Andrew Sheldon (1):
wined3d: Add Navi 10 PCI id and device description.
Bernhard belacker (1):
cmd.exe: Command type with multiple files should print filenames to stderr.
Byeong-Sik Jeon (2):
gdi32: Add a helper macro for FreeType version check.
gdi32: Add a workaround for Freetype < 2.8.1 using v40 FT_LOAD_TARGET_MONO.
Charles Davis (2):
ntdll: Implement RtlCaptureStackBackTrace() for x86_64.
winemac.drv: Pass the CAMetalLayer to MoltenVK.
Damjan Jovanovic (12):
comctl32: Test the treeview edit control EM_LIMITTEXT.
comctl32: Implement treeview edit control EM_SETLIMITTEXT.
comctl32: Test treeview text trimming after label editing is complete.
comctl32: Test text buffer passed to TVN_ENDLABELEDIT is always MAX_PATH chars long.
comctl32: Test overwriting of pszText contents in TVN_ENDLABELEDIT.
comctl32: Test overwriting of pszText pointer in TVN_ENDLABELEDIT.
comctl32: Implement treeview edit control text trimming and overwriting.
comctl32: Allocate the right wstr size for the TVN_GETDISPINFOW reply.
ieframe: Implement COM aggregation in WebBrowser.
msxml3: All string passed to IXMLDOMDocument_load() need to be URL-unescaped.
gdiplus: GdipGraphicsClear() should overwrite pixels, not alpha blend.
winex11.drv: Ignore .dwAspect in FORMATETC during XDnD.
Dmitry Timoshkov (2):
gdiplus/tests: Add some tests for GdipInitializePalette.
mshtml: Add support for DIID_HTMLDocumentEvents2 connection point sink.
Ethan Lee (1):
wined3d: Add Intel HD 615 PCI id and device description.
Fabian Maurer (7):
comctl32/syslink: Properly handle '\r'.
shell32: Prevent text truncation inside the old "browse folder" dialog.
ws2_32: Handle more IGMP socket options.
comctl32/tests: Add combo tests for WM_CTLCOLOR*.
comctl32/combo: Properly handle WM_CTLCOLOR* messages.
user32/tests: Add combo tests for WM_CTLCOLOR*.
user32/combo: Properly handle WM_CTLCOLOR* messages.
Felix Hädicke (1):
msvcrt: Use memmove() instead of memcpy() puts_clbk_str().
Gijs Vermeulen (2):
msvcrt: Add Concurrency::details::_Context::_Yield stub.
shell32: Implement PathResolve.
Isira Seneviratne (1):
jscript: Replace '%pure-parser' with '%define api.pure'.
Jacek Caban (2):
kernel32: Terminate process in unhandled exception handler.
include: Add roerrorapi.h header.
Jeff Smith (3):
kernelbase: Fix PathAllocCanonicalize handling segments that contain dots.
kernel32: Quote first command line arg in process paramenters.
user.exe16: Releasing DC does not disable it.
Joseph Kogut (1):
iphlpapi: Report success in NotifyIpInterfaceChange.
Ken Thomases (1):
winemac: Only manipulate an NSOpenGLContext's view on the main thread.
Kevin Puetz (1):
winegcc: Correctly pass the '-' file name (stdin) to the compiler.
Liam Middlebrook (1):
d3dx11: Add D3DX11SaveTextureToFileA/W() stub.
Louis Lenders (5):
wine.inf: Add value for DigitalProductId.
kernel32: Return S_OK in RegisterApplicationRecoveryCallback stub.
wine.inf: Install powershell.exe in WindowsPowerShell/v1.0/.
include: Add restrictederrorinfo.idl.
combase: Add GetRestrictedErrorInfo and RoOriginateLanguageException stubs.
Matteo Bruni (1):
d3dx9: Handle non-zero source rect position in D3DXLoadSurfaceFromMemory().
Michael Müller (3):
wine.inf: Create the WindowsMediaVersion key and set its default value.
ole32: Fix property name handling for dictionary entries in CP_UNICODE case.
setupapi: Add support for IDF_CHECKFIRST flag in SetupPromptForDiskW.
Myah Caron (1):
kernel32: Allow NtQueryDirectoryFile underfilling FileInformation.
Nikolay Sivov (4):
po: Fix Russian strings for page setup dialog.
comctl32/rebar: Fix invalid band index access.
explorerframe: Return success from ThumbBarSetImageList().
user32/listbox: Update caret index on LB_SETSEL.
Patrick Hibbs (1):
wtsapi32: Make WTSRegisterSessionNotificationEx's return consistent with WTSRegisterSessionNotification.
Paul Gofman (7):
wined3d: Allow loading buffers mapped through system memory.
ddraw: Enable lighting only if material is set in d3d_execute_buffer_execute().
ddraw: Fix vertex buffer offset in d3d_execute_buffer_execute().
d3d8: Fix stream data skip count in convert_to_wined3d_declaration().
user32: Fix coords in WINDOWPOS for WM_NCCALCSIZE sent from SetWindowPos().
ntdll: Add DECLSPEC_HOTPATCH to NtProtectVirtualMemory().
d3dx9: Pass D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY when appropriate.
Piotr Caban (4):
wbemdisp: Handle NULL signatures in init_members.
msvcrt: Fix _putws implementation.
msi: Fix component Action for shared components in CostFinalize.
ntdll: Work around futimens weak linking problem in set_file_times.
Richard Pospesel (1):
widl: Use FC_CHAR rather than FC_BYTE for boolean typedef to match midl.exe output.
Rémi Bernon (3):
widl: Cast freed pointers to void* to fix discarded-array-qualifiers warning.
dinput: Increase device buffer size to 1024.
opencl: Define CL_TARGET_OPENCL_VERSION 220 to fix a header warning.
Vijay Kiran Kamuju (1):
shcore: Add stub for GetScaleFactorForMonitor.
Vincent Povirk (1):
regsvr32: Re-exec as 32-bit or 64-bit if necessary.
Zebediah Figura (2):
winex11: Track the client colormap separately.
qedit/mediadet: Check for failure from IEnumPins::Next().
Zhiyi Zhang (1):
kernelbase/tests: Add more PathAllocCanonicalize tests.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 5.6 is now available.
What's new in this release (see below for details):
- Still more Media Foundation work.
- Improvements to Active Directory LDAP support.
- A few more modules converted to PE.
- Improvements to gdb proxy mode.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.6.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.6.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.6 (total 38):
19420 Passmark 7.0 2d benchmark tests fails without native gdiplus
21466 Multiple applications need NtQueryVolumeInformationFile 'FileFsVolumeInformation' class support (AVG Free 8.x/9.x Antivirus Edition, MSYS2)
24784 Explorer++ displays disabled toolbar icons incorrectly
27324 Cossacks II (DotEmu version) refuses to start from its install directory (path too long?)
30810 Keygener Assistant 2.x: main window has incorrect size and contents are all black
31207 Monogram GraphStudio v0.3.x crashes when using Graph->Insert Filter
33290 Fullscreen games cause panning configurations to be generated on some NVidia proprietary drivers
34014 Star Wars KOTOR II: The Sith Lords: Movies/cutscenes do not play with opengl on
37029 Evernote 5.5.x - unable to capture webcam note
37043 Keyboard input broken in Roblox Player
37051 Roblox Studio embedded webpage does not load consistently or properly using built-in winhttp
38856 LEGO Lord of the Rings crashes randomly
41610 ChurchBoard: Trying to create a window(about 3 minutes). And the error takes off.
41740 Diablo 3's mouse sprite stops moving, but the mouse is still working.
42072 Dead Space (Steam) crashes on save with "divide by zero" error
42479 MYOB Accounting v18.5.x crashes on startup
43704 Contacam crashes
47083 MySQL 8.0.x community installer (.NET 4.5.x app) fails to configure mysql, needs support for WS_AF_INET6 in 'iphlpapi.GetExtendedTcpTable'
47109 WineVulkan ICD isn't registered in wineprefixes
47362 Media Feature Pack for W10N requires rtworkq.dll
47794 Rockstar Games Launcher installer button images do not display
47825 Webex Meetings crashes
48611 Cairo Shell v0.3.x (.NET 4.7 app) crashes due to missing 'HKCU\\Software\\Microsoft\\Windows NT\\CurrentVersion\\WinLogon\\Shell' registry sub-key
48623 Error authenticating to LDAP controller
48729 Binary Domain has misplaced text in configuration tool with builtin d3dx9_43
48766 Late Shift doesn't work properly
48778 Star Wars: The Old Republic crashes shortly after intro screen
48788 null pointer in wined3d_palette_set_entries with Diablo GOG
48798 RegCloseKey: Uninitialized read from get_language_sort
48806 Panzer Corps 2 needs msvcp140.dll.?_XLgamma@std@@YANN@Z
48816 The explorer doesn't support '/cd' option
48832 Magic The Gathering Online: client does not start due to long file names since 2020-03-25 update
48838 Wine fails to build wldap32 if LDAP is not installed
48844 Magical Scramble Demo 1.20P shows white boxes instead of pictures.
48846 msvcr90/tests/msvcr90.c: error: variadic functions must use the base AAPCS variant
48888 error: redefinition of typedef ‘_onexit_t’ [/dlls/d3dcompiler_33]
48897 Building fails with '/usr/bin/ld: cannot find -ldl'
48902 Warframe launcher fails to replace updated Launcher.exe the first time (works when Retry option pressed, as Launcher.exe deleted first time)
----------------------------------------------------------------
Changes since 5.5:
Akihiro Sagawa (2):
ddraw/tests: Add more managed texture tests.
ddraw: Allow to create managed textures with DDSCAPS_TEXTURE|DDSCAPS_3DDEVICE caps.
Alexandre Julliard (84):
ntdll: Avoid using toupperW().
ntdll: Avoid using tolowerW().
ntdll: Avoid using memrchrW().
ntdll: Avoid using memchrW().
ntdll: Avoid using atoiW().
ntdll: Avoid using sprintfW().
ntdll: Use wcscpy() instead of strcpyW().
ntdll: Use wcscat() instead of strcatW().
ntdll: Use wcschr() instead of strchrW().
ntdll: Use wcspbrk() instead of strpbrkW().
ntdll: Use wcsrchr() instead of strrchrW().
ntdll: Use wcstoul() instead of strtoulW().
ntdll: Use wcslen() instead of strlenW().
ntdll: Use wcscspn() instead of strcspnW().
ntdll: Use wcsspn() instead of strspnW().
ntdll: Use wcscmp() instead of strcmpW().
ntdll: Use wcsncmp() instead of strncmpW().
kernel32: Reimplement Get/WritePrivateProfileStructW functions using exported APIs.
kernel32: Avoid using tolowerW/toupperW().
kernel32: Avoid using memrchrW().
kernel32: Avoid using memchrW().
kernel32: Avoid using wctype functions.
krnl386: Avoid using toupperW().
ntdll: Move support for getting LDT entries to the platform-specific files.
ntdll: Implement NtSetLdtEntries().
ntdll: Reimplement LDT support for the TEB selector.
ntdll: Avoid using the LDT definitions from libwine.
krnl386: Reimplement LDT support using NtSetLdtEntries().
krnl386: Avoid using the LDT definitions from libwine.
ntdll: Export the LDT copy from ntdll instead of libwine.
krnl386: Avoid using the selector functions from libwine.
winebuild: Support building krnl386.exe in PE format.
krnl386: Build with msvcrt.
makefiles: Always build 16-bit modules with msvcrt.
makefiles: Always explicitly specify the C runtime import.
makefiles: Don't add default libs for msvcrt builds.
wineandroid: Avoid using wine_get/set_fs().
winex11: Avoid using wine_get/set_fs().
libwine: Avoid using wine_get/set_fs().
ntdll: Avoid using the selector functions from libwine.
libwine: Make the LDT functions obsolete.
configure: Add -ldl to default libs if necessary.
bcrypt: Use standard dlopen() instead of the libwine wrappers.
capi2032: Use standard dlopen() instead of the libwine wrappers.
crypt32: Use standard dlopen() instead of the libwine wrappers.
ctapi32: Use standard dlopen() instead of the libwine wrappers.
dwrite: Use standard dlopen() instead of the libwine wrappers.
dxgi: Use standard dlopen() instead of the libwine wrappers.
gdi32: Use standard dlopen() instead of the libwine wrappers.
glu32: Use standard dlopen() instead of the libwine wrappers.
gphoto2.ds: Use standard dlopen() instead of the libwine wrappers.
kerberos: Use standard dlopen() instead of the libwine wrappers.
kernel32: Use standard dlopen() instead of the libwine wrappers.
mountmgr.sys: Use standard dlopen() instead of the libwine wrappers.
msgsm32.acm: Use standard dlopen() instead of the libwine wrappers.
msxml3: Use standard dlopen() instead of the libwine wrappers.
dbghelp: Make qsort callback explicitly cdecl.
dbghelp: Use stricmp() instead of _strnicmp(..., -1).
krnl386: Use stricmp() instead of _strnicmp(..., -1).
netapi32: Use standard dlopen() instead of the libwine wrappers.
ntdll: Use standard dlopen() instead of the libwine wrappers.
odbc32: Use standard dlopen() instead of the libwine wrappers.
qcap: Use standard dlopen() instead of the libwine wrappers.
sane.ds: Use standard dlopen() instead of the libwine wrappers.
secur32: Use standard dlopen() instead of the libwine wrappers.
user32: Use standard dlopen() instead of the libwine wrappers.
windowscodecs: Use standard dlopen() instead of the libwine wrappers.
wineandroid: Use standard dlopen() instead of the libwine wrappers.
winebus.sys: Use standard dlopen() instead of the libwine wrappers.
winemac: Use standard dlopen() instead of the libwine wrappers.
winex11: Use standard dlopen() instead of the libwine wrappers.
winspool: Use standard dlopen() instead of the libwine wrappers.
wineconsole: Use standard dlopen() instead of the libwine wrappers.
libwine: Make the dlopen() wrapper functions obsolete.
makefiles: Don't use standard libs for programs that specify -nodefaultlibs.
winecrt0: Rebuild the argv array instead of getting it from libwine.
msvcrt: Rebuild the argv array instead of getting it from libwine.
winecfg: Avoid depending on the PACKAGE_* macros.
winepath: Remove the --version option.
winepath: Build with msvcrt.
winver: Build with msvcrt.
libwine: Remove some no longer needed helper functions.
libwine: Remove __wine_main_arg* from the public header.
winedump: Get rid of a useless destructor.
Alistair Leslie-Hughes (2):
winmm: Use CreateFileA instead of OpenFile.
secur32: Fix compile for older gnutls libraries.
Andrew Eikum (3):
kernel32/tests: Actually run OpenFile tests.
winmm/tests: Test mmioOpen with long file name.
audioclient.idl: Correct IAudioClockAdjustment IID.
Andrew Guertin (1):
d3d11: Stop warning about depth stencil view flags.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (2):
winevulkan: Create JSON manifest and registry entry used by official Vulkan loader.
winevulkan: Enable VK_KHR_get_surface_capabilities2.
Charles Davis (46):
ddraw/tests: Introduce compare_uint().
d3d8/tests: Introduce compare_uint().
d3d8/tests: Avoid abs() on unsigned values in compare_mode().
ddraw: Introduce a helper to convert ddraw render states to wined3d states.
ddraw: Introduce a helper to convert ddraw transform states to wined3d states.
ddraw: Introduce a helper to convert ddraw primitive types to wined3d types.
ddraw: Introduce a helper to convert ddraw stateblock types to wined3d types.
d3d8: Introduce helpers to convert between d3d8 and wined3d multisample types.
d3d8: Introduce a helper to convert d3d8 device types to wined3d types.
d3d8: Introduce a helper to convert d3d8 transform states to wined3d states.
d3d8: Introduce a helper to convert d3d8 render states to wined3d states.
d3d8: Introduce a helper to convert d3d8 primitive types to wined3d types.
d3d9: Introduce helpers to convert between d3d9 and wined3d multisample types.
winegcc: Put quotes around arguments with spaces when printing them.
dbghelp: Ignore N_INDR symbols.
iphlpapi: Use res_getservers() if available to get the DNS server list.
iphlpapi: Implement GetTcp6Table() for Mac OS and FreeBSD.
iphlpapi: Implement GetUdp6Table() for Mac OS and FreeBSD.
d3d9/tests: Use compare_uint() in a couple more places.
d3d10core/tests: Use compare_uint() in a few more places.
d3d11/tests: Use compare_uint() in a few more places.
d3d11: Introduce a function to convert D3D10 map types to wined3d map flags.
d3d11: Introduce a function to convert D3D10 DSV dimensions to D3D11.
d3d11: Introduce a function to convert a wined3d feature level to a D3D feature level.
d3d11: Introduce a function to convert a D3D11 input class to wined3d.
d3d11: Introduce a function to convert D3D11 blend factors to wined3d.
d3d11: Introduce a function to convert D3D11 blend ops to wined3d.
d3d11: Introduce a function to convert D3D11 fill modes to wined3d.
d3d11: Introduce a function to convert D3D11 cull modes to wined3d.
d3d8: Explicitly cast FourCC formats in d3dformat_from_wined3dformat() and wined3dformat_from_d3dformat().
d3d9: Explicitly cast FourCC formats in d3dformat_from_wined3dformat() and wined3dformat_from_d3dformat().
opencl: Build with CL_SILENCE_DEPRECATION.
winemac.drv: Build with GL_SILENCE_DEPRECATION.
d3d11: Introduce a function to convert a D3D feature level to a D3D10.1 feature level.
d2d1: Return enum constants directly in d2d_bitmap_brush_GetInterpolationMode() (Clang).
d2d1: Introduce a function to convert D2D1.0 interpolation modes to D2D1.1.
libwine: Add missing return (Clang).
winemac.drv: Build with GL_SILENCE_DEPRECATION.
d3d11: Introduce a function to convert D3D11 blend factors to D3D10.
d3d11: Introduce a function to convert D3D11 blend ops to D3D10.
wined3d: Introduce compare_uint().
d3d9: Remove an unneeded conversion.
configure: Make Clang fail optimization arguments it doesn't care about.
widl: Cast server functions to void *.
d3d10_1: Introduce a function to convert d3d10_1 feature levels to D3D_FEATURE_LEVEL.
wined3d: Use GL_APPLE_flush_render and GL_APPLE_rgb_422 to detect Apple OpenGL.
Daniel Lehman (3):
loader: Add Chatham Islands Standard Time Zone.
loader: Add Bougainville Standard Time Zone.
loader: Add Marquesas Standard Time Zone.
Derek Lesho (2):
mfreadwrite: Fix flushing on MF_SOURCE_READER_ALL_STREAMS.
include: Add codecapi.h.
Dmitry Timoshkov (50):
wldap32: Fix compilation without LDAP installed.
adsldp: Recognize and skip not supported schema tokens.
adsldp: Require attribute definition to be properly terminated.
adsldp: Add support for NAME token with multiple entries.
adsldp: Map 1.3.6.1.4.1.1466.115.121.1.38 to ADSTYPE_CASE_IGNORE_STRING.
adsldp: Map 1.3.6.1.4.1.1466.115.121.1.15 to ADSTYPE_CASE_IGNORE_STRING.
adsldp: Map 1.3.6.1.4.1.1466.115.121.1.7 to ADSTYPE_BOOLEAN.
adsldp: Implement IDirectorySearch::FreeColumn().
adsldp: Fix IDirectorySearch::GetColumn() behaviour for not found case.
adsldp/tests: Handle more cases of ERROR_DS_SERVER_DOWN.
adsldp: Blacklist serverless and rootDSE connections in QueryInterface(&IID_IDirectorySearch).
adsldp: Store original LDAP values pointer in hReserved.
adsldp: Initialize also pADsValues->dwType field.
adsldp: Ignore attribute definitions without NAME.
adsldp: Sort the attribute types array.
activeds: Add IADsPathname stubs.
activeds: Make IADsPathname::Set() and IADsPathname::Retrieve() return success.
adsldp: Add IDirectoryObject stubs.
adsldp: Forward IDirectoryObject::QueryInterface() to parent.
adsldp: Add support for IDirectorySearch::SetSearchPreference(ADS_SEARCHPREF_SECURITY_MASK).
adsldp: Map 1.2.840.113556.1.4.907 to ADSTYPE_NT_SECURITY_DESCRIPTOR.
wldap32/tests: Test setting a not supported server control.
wldap32: Actually use private LDAP structure for internal storage.
wldap32: Locally cache "supportedControl" rootDSE attribute, and check it in ldap_set_option(LDAP_OPT_SERVER_CONTROLS).
adsldp: Fix a typo in IDirectorySearch::GetNextRow().
wldap32: Fix server controls lookup logic.
adsldp: Always fully initialize returned column values.
adsldp: Recognize ADS_SEARCHPREF_PAGESIZE in IDirectorySearch::SetSearchPreference().
adsldp: Recognize ADS_SEARCHPREF_CACHE_RESULTS in IDirectorySearch::SetSearchPreference().
adsldp/tests: Remove no longer needed goto.
include: Add dsclient.h.
dsuiext: Add IDsDisplaySpecifier stubs.
adsldp: Map "1.3.6.1.4.1.1466.115.121.1.24" to ADSTYPE_UTC_TIME.
adsldp: Map "1.2.840.113556.1.4.906" to ADSTYPE_LARGE_INTEGER.
adsldp: Map 1.2.840.113556.1.4.903 to ADSTYPE_DN_WITH_BINARY.
adsldp: Add support for ADS_SEARCHPREF_ATTRIBTYPES_ONLY to IDirectorySearch::SetSearchPreference().
adsldp: Recognize ADS_SEARCHPREF_TOMBSTONE in IDirectorySearch::SetSearchPreference().
include/winnt.h: Update ACE types list.
advapi32: Properly skip not supported parts of the object ACE.
adsldp: Use correct format specifiers for SYSTEMTIME fields.
adsldp: Fix typos in ADSTYPE_BOOLEAN handling.
activeds/tests: Add some IADsPathname tests.
activeds: Implement IADsPathname::Set(ADS_SETTYPE_FULL).
activeds: Implement remaining cases for IADsPathname::Set().
activeds: Implement IADsPathname::Retrieve(ADS_FORMAT_X500).
activeds: Implement some simple cases for IADsPathname::Retrieve().
activeds: Implement IADsPathname::Retrieve(ADS_FORMAT_LEAF).
activeds: Implement IADsPathname::GetElement().
activeds: Implement IADsPathname::GetNumElements().
adsldp: Map 1.3.6.1.4.1.1466.115.121.1.26 to ADSTYPE_CASE_EXACT_STRING.
François Gouget (2):
wpp: Standardize the error and warning messages.
gameux/tests: Remove unneeded parentheses around a gamestatistics string.
Gabriel Ivăncescu (6):
vbscript: Look for the identifier in the named item's disp only if it doesn't have the CODEONLY flag.
vbscript/tests: Add more persistent named items tests.
vbscript: Clear SCRIPTITEM_CODEONLY flag on script re-initialization.
msscript.ocx: Fix the idl output parameters.
quartz: Cache IMediaSeeking for filters.
quartz/tests: Add tests for when IMediaSeeking on a filter is released by the filter graph.
Gerald Pfeifer (1):
dbghelp: Define NT_GNU_BUILD_ID regardless of whether __ELF__ is defined.
Gijs Vermeulen (4):
riched20: Turn FIXME into a TRACE for ITextRange::SetRange.
iphlpapi: Silence unused function warning for sockaddr_in6_to_WS_storage.
iphlpapi: Fix unused function warning for get_ipv6_addr_scope_table & find_ipv6_addr_scope.
iphlpapi: Fix unused variable warning.
Hans Leidekker (4):
secur32: Map GNUTLS_E_REHANDSHAKE to SEC_I_RENEGOTIATE.
winhttp: Explicitly pass errors.
winhttp: Handle renegotiate requests.
secur32: Add TLS application protocol negotiation support.
Hans-Kristian Arntzen (1):
dxgi: Implement dxgi_factory_CheckFeatureSupport().
Henri Verbeet (15):
d3d9/tests: Introduce compare_uint().
d3d10core/tests: Introduce compare_uint().
d3d11/tests: Introduce compare_uint().
d3d12/tests: Introduce compare_uint().
d2d1/tests: Introduce compare_uint().
d3drm/tests: Introduce compare_uint().
d3dx9/tests: Introduce compare_uint().
d3d9: Introduce helpers to convert between d3d9 and wined3d scanline ordering types.
d3d9: Introduce a helper to convert d3d9 device types to wined3d types.
d3d9: Introduce a helper to convert d3d9 texture filter types to wined3d types.
d3d9: Introduce a helper to convert d3d9 transform states to wined3d states.
d3d9: Introduce a helper to convert d3d9 render states to wined3d states.
d3d9: Introduce a helper to convert d3d9 sampler states to wined3d states.
d3d9: Introduce a helper to convert d3d9 primitive types to wined3d types.
d3d9: Introduce helpers to convert between d3d9 and wined3d query types.
Jacek Caban (49):
dbghelp: Pass module to map_dwarf_register.
dbghelp: Use DWARF registry mapping quirk only for actual macho modules.
dbghelp: Provide N_PEXT and N_SECT defines when not available.
dbghelp: Clear N_PEXT flag of stab type in macho files.
dbghelp: Use local stab_nlist declaration in macho_module.c.
dbghelp: Use local declaration for 64-bit macho nlist.
dbghelp: Pass stab size to stabs_parse.
dbghelp: Fix misleading indentation warning.
dbghelp: Use local NOTE_GNU_BUILD_ID declaration.
dbghelp: Don't use *_NULL constants.
dbghelp: Use local AT_SYSINFO_EHDR definition.
dbghelp: Use local declarations of r_debug and link_map structs.
dbghelp: Use local elf_header declaration.
dbghelp: Use local elf_section_header declaration.
dbghelp: Use local ELF program segment header declaration.
dbghelp: Use local dynamic section entry declaration.
dbghelp: Use local symbol table entry declaration.
dbghelp: Inline ELF magic constants.
dbghelp: Don't use ELF32_ST_BIND and ELF32_ST_TYPE macros.
dbghelp: Use local ELF constants definitions.
dbghelp: Don't use system headers for ELF declarations.
dbghelp: Don't store entire mach header in image_file_map.
dbghelp: Use local macho load command declaration.
dbghelp: Use local macho section declaration.
dbghelp: Use local fat header declaration.
dbghelp: Use local symtab and segment commands declarations.
dbghelp.c: Use local mach header declaration.
dbghelp: Don't use stdint.h types.
dbghelp: Use local constants definitions instead of mach-o/loader.h.
dbghelp: Don't use _NSGetExecutablePath in macho_search_loader.
dbghelp: Get rid of get_dyld_image_info_address.
dbghelp: Don't bother trying to initialize loader backend if we can't get debug base address from PEB.
mountmgr: Add mac-specific ioctl to lookup symbol files.
dbghelp: Factor out query_dsym.
dbghelp: Use mount manager to lookup dsym by uuid.
dbghelp: Introduce read_process_memory helper.
dbghelp: Fix GCC warnings in macho_module.c.
dbghelp: Always build all loader backends.
dbghelp: Import zlib inflate code.
dbghelp: Remove unneeded includes.
dbghelp: Don't use PATH to search for libraries.
dbghelp: Build with ucrtbase.
makefiles: Remove no longer needed explicit ucrtbase imports.
include: Avoid _onexit_t redefinition.
dbghelp: Get rid of no longer needed HAVE_ZLIB checks.
dbghelp: Get rid of no longer needed #ifdefs.
configure: Get rid of no longer needed zlib checks.
dbghelp: Use debuggee environment variables in search_dll_path.
api-ms-win-core-localization: Update spec files.
Jactry Zeng (4):
qasf: Implement WM ASF reader stub.
qasf: Implement IFileSourceFilter stub for WM ASF reader.
qasf: Implement IFileSourceFilter_Load() for WM ASF reader.
qasf: Implement IFileSourceFilter_GetCurFile() for WM ASF reader.
Jeff Smith (5):
gdiplus/tests: Add widen-path test for UnitWorld zero-width line.
gdiplus: Pass line-width parameter to widen-figure functions.
gdiplus: Do not shrink UnitWorld lines below width 1.0.
gdiplus: Widen-path for zero-width lines only emits anchors.
gdiplus: Handle some degenerate cases with GdipCreatePath2.
Lauri Kenttä (1):
po: Update Finnish translation.
Mathew Hodson (1):
user32/tests: Don't report cursor handle since it always changes.
Matteo Bruni (6):
d3dx9: Switch character count to unsigned int in the DrawText implementation.
wined3d: Get rid of a WARN in wined3d_query_get_data().
wined3d: Add a TRACE to wined3d_buffer_gl_download_ranges().
wined3d: Add a TRACE to wined3d_buffer_gl_upload_ranges().
wined3d: Add a TRACE to wined3d_buffer_copy().
wined3d: Add a few traces to draw_primitive().
Myah Caron (1):
ucrtbase: Export _o___stdio_common_v[fs]wprintf functions.
Nikolay Sivov (39):
mfplat: Forward MFScheduleWorkItemEx() to rtworkq.dll.
mfplat: Fix PRESENTATION_CURRENT_POSITION handling for system time source.
mfplat/tests: Link to MFHeap* functions directly.
mf: Set cancellation object directly (Coverity).
mfplat: Add a warning for buffer method failure (Coverity).
mfreadwrite: Do not call async reader callback if source failed to start up.
mfreadwrite: Use single reader lock for all streams.
mfreadwrite: Implement MF_SOURCE_READER_ANY_STREAM for async mode.
mfreadwrite: Pack stream selection state as flags.
rtworkq: Add RtwqJoinWorkQueue()/RtwqUnjoinWorkQueue() stubs.
rtworkq: Add MMCSS-related stubs.
comctl32/button: Use duplicated image for drawing.
ntdll: Fix trace pointer returned from RtlGetUnloadEventTraceEx().
mfreadwrite: Add stream index validation for Flush().
mfreadwrite: Use default queue so submit flush commands.
mfreadwrite: Handle async reads when flush is in progress.
mfreadwrite: Move source shutdown mode to reader flags.
mfreadwrite: Block recurring flush calls in async mode when flush is pending.
mfreadwrite: Implement MF_SOURCE_READER_ANY_STREAM for synchronous case.
mfreadwrite: Add support for seeking in Source Reader.
mf: Add IMFMediaSink stub for SAR.
mf: Implement dynamic stream management methods in SAR.
mf: Add IMFMediaSinkPreroll stub for SAR.
mf: Return sink flags for SAR.
mf: Add event queue for SAR sink.
include: Add ISpatialAudioClient definition.
mf: Add support to get/set presentation clock for SAR.
mfplat: Add SAR attribute traces.
mf: Attempt to create mmdevapi device on SAR creation.
mf: Add stream sink stub for SAR.
mf: Add events support for SAR stream.
mf: Add type handler stub for SAR stream.
mfplat: Partially implement MFInitMediaTypeFromWaveFormatEx().
mfplat: Initial support for WAVE_FORMAT_EXTENSIBLE in MFInitMediaTypeFromWaveFormatEx().
mf: Add volume control stubs for SAR.
mf: Add IMFAudioPolicy stub for SAR.
mf/tests: Add some more tests for SAR current type.
mf: Always queue set topologies.
mf: Use original topology instance for both MESessionTopologySet and MESessionTopologyStatus.
Paul Gofman (1):
ddraw: Reserve extra space for video memory surfaces in compatibility mode.
Piotr Caban (7):
msvcr90/tests: Fix swscanf tests compilation on arm.
server: Initialize current_time before it's used in init_registry.
server: Use monotonic clock for relative timeouts.
server: Use monotonic clock for SetTimer timeouts.
server: Use monotonic clock in waitable timers.
server: Use correct clock in select.
kernel32/tests: Test timeout behaviour on system clock change.
Rémi Bernon (27):
winedbg: Force read data to be NUL terminated.
winedbg: Force packet data to be NUL terminated.
winedbg: Cleanup extract_packets for faster acking.
winedbg: Support QStartNoAckMode to reduce verbosity.
winedbg: Explicitly handle MustReplyEmpty packet.
winedbg: Cleanup return for kill and status packets.
winedbg: Remove outdated commented code.
winedbg: Simplify and fix register read/write handlers.
winedbg: Simplify individual thread single_step control.
winedbg: Use tid for other/exec thread operations.
winedbg: Store the current debug event in gdbctx.
winedbg: Rewrite and simplify step / continue handlers.
winedbg: Remove uses of dbg_curr_thread from gdbproxy.
winedbg: Support qXfer:libraries:read request.
winedbg: Support qXfer:threads:read request.
winedbg: Add gdb feature names to the register maps.
winedbg: Add gdb register names to the register maps.
winedbg: Add gdb register types to the register maps.
winedbg: Support qXfer:features:read request.
winedbg: Remove the use of gdb specific register length.
winedbg: Use target pointer size in indirect string access.
winedbg: Add support for hardware watchpoints.
winedbg: Clean handle_exception return values.
winedbg: Clean handle_debug_event return value.
winedbg: Recompute signal from debug event as needed.
winedbg: Don't wait or load the wine loader module.
winedbg: Use debug event code in packet_reply_status.
Serge Gautherie (2):
include: Remove remaining '&& !defined(CINTERFACE)' in guiddef.h.
ntdll/tests: Fix 'path' copypastas.
Sven Baars (3):
d3dx9: Add a helper for computing the bounding rectangle in ID3DXFont_DrawText.
d3dx9: Handle vertical alignment in ID3DXFont_DrawText.
d3dx9: Handle horizontal alignment in ID3DXFont_DrawText.
Zebediah Figura (70):
server: Check whether the new file name is executable.
quartz/avidec: Use the strmbase_passthrough object directly.
quartz/acmwrapper: Use the strmbase_passthrough object directly.
qasf/dmowrapper: Use the strmbase_passthrough object directly.
qedit/samplegrabber: Use the strmbase_passthrough object directly.
strmbase: Return void from strmbase_renderer_init().
kernel32/tests: Add more tests for deleting and replacing open files.
kernel32: Don't fail ReplaceFile() if unable to delete a generated backup.
qedit/samplegrabber: Use calloc() in sample_grabber_create().
qedit/samplegrabber: Get rid of the SG_Impl typedef.
qedit/nullrenderer: Use calloc() in null_renderer_create().
qedit/nullrenderer: Get rid of the NullRendererImpl typedef.
evr: Use calloc() in evr_filter_create().
evr: Get rid of the evr_filter typedef.
quartz/acmwrapper: Get rid of the ACMWrapperImpl typedef.
quartz/avidec: Get rid of the AVIDecImpl typedef.
quartz/avidec: Fix some copy-paste errors.
quartz/dsoundrender: Use calloc() in dsound_render_create().
quartz/dsoundrender: Get rid of the DSoundRenderImpl typedef.
d3dcompiler: Index instructions for liveness ranges.
d3dcompiler: Compute liveness ranges for variables.
d3dcompiler: Compute liveness ranges for anonymous nodes.
quartz/filesource: Get rid of the AsyncReader typedef.
quartz/videorenderer: Use calloc() in video_renderer_create().
quartz/videorenderer: Get rid of the VideoRendererImpl typedef.
quartz/vmr9: Use calloc().
quartz/vmr9: Get rid of the VMR9DefaultAllocatorPresenterImpl typedef.
ntdll: Synchronize ZwSetLdtEntries spec entry with NtSetLdtEntries.
quartz: Return void from basic_video_init().
quartz: Get rid of BaseControlVideo_Destroy().
quartz: Get rid of the BaseControlWindow typedef.
quartz: Get rid of the BaseWindowFuncTable typedef.
quartz: Merge the BaseWindow structure into video_window.
msvfw32: Fix a debug trace.
kernel32: Create the backup in the same directory.
rpcrt4: Handle FC_NON_ENCAPSULATED_UNION in calc_arg_size().
rpcrt4: Implement NdrClientCall3().
rpcrt4: Implement Ndr64AsyncClientCall().
rpcrt4: Bump the maximum accepted NDR version.
quartz: Return void from video_window_init().
quartz: Get rid of the "width" and "height" fields of video_window.
quartz/filesource: Remove unused callbacks.
strmbase: Check the peer direction in source_Connect().
winegstreamer: Check the format GUID, size, and pointer in amt_to_gst_caps().
mountmgr: Determine and store the filesystem type, label, and serial.
mountmgr: Return the filesystem type from IOCTL_MOUNTMGR_QUERY_UNIX_DRIVE.
mountmgr: Allow querying a Unix device by device ID.
ntdll: Implement NtQueryVolumeInformationFile(FileFsAttributeInformation).
mountmgr: Return the serial and label from IOCTL_MOUNTMGR_QUERY_UNIX_DRIVE.
ntdll: Implement NtQueryVolumeInformationFile(FileFsVolumeInformation).
qcap/tests: Use explicit source and sink structures.
qcap/tests: Add some basic tests for ICaptureGraphBuilder2::FindPin().
qcap/tests: Add more tests for ICaptureGraphBuilder2::RenderStream().
qcap: Use separate functions when searching from a pin and filter.
qcap: Use pin_matches() directly in find_unconnected_source_from_pin().
qcap: Iterate over all source pins in find_unconnected_source_from_filter().
qcap: Search downstream pins regardless of whether the category and major type match.
ntdll: Silence a warning for FileFsVolumeInformation.
kernelbase: Return the volume serial number in GetFileInformationByHandle().
ntdll: Fill the volume serial number in NtQueryInformationFile(FileIdInformation).
mountmgr: Assign a unique nonzero serial to all volumes.
kernel32: Reimplement is_same_file() using FileIdInformation.
kernel32: Implement GetVolumeInformationByHandleW().
user32: Rename the "hid_device" structure to "device".
user32: Rename hid_devices_* variables to rawinput_devices_*.
user32: Also scan for mouse devices in GetRawInputDeviceList().
maintainers: Add Paul Gofman to the Staging branch section.
maintainers: Add myself to some sections.
maintainers: Take maintainership of DirectShow.
maintainers: Take maintainership of the HTTP server libraries.
Zhipeng Zhao (1):
explorer: Support '/cd,' command line option.
Zhiyi Zhang (15):
winex11.drv: Get the minimum screen size from XRRGetScreenSizeRange().
d3d8/tests: Fix possible test failures.
d3d9/tests: Fix possible test failures.
d3d8/tests: Add cursor size tests.
d3d9/tests: Add cursor size tests.
wined3d: Check cursor sizes are powers of two.
wined3d: Move cursor size check against display mode out of wined3d_device_set_cursor_properties().
dxgi/tests: Fix uninitialized variable warnings.
d3d8/tests: Test cursor clipping.
d3d9/tests: Test cursor clipping.
dxgi/tests: Fix some test failures in test_find_closest_matching_mode().
dxgi/tests: Test cursor clipping.
ddraw/tests: Test cursor clipping.
wined3d: Do not clip the cursor after changing display modes.
dxgi/tests: Add a test for IDXGIFactory5 feature support queries.
Ziqing Hui (1):
comctl32/toolbar: Correctly draw disabled button which contains 32 bpp bitmap with alpha channel.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.5 is now available.
What's new in this release (see below for details):
- Builtin libraries use the new UCRTBase C runtime.
- Compatibility mode used when reporting Windows version.
- Better support for debug information in PE files.
- Support for linguistic case mappings.
- More attributes supported in WebServices.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.5.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.5.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.5 (total 32):
8439 Multiple Microsoft product installers fail due missing shell app path expansion (Visual Studio .NET 2002, 2003, Visual Foxpro 9.0)
23523 Call of Juarez DX10 Benchmark does not start
31890 Multiple applications need IAudioEndpointVolume::GetMasterVolumeLevelScalar method implementation (Cisco IP Communicator, Cairo Shell v0.3.x)
32114 LTSpice: Dialog resizing glitches, slow panning when zooming, minor traces
32222 LTspice: text fields issues
32723 Death to Spies: Moment of Truth (Steam/non-Steam) crashes on startup (intro video needs WMV3 decoder support in an AVI container)
35671 ERD Concepts 6 crashes with division by zero when editing relations
39428 Failing owner SID test in advapi32:security
39429 Failing ACE flag tests in advapi32:security
40854 Adobe Flash Player 22-25 installer crashes (wtsapi32.WTSQuerySessionInformation needs to support WTSUserName info class)
41208 Gridcoin Research Client crashes
41305 Might and Magic VI: Game hangs before intro video (making it unplayable) [regression]
41929 Multiple games need WINED3D_TEXF_ANISOTROPIC filter mode
45967 Beat hazard 2 - bad network/float behavior
47056 Solid Edge v15: Program freeze on File->Open
48276 VSDC Video Editor needs VT_VECTOR|VT_I4 support in PropertyStorage_ReadProperty
48473 kernelbase WaitNamedPipeW contains non-null terminated string, causing garbage output in trace logs
48495 XCP-ng Center v8.x (.NET 4.6 app) can't connect to server with self-signed certificate
48593 Multiple games play only one frame of video (Fable: The Lost Chapters, Audiosurf, Dark Souls 2, Oddworld: Munch's Oddysee)
48642 kernel32:process contains a race condition in test_WaitForJobObject()
48683 iTunes v12.10.4.2 crashes on unimplemented function wmvcore.dll.WMIsContentProtected when adding folders to directory scan
48698 Multiple installers fail with "Unknown method" (Flash 29, Rexygen)
48700 Wolcen: Lords of Mayhem - there's a blob around the character's head.
48732 How to Survive crashes on start (fullscreen mode)
48734 How to Survive crashes when starting a new game
48739 ConEmu (Windows console emulator) v19.10.12 fails to set Wininet's INTERNET_OPTION_IGNORE_OFFLINE and shows error dialog at startup
48743 Multiple games have broken rendering (Sniper Elite V2, Sniper Elite 3, F1 2012)
48750 Few missing DirectSound3D Algorithms GUID Defs
48762 IExplore immediately crashes on www.msnbc.com with a failed assertion
48765 Firefox 74.0 crashes instantly: Call to unimplemented function WS2_32.dll.WSCGetProviderInfo, aborting
48801 Multiple games crash on unimplemented function d3dx11_43.dll.D3DX11GetImageInfoFromFile (Assetto Corsa 1.14.x, Project Cars)
48814 Microsoft Word 6.0 for Windows installer crashes after wine-4.8-247-g0d7d0427d0
----------------------------------------------------------------
Changes since 5.4:
Alex Henrie (2):
mmdevapi: Report 100% volume in GetMasterVolumeLevelScalar stub.
wine.inf: Add Winlogon keys.
Alexandre Julliard (46):
winedump: Add dumping of sortkey NLS files.
unicode: Add separate helper for removing linguistic case mappings.
unicode: Store data for CT_CTYPE3 types.
unicode: Generate a registry script for Nls keys.
unicode: Generate the NLS file for sortkeys.
ntdll: Support the sortkey file in NtGetNlsSectionPtr().
kernelbase: Load the sortkey file and use it for the case mapping table.
kernelbase: Use the ctype table from the sortkey file.
kernelbase: Use linguistic case table for LCMAP_LINGUISTIC_CASING.
unicode: Add compression flags to the sortkey table.
make_makefiles: Remove updating codepage list, this is done by make_unicode now.
kernelbase: Implement GetNLSVersion/GetNLSVersionEx().
kernelbase: Implement IsValidNLSVersion().
server: Use byte length in dump_strW() for consistency.
server: Store length of window text instead of null-terminating it.
server: Store length of console title instead of null-terminating it.
server: Store length of console history lines instead of null-terminating them.
comctl32: Forward string functions to kernelbase.
loader: Remove a check for antediluvian glibc.
kernelbase: Open registry keys before looking for sort table.
server: Add a helper function for splitting a path into individual elements.
server: Add a helper function for creating a Unicode string.
server: Add a helper function for case-insensitive Unicode string comparisons.
server: Add a helper function for hashing a Unicode string.
server: Don't use wine/unicode.h.
unicode: Store downloaded data files in the cache directory.
krnl386: Fix some calling convention mismatches.
krnl386: Get rid of DOS UMB support.
krnl386: Get rid of DOS EMS support.
krnl386: Get rid of DOS floppy disk support.
krnl386: Get rid of DOS Soundblaster support.
krnl386: Get rid of DOS DMA support.
ntdll: Use the NLS case mapping table for RtlHashUnicodeString().
user.exe: Clear out the thunk array to catch invalid winprocs.
krnl386: Get rid of DOS direct I/O support.
krnl386: Get rid of DOS SCSI ioctl support.
krnl386: Return a handle to the vxd file itself instead of creating a dummy file.
krnl386: Get rid of DOS parallel port I/O support.
ntdll: Update some string functions prototypes to match msvcrt.
ntdll: Use wcsicmp() instead of strcmpiW() where possible.
ntdll: Use wcsnicmp() instead of strncmpiW() where possible.
ntdll: Use RtlEqualUnicodeString() instead of strcmpiW().
ntdll: Use RtlCompareUnicodeStrings() instead of strncmpiW().
ntdll: Use the ascii_to_unicode() helper to compare relay module names.
ntdll: Use wcsupr() instead of toupperW().
ntdll: Use wcslwr() instead of tolowerW().
Alistair Leslie-Hughes (9):
dmime: IDirectMusicGraph GetTool isn't a stub.
dmime: Free more interfaces in IDirectMusicPerformance FreePMsg.
include: Add msdasql.h.
oledb32/tests: Add ODBC provider tests.
oledb32/tests: Add MSDASQL Enumerator tests.
dmime: IDirectMusicPerformance8 GetGraph return DMUS_E_NOT_FOUND if graph not set.
xaudio2_7: Trace FAudio version being used.
dmime: Store flags when parsing track data.
dmime: Reimplement IDirectMusicAudioPath Activate.
Andrey Gusev (1):
d3dx11: Add D3DX11GetImageInfoFromFileA/W stub.
Anton Baskanov (4):
amstream: Implement adding existing streams in AMMultiMediaStream::AddMediaStream.
amstream: Implement MediaStreamFilter::GetState.
amstream/tests: Refactor test stream to allow multiple instances.
amstream: Implement MediaStreamFilter::Stop, ::Pause, and ::Run.
Bernhard Übelacker (1):
ws2_32: Add stub implementation for WSCGetProviderInfo.
Biswapriyo Nath (2):
include/dxva: Add HEVC and VP8/VP9 structures.
include/wincodec.idl: Add missing GUIDs.
Brendan Shanks (4):
vulkan-1: Set FILEVERSION to fix official Vulkan loader installer.
dinput: Fix crash in dump_DIEFFECT() when rglDirection is unexpectedly NULL.
dinput/tests: Test IDirectInputEffect::SetParameters() with NULL effect parameters.
dinput: Fix IDirectInputEffect::SetParameters() behavior with NULL effect parameters.
Connor McAdams (9):
d2d1: Make sure arc fill vertex buffer has correct BindFlag.
d3d10: Implement matrix effect variable set methods.
d3d10: Implement matrix effect variable get methods.
d3d10: Add tests for matrix effect variable.
d3d10: Get resources used by effect shaders.
d3d10: Add impl_from_ID3D10EffectShaderVariable.
d3d10: Apply shader resources for shaders used in pass.
d3d10: Implement ShaderResource effect variable set method.
d3d10/tests: Add ID3D10EffectShaderResourceVariable tests.
Damjan Jovanovic (4):
shell32/tests: Tmpdir shouldn't end with a backslash.
shell32/tests: Test shlexec argv[0], and same-named executables in a different directory.
shell32: Simplify SHELL_execute().
shell32: Pass the executable's full path from SHELL_execute() to CreateProcess().
Derek Lesho (4):
mfreadwrite: Configure stream decoder on SetCurrentMediaType() if necessary.
winegstreamer: Make callback parameter names more generic.
winegstreamer: Move broad callback handling code to gst_cbs.
mfreadwrite: Pass source samples through decoder as they arrive.
Dmitry Timoshkov (32):
wldap32/tests: Add ldap_bind_s test.
adsldp: If secure open object fails fallback to simple bind.
adsldp: Bind to an LDAP server after connection.
activeds: ADsOpenObject should return E_FAIL by default.
activeds: Implement ADsGetObject.
msxml3: Add support for windows-125x encodings to IMXWriter::put_encoding().
wldap32: Add support for ldap_bind_s(LDAP_AUTH_NEGOTIATE).
wldap32: Handle NULL return in ldap_get_values_lenW.
adsldp: Add support for IADsOpenDSObject::OpenDSObject(ADS_SECURE_AUTHENTICATION).
activeds: Implement ADsBuildVarArrayStr.
adsldp: Implement IADs::GetInfo().
adsldp: Implement IADs::GetInfoEx().
adsldp: Implement IADs::Get().
adsldp: Add support for multi-valued attributes to IADs::Get().
adsldp: Turn FIXME into a TRACE for IADsOpenDSObject::OpenDSObject().
adsldp: Forward IADsOpenDSObject::AddRef/Release to base object.
adsldp: Add IDirectorySearch stubs.
adsldp: Add support for ADS_SEARCHPREF_SEARCH_SCOPE to IDirectorySearch::SetSearchPreference().
adsldp: Implement IDirectorySearch::ExecuteSearch().
adsldp: Implement IDirectorySearch::CloseSearchHandle().
adsldp: Implement IDirectorySearch::GetFirstRow().
adsldp: Implement IDirectorySearch::GetNextRow().
adsldp: Fix a memory leak.
adsldp: Add a trace.
adsldp: Improve IDirectorySearch::GetNextRow() end of entries detection logic.
adsldp: Implement IDirectorySearch::GetNextColumnName().
adsldp: Add special column "ADsPath" at the end of the entry.
adsldp: Implement IDirectorySearch::GetColumn().
adsldp: Add support for special column name "ADsPath" to IDirectorySearch::GetColumn().
adsldp/tests: Add some tests for IDirectorySearch.
adsldp: Add more traces.
adsldp: Add initial version of attribute schema parser.
François Gouget (18):
configure: Add an option to enable -Werror.
kernel32/tests: Clean up the argv[0] tests and improve coverage.
gameux/tests: Avoid an ever changing value in a gamestatistics failure message.
shell32/tests: Fix some wording issues in shlexec comments.
tests: Report all errors when failing to wait for a child process.
shell32/tests: Don't use randomized paths in the shlexec test.
tests: Fix the wait_child_process_() macro in the no-line-number case.
kernel32/test: Fix the semaphore handling in test_WaitForJobObject().
iphlpapi/tests: Fix a spelling error in an ok() message.
qasf/tests: Fix a couple of spelling errors in ok() messages.
kernel32/tests: Fix a race condition in test_QueryInformationJobObject().
kernel32/tests: Remove an unneeded sprintf() in the process tests.
advapi32/tests: On Windows 7 GetServiceKeyName() fails for all localized display names.
advapi32/tests: The Everyone group name is sometimes translated.
kernel32/tests: Add a couple of process helper functions.
kernel32/tests: Fix the grammar and formatting of a process comment.
mscoree: Handle the shared wine-mono installation like the msi case.
shell32/tests: Fix the temporary directory creation in shlexec.
Gabriel Ivăncescu (19):
quartz: Clear the WS_CHILD style instead of unparenting the window.
jscript: Get rid of the variable_obj parameter to exec_source.
jscript: Use the proper variable_obj for bytecodes with named items.
jscript: Lookup and ref the named item's dispatch first, during interpretion.
jscript: Create separate script dispatches for each named item.
include/winnt: Add more ACTCTX_COMPATIBILITY_ELEMENT_TYPE definitions and fix typo.
ntdll: Store the default process activation context into the PEB.
kernelbase: Implement compatibility mode for GetVersionEx.
kernelbase: Implement compatibility mode for GetVersion.
kernel32: Implement compatibility mode for VerifyVersionInfo.
vbscript: Retrieve the vbscode context from the named item directly.
vbscript: Retrieve the item's dispatch in a helper function.
vbscript: Implement persistent named items.
vbscript/tests: Add tests for persistent named items.
jscript: Retrieve the item's dispatch in a helper function.
jscript: Implement persistent named items.
jscript/tests: Add tests for persistent named items.
vbscript: Lookup the identifier in the named item's disp after its script dispatch.
jscript/tests: Add more persistent named items tests.
Gijs Vermeulen (3):
cmd: Use wide character string literals in batch.c.
cmd: Use wide character string literals in directory.c.
kernelbase: Set req->mask in SetConsoleScreenBufferInfoEx.
Hans Leidekker (10):
webservices: Use wide character string literals.
webservices/tests: Use wide character string literals.
webservices: Handle WS_XML_TEXT_TYPE_INT32 in text_to_uint64.
webservices: Add support for WS_FIELD_NILLABLE_ITEM.
webservices: Implement WS_ANY_ATTRIBUTES_FIELD_MAPPING for the writer.
webservices: Implement WS_TYPE_ATTRIBUTE_FIELD_MAPPING for the writer.
webservices: Read past XML declaration and opening bracket in WsReadStartElement.
webservices: Accept empty namespace in attribute type mapping.
webservices: Implement WS_TYPE_ATTRIBUTE_FIELD_MAPPING for the reader.
webservices: Support WS_CHARSET_UTF16LE for buffer input.
Jacek Caban (70):
dbghelp: Use generic image_find_section in elf_check_alternate.
dbghelp: Move alternate file map pointer to generic image_file_map.
dbghelp: Use vtbl to handle different image_file_map types.
dbghelp: Introduce generic image_unmap_file.
dbghelp: Move HANDLE-based crc32 helper to dbghelp.c.
dbghelp: Support Windows paths in elf_locate_debug_link.
dbghelp: Pass module struct to elf_locate_debug_link.
ucrtbase/tests: Build with -fno-builtin.
ucrtbase/tests: Use more functions directly.
ucrtbase/tests: Fix clock tests.
corecrt_startup.h: Add onexit table declarations.
ucrtbase/tests: Use public onexit table declarations.
msvcrt: Use public onexit table declarations in importlib.
ucrtbase/tests: Link to _o_* functions directly.
mshtml/tests: Remove file protocol tests from htmllocation.c.
dbghelp: Check checksum before mapping elf file.
dbghelp: Use elf_check_debug_link in elf_locate_build_id_target.
dbghelp: Move get_dos_file_name to path.c.
dbghelp: Move elf_check_alternate implementation to module.c.
dbghelp: Support GNU debug link and build id in PE files.
dbghelp: Support PE debug link files.
dbghelp: Lookup real image paths in image_locate_debug_link.
ctype.h: Add _to[w]lower_l and _to[w]upper_l declarations.
string.h: Add __strncnt declaration.
memory.h: Add _memicmp_l declaration.
ucrtbase/tests: Use ucrtbase functions directly in string.c.
include: Add fenv.h header.
corecrt_startup.h: Add more declarations.
ctype.h: Add more declarations.
float.h: Add __fpe_flt_rounds declaration.
io.h: Add _sopen_dispatch and _sopen_s declarations.
locale.h: Add _Strftime declaration.
process.h: Add quick_exit declaration.
stdlib.h: Add _get_thread_local_invalid_parameter_handler and _set_thread_local_invalid_parameter_handler declarations.
ucrtbase/tests: Use more ucrtbase functions directly in misc.c.
dbghelp: Use Windows API to map macho files.
jscript: Simplify Object.prototype.toString implementation.
wininet: Use _ltow instead of sprintf for port number in InternetCreateUrl.
mscoree: Use wcstok_s instead of wcstok.
makefiles: Explicitly import msvcrt in modules that need specific crt version.
makedep: Build builtin DLLs with ucrtbase.
dbghelp: Call GetSystemInfo in DllMain.
dbghelp: Use page size from sysinfo.
dbghelp: Rename helpers to make unicode variants default.
dbghelp: Use file_name helper in more places.
dbghelp: Make dll builtin PE path search helper more generic.
dbghelp: Use search_dll_path in elf_search_and_load_file.
dbghelp: Introduce search_unix_path helper and use it in elf_search_and_load_file.
dbghelp: Use search_unix_path to load seach macho files.
dbghelp: Use search_dll_path to load seach macho files.
dbghelp: Store process struct pointer in dump context.
dbghelp: Pass process struct to elf_enum_modules and macho_enum_modules.
dbghelp: Move loader search functions to the end of module files.
dbghelp: Introduce loader_ops to abstract platform-specific loader and use it to synchronize module list.
dbghelp: Don't use elf_fetch_file_info and macho_fetch_file_info in module_find_cb.
dbghelp: Use loader_ops for fetch_file_info.
dbghelp: Pass process struct to image_uses_split_segs.
ntdll: Support device paths in LdrGetDllPath.
dbghelp: Use loader_ops for enum_modules.
dbghelp: Use loader_ops for load_module.
dbghelp: Use loader_ops for load_debug_info.
dbghelp: Explicitly pass file type to path_find_symbol_file.
dbghelp: Use PE type for virtual modules.
dbghelp: Move reading debug base address from PEB to check_live_target.
dbghelp: Remove unused code in module_find_cb.
dbghelp: Use LONG_PTR instead of long type.
rpcrt4: Fix use after free in get_iface_info.
oleaut32: Fix handling dual interfaces in ITypeInfo::GetRefTypeInfo.
jscript: Lookup the identifier in the named item's disp before the global context.
jscript: Clear SCRIPTITEM_CODEONLY flag on script re-initialization.
Jeff Smith (6):
mshtml/tests: Add tests showing how toString has changed in IE9+.
jscript: Set return object's class to 'object' in Object.create.
jscript: Fix typo in Object_toString fixme message.
jscript: Use wide-string literals in-place for object.
gdiplus/tests: Add tests for multi-figure lines to test_widen_cap.
gdiplus: Caps are added at the end of a path.
Jefferson Carpenter (1):
kernelbase: Zero out retkey in the ERROR_INVALID_HANDLE case in RegOpenKeyExW.
Liam Middlebrook (5):
winevulkan: Generate typedefs for aliased enums.
winevulkan: Add alias field to VkEnumValue.
winevulkan: Generate alias enum values.
winevulkan: Update to VK spec version spec 1.2.134.
winevulkan: Generate typedefs for aliased structs.
Lukáš Horáček (1):
wined3d: Add GTX 1660 SUPER as a card.
Matteo Bruni (16):
wined3d: Get rid of the vertex sampler offset.
wined3d: Optimize scanning for changed state in wined3d_stateblock_capture().
wined3d: Optimize scanning for changed state in wined3d_stateblock_apply().
ddraw: Store primary stateblock state pointer in the device.
d3d9: Fix RTV refcounting in d3d9_texture_cube_AddRef().
wined3d: Don't pass the whole context to needs_srgb_write().
d3dx9: Use an assert() to validate access to const_tbl[].
wined3d: Make rasterizer state cleanup more consistent with samplers cleanup.
wined3d: Get rid of MAX_RENDER_TARGET_VIEWS.
wined3d: Align CS packet size to the header size.
wined3d: Store the framebuffer inline in struct wined3d_state.
wined3d: Make blend state cleanup more consistent with samplers cleanup.
wined3d: Fix ARB_TEXTURE_STORAGE_MULTISAMPLE core_extension[] entry.
wined3d: Skip loading current index buffer if the draw is not indexed.
wined3d: Only invalidate STATE_INDEXBUFFER if the buffer being destroyed is bound as index buffer.
d3d10/tests: Improve compare_matrix() ok() messages.
Myah Caron (1):
api-ms-win-core-registry-l2-2-0: Add dll.
Nikolay Sivov (46):
mfplat: Implement MFCreateMediaBufferFromMediaType() for audio types.
mfplat: Add some more YUV formats data.
mfplat: Use underlying work queue API.
mfplat: Forward MFCreateAsyncResult() to rtworkq.dll.
mfplat: Implement locking methods for 2D memory buffers.
mf: Remove FIXME for zero buffer size, it's used as is.
mfplat: Implement ConvertToContiguousBuffer() for multiple buffers.
mfplat: Fix optional buffer argument handling in ConvertToContiguousBuffer().
mfplat: Fix buffer alignment calculation.
mf: Copy sample data to copier transform output.
mf: Forward sink invalidation events to application.
mfplat: Get rid of unsupported interface trace for 1D buffers.
mfplat: Improve 2D buffer sizes estimation.
mfplat/tests: Increase wait timeout to help with intermittent test failures.
mfplat: Add a helper to trace video format name.
mf: Forward more Audio Session events from the session.
mf: Set presentation clock for all node types.
comctl32/imagelist: Implement IImageList::GetItemFlags().
comctl32/imagelist: Update todo list.
mfplat: Fix scanline pointer returned with Lock2D().
mfplat: Fix bpp for RGB24 format.
mfplat: Fix scanline for bottom-up case.
mfplat: Fix packed byte width calculation for 2D buffer.
mfplat: Zero-initialize buffer memory.
include: Add some missing symbols to mftransform.idl.
ole32: Add support for reading VT_CLSID properties.
comctl32/tests: Remove excessive error handling logic.
mfplat: Add more format-specific attributes guids.
include: Added IMFSeekInfo definition.
mfreadwrite: Make pending response reader structure more generic.
mfreadwrite: Handle MEStreamTick event in source reader.
mfreadwrite: Request one sample at a time from the stream.
mfreadwrite: Implement async reader mode.
mfreadwrite: Implement reader flushing.
mfreadwrite: Autodetect ftyp(isom) as .mp4.
mfplat: Add a helper to trace timestamp arguments.
mfplat: Remove trace from MFGetSystemTime().
mf: Add a helper to trace timestamp arguments.
mf: Fix string array access for registration data helpers.
mf: Clean traces format for topology methods.
mf: Fix a typo when setting event attribute.
mfplat: Add more event types to trace.
mfreadwrite: Forward some source events to async reader callback.
mfreadwrite: Move Sink Writer stubs to separate file.
mfplat: Add remaining media type attributes guids.
mf: Fix returned session rates when pipeline objects don't support rate control.
Paul Gofman (20):
d3d9/tests: Add tests for allowed StrecthRect() filters.
wined3d: Validate the filter in wined3d_texture_blt().
ucrtbase: Add test for _strnicmp() count parameter.
d3dx9: Validate state operation in d3dx_parse_state().
d3d11: Use stricmp() instead of _strnicmp(..., -1).
ddraw: Factor out ddraw_surface_is_lost() function.
ddraw: Factor out ddraw_surface_lock_ddsd() function.
ddraw: Deny locking lost surfaces.
ddraw/tests: Test locking lost surface for ddraw4.
ddraw/tests: Test locking lost surface for ddraw2.
ddraw/tests: Test locking lost surface for ddraw1.
hhctrl.ocx: Use stricmp() instead of _strnicmp(..., -1).
inetcomm: Use stricmp() instead of _strnicmp(..., -1).
wineps.drv: Use stricmp() instead of _strnicmp(..., -1).
winhttp: Use stricmp() instead of _strnicmp(..., -1).
wininet: Use stricmp() instead of _strnicmp(..., -1).
mshtml: Use stricmp() instead of _strnicmp(..., -1).
d3dcompiler: Use stricmp() instead of _strnicmp(..., -1).
d3dx9: Use stricmp() instead of _strnicmp(..., -1).
d3dxof: Use stricmp() instead of _strnicmp(..., -1).
Piotr Caban (4):
msvcp140: Remove custom standard streams definition.
msvcp140: Don't load __processing_throw dynamically.
ucrtbase/tests: Set invalid_parameter_handler once.
msvcp90: Add std:_XLgamma implementation.
Rémi Bernon (7):
tools: Only update protocol version if something changed.
user32/tests: Add new test to validate WM_CANCELMODE message.
winex11.drv: Remove frame when non-client area is empty.
winemac.drv: Remove frame when non-client area is empty.
kernel32/tests: Add tests for ContinueDebugEvent with DBG_REPLY_LATER.
winegstreamer: Check the callback list before waiting.
server: Implement DBG_REPLY_LATER handling.
Serge Gautherie (16):
rpcrt4/tests: Remove now useless forced 0x0500 API versions.
shell32/tests: Remove now useless forced 0x0501 API versions.
include: Remove comment about now old NTDDI_VERSION.
psapi/tests: NtQueryVirtualMemory() 3rd parameter is MEMORY_INFORMATION_CLASS, not ULONG.
advapi32: CryptReleaseContext() dwFlags parameter is DWORD, not ULONG_PTR.
advapi32: Use standard refcount in CRYPTPROV.
advapi32: Fix CryptReleaseContext() last error on NULL provider.
advapi32/tests: Check all CryptReleaseContext() calls.
advapi32/tests: Add more cases for CryptReleaseContext().
ntdll/tests: Remove now useless forced 0x500 API versions.
advapi32: Fix 3 comments about pdwReserved and dwFlags.
include: Remove now useless forced WINVER defines.
include: Remove now useless forced _WIN32_IE defines.
tests: Remove now useless forced _WIN32_WINNT defines.
kernelbase: Handle RegGetValue() RRF_SUBKEY_WOW64??KEY flags.
advapi32/tests: Check RegGetValueA() RRF_SUBKEY_WOW64??KEY validation.
Stefan Dösinger (2):
ddraw/tests: Re-init for every test_surface_discard iteration.
ddraw/tests: Don't print uninitialized l in test_compressed_surface_stretch.
Sven Baars (2):
d3dx9: Add two more DT_SINGLELINE tests.
d3dx9: Remove a recursive call to ID3DXFont_DrawTextW when no rect is specified.
Vijay Kiran Kamuju (5):
include: Add missing DPACCOUNTDESC to dplay.h.
wmvcore: Add semi-stub implementation for WMIsContentProtected.
include: Add missing effect related defines and enums in dsound.h.
include: Add missing GUIDs in dsound.h.
include: Add some missing defines to xinput.h.
Vincent Povirk (2):
gdiplus/tests: Don't test font face of DEFAULT_GUI_FONT.
gdiplus/tests: Don't test the exact substitution of MS Shell Dlg.
Zebediah Figura (71):
wined3d: Fix an accidental replacement of STATE_RENDER(WINED3D_RS_SRGBWRITEENABLE).
wined3d: Check the writemask for the correct render target in draw_primitive().
wined3d: Map ARB_draw_buffers_blend functions.
wined3d: Feature level 10.0 does not require independent blend functions.
ntoskrnl.exe: Implement IoOpenDeviceRegistryKey().
wineqtdecoder: Fix compilation.
winegstreamer: Allocate media type format blocks with CoTaskMemAlloc().
winegstreamer: Use accessor macros for GstVideoInfo fields.
winegstreamer: Use amt_from_gst_video_info() in gstdecoder_source_get_media_type().
winegstreamer: Use the image size provided by GStreamer.
winegstreamer: Also use GST_QOS_TYPE_OVERFLOW for samples that arrive on time.
winegstreamer: Clamp both timestamp and timestamp + diff to 0.
winebus.sys: Use public HID_USAGE_* constants.
wined3d: Implement dual source blending.
d3d10core/tests: Add a test for dual source blending.
d3d11/tests: Add a test for dual source blending.
hidclass.sys: Don't reset the report count when recording a main item.
rpcrt4: Handle bare interfaces as top-level parameters.
rpcrt4: Handle bare coclasses as top-level parameters.
kernel32/tests: Add some tests for mounted folders.
kernel32/tests: Remove a test for Unix-style paths.
d3dcompiler: Rename HLSL_MODIFIER_{IN, OUT} to HLSL_STORAGE_{IN, OUT}.
d3dcompiler: Move modifer processing up out of the struct_spec rules.
d3dcompiler: Rename HLSL_MODIFIERS_COMPARISON_MASK to HLSL_MODIFIERS_MAJORITY_MASK and use it in more places.
d3dcompiler/tests: Add more tests for swizzles.
d3dcompiler: Ensure that the lhs of an assignment is reducible to a variable.
quartz/vmr9: Zero-initialize the VMR9PresentationInfo struct.
quartz/vmr9: Determine the D3D format and flags from the subtype.
quartz/vmr9: Request only one surface.
quartz/vmr9: Cache surfaces on connection.
quartz/tests: Add some tests for renderless mode.
quartz/vmr9: Create textures with D3DUSAGE_DYNAMIC.
qasf/tests: Fix a test failure with Windows 2003.
quartz/tests: Fix test failures when we can't create a 3D device.
quartz/tests: Disable some tests that fail intermittently.
include: Fix the definition of USBD_STATUS_CANCELED.
ntdll: Fix the overflow check in read_changes_apc().
kernel32/tests: Fix some test failures when run from a mounted folder.
server: Store the real Unix path.
ntdll: Consider mount points to be reparse points in get_file_info().
ntdll: Report Unix mount points as Win32 mount points in NtQueryInformationFile().
kernel32: Reimplement GetVolumePathName() using NtQueryInformationFile(FileAttributeTagInformation).
d2d1/tests: Adjust a color to prevent test failures.
d3d11/tests: Relax some color comparisons.
d3d10core/tests: Relax some color comparisons.
make_makefiles: Allow running from a separate worktree.
d3dcompiler: Fix the location for a warning.
d3dcompiler: Get rid of the "dxversion" argument to create_writer().
d3dcompiler: Get rid of the "dxversion" argument to SlWriteBytecode().
d3dcompiler: Store the shader version using separate integer fields.
quartz/tests: Add a test for autoplugging from UYVY.
quartz/tests: Add some tests for AVI decoder pin connection.
quartz/avidec: Correctly implement avi_decompressor_source_get_media_type().
quartz/avidec: Correctly implement avi_decompressor_source_query_accept().
quartz/avidec: Don't determine the source format from the sink format.
d3dcompiler: Store a pointer to the bwriter_shader structure inside the bc_writer structure.
include: Rename the FileSystemAttribute field of FILE_FS_ATTRIBUTE_INFORMATION to FileSystemAttributes.
mountmgr: Fill the mountmgr_unix_drive structure even if the buffer is too small to hold the dynamic strings.
mountmgr: Return STATUS_BUFFER_OVERFLOW from query_unix_drive() if the buffer is too small.
winegstreamer: Also clear the pixel-aspect-ratio field in amt_to_gst_caps_video().
strmbase: Support FORMAT_VideoInfo2 in strmbase_dump_media_type().
strmbase: Strip trailing zeroes in debugstr_time().
mf: Strip trailing zeroes in debugstr_time().
mfplat: Strip trailing zeroes in debugstr_time().
quartz: Strip trailing zeroes in debugstr_time().
winegstreamer: Flip only RGB video.
winegstreamer: Set the bit depth for UYVY video.
d3dcompiler: Get rid of the init_*_dx9_writer() helpers.
d3dcompiler: Get rid of the "len" parameter to write_declarations().
d3dcompiler: Introduce an array_reserve() helper.
d3dcompiler: Move some declarations to bytecodewriter.c.
Zhiyi Zhang (18):
wined3d: Pass a struct wined3d_adapter pointer to wined3d_get_device_caps().
d3d8: Report d3d8 adapter ordinal in device caps.
d3d8/tests: Support creating a device with the specified adapter.
d3d9/tests: Support creating a device with the specified adapter.
d3d8/tests: Test device caps on multiple adapters.
d3d9/tests: Test device caps on multiple adapters.
d3d8/tests: Fix a test failure with Win10 WARP.
d3d9/tests: Fix a test failure with Win10 WARP.
wined3d: Refactor wined3d_get_output_desc() to wined3d_output_get_desc().
wined3d: Add an ordinal to struct wined3d_output.
d3d9: Report d3d9 adapter group information in device caps.
d3d8: Report d3d8 adapter ordinal in d3d8_device_GetCreationParameters().
d3d9: Report d3d9 adapter ordinal in d3d9_device_GetCreationParameters().
d3d8/tests: Test detaching adapters.
d3d9/tests: Test detaching adapters.
dxgi/tests: Test detaching outputs.
wined3d: Support non-primary outputs in wined3d_output_get_desc().
wined3d: Remove device_name and device_name_size from struct wined3d_adapter_identifier.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.4 is now available.
What's new in this release (see below for details):
- Unicode data updated to Unicode version 13.
- Builtin programs use the new UCRTBase C runtime.
- More correct support for Internationalized Domain Names.
- Support for painting rounded rectangles in Direct2D.
- Text drawing in D3DX9.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.4.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.4.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.4 (total 34):
14949 ABBYY FineReader Pro 7.0 Scrolling Problem
18013 Foxit Reader 3.0: Sidebar Search Window not accessible/useable.
24013 Assassin's Creed (DX10) crashes (ID3D10ShaderReflection::GetConstantBufferByIndex is a stub)
24754 Multiple games have no text rendered due to ID3DXFont::DrawTextA/W method stubs (Nancy Drew 'Tale of the Twister', Europa Universalis Rome)
28141 Delphi Twain examples don't work
29330 8BallClub can't enter login details
35077 PSPad 4.5.7 crashes on startup
39816 BioShock 2 needs d3d10_shader_reflection_GetInputParameterDesc()
40334 Multiple games and applications crash on unimplemented function ntdll.dll.RtlGetNativeSystemInformation (AION, AVG Free Edition 2012-2014, TuneUp Utilities 2014)
40606 Unknown application needs dnsapi.dll.DnsGetCacheDataTable
42585 Final Fantasy V Corrupt Fonts
43533 Keepass 2.36 crashes on startup with Wine-Mono
43620 NieR: Automata (Steam) crashes on startup
43660 Divinity Original Sin 2 preview crash
43696 SanctuaryRPG: Black Edition hangs on exit
44253 Far Manager v3.0 crashes when using quick view mode (needs SHCreateAssociationRegistration stub)
47288 Gaea 1.0.19 (.NET 4.7 WPF app) diagnostic tool 'Watson.exe' crashes due to 'kernel32.SetConsoleScreenBufferInfoEx' stub
47626 Microsoft Visual Studio 2019 web-installer fails due to missing MS root CA 2010 and rstrtmgr stubs
48315 RPG Tkool (RPG Maker) 2k/2k3/XP/VX/VX Ace: MP3 playback doesn't loop
48481 Settings for Templates and Downloads locations aren't exposed in winecfg
48570 Multiple games (Fable: The Lost Chapters, Oddworld - Munch odissey) does not play WMV cutscenes
48580 Discord connecting to voice needs unimplemented function qwave.dll.QOSAddSocketToFlow
48635 Asuka 120% Return BURNING Fest: Crashes after character selection.
48639 Shrew Soft VPN client needs setupapi.dll.SetupDiGetSelectedDriverA()
48664 kernel32:process - Intermittent test_Toolhelp() failure
48689 Wine 5.3 on Mac OS X 10.13.6 High Sierra: Segmentation fault
48694 The Bat! (64bit) crashes right after start
48697 New msvcrt inlines fail to compile on armv7hl due to non-AAPCS variadic function calls
48705 Dynacadd 98 crash
48706 Wineconsole freezes when restoring from minimized to maximized window
48719 wow bat launcher doesn't work
48723 Torchlight - Loading times are excessively long
48735 Wine builtin services.exe process_send_command: OVERLAPPED struct for control pipe has uninitialized Offset and OffsetHigh fields
48742 ntdll: get_modref: Conditional jump or move depends on uninitialised value(s)
----------------------------------------------------------------
Changes since 5.3:
Aaro Altonen (3):
kernel32/tests: Add tests for SetConsoleScreenBufferInfoEx().
kernelbase: Implement SetConsoleScreenBufferInfoEx().
urlmon: Add URLOpenPullStreamW() stub.
Akihiro Sagawa (2):
dsound/tests: Add a test whether the buffer is a valid global memory.
dsound: Make GlobalHandle() for the sound buffer failed.
Alexandre Julliard (35):
ntdll: Delay NFC table loading on macOS.
ntdll: Reimplement IdnToNameprepUnicode() using the NLS normalization table.
ntdll: Reimplement IdnToAscii() using the normalization table and the ntdll helpers.
ntdll: Reimplement IdnToUnicode() using the normalization table and the ntdll helpers.
kernel32: Remove the nameprep tables.
kernel32: Move Idn functions to kernelbase.
dxerr8: Use wide character string literals.
dxerr9: Use wide character string literals.
kernelbase: Use wide character string literals in debug.c.
kernelbase: Use wide character string literals in file.c.
kernelbase: Use wide character string literals in path.c.
kernelbase: Use wide character string literals in registry.c.
kernelbase: Use wide character string literals in the remaining files.
gdi.exe: Use 32-bit printer functions for print jobs.
gdi.exe: Build with msvcrt.
winaspi: Get rid of DOS mode.
winaspi: Reimplement on top of wnaspi32.
winaspi: Get rid of header files.
winaspi: Build with msvcrt.
kernelbase: Don't use towlower() on the full Unicode character range.
kernelbase: Don't use wcsicmp/wcsnicmp() on the full Unicode character range.
kernelbase: Don't allow the full Unicode character range in StrToInt* functions.
kernelbase: Don't allow the full Unicode character range in path functions.
msvcrt/tests: Add tests for Unicode spaces in wcstol().
ntdll/tests: Remove some workarounds for older Windows versions.
ntdll: Use the NLS case mapping table for towlower/towupper.
ntdll: Don't handle the full Unicode character range in wcslwr/wcsupr.
ntdll: Don't handle the full Unicode character range in wcsicmp/wcsnicmp.
ntdll: Don't handle the full Unicode character range in isw* functions.
ntdll: Reimplement wcstol/wcstoul using the msvcrt code.
ntdll: Reimplement remaining string functions to avoid depending on wine/unicode.h.
ntdll: Fix heap validation when large heap blocks are present.
unicode: Fix parsing of Indic data files.
unicode: Read data files from inside the zip without extracting them.
unicode: Update data tables to Unicode 13.0.
Alistair Leslie-Hughes (6):
oledb32: Initialize all DBGUID values.
oledb32: Initialize data provider when switching tabs.
qwave: Add QOSAddSocketToFlow stub.
xaudio2_7: Correct reference count on newly created XAudio2 object.
xaudio2_7: Correct reference count on newly created IXAPO object.
wineqtdecoder: Don't define CLSID_QTSplitter twice.
Andrew Eikum (1):
xaudio2/tests: Add some refcount tests.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (1):
whoami: Add semi-stub application to display username.
Connor McAdams (6):
d3d10: Implement scalar effect variable set methods.
d3d10: Implement scalar effect variable get methods.
d3d10: Implement vector effect variable set methods.
d3d10: Implement vector effect variable get methods.
d3d10: Add tests for scalar effect variables.
d3d10: Add tests for vector effect variables.
Damjan Jovanovic (1):
gdiplus: In CompositingModeSourceCopy, fully transparent pixels are drawn black.
Dmitry Timoshkov (13):
include/sal.h: Add _Ret_writes_z_ for Visual Studio 14.0.
kernel32/tests: Fix locale.c compilation with Visual Studio 14.0.
kernel32/tests: Fix initialization of parameters in Get[*]PreferredUILanguages tests.
kernel32/tests: Add more tests for Get[*]PreferredUILanguages APIs.
kernel32: Get[*]PreferredUILanguages should return buffer size when setting ERROR_INSUFFICIENT_BUFFER.
msi: Add support for ListView dialog control.
dnsapi/tests: Add some DnsQuery tests.
dnsapi/tests: Also test the "_ldap._tcp.deadbeef" query.
wbemdisp: Use pointer moniker instead of custom moniker implementation.
adsldp: Add IParseDisplayName stub interface.
netapi32: Implement DsGetDcNameW.
adsldp: Implement IADsOpenDSObject::OpenDSObject.
adsldp: Implement IParseDisplayName::ParseDisplayName.
François Gouget (4):
kernel32/tests: Fix test_Toolhelp()'s nested process lookup.
dsound: Move make_fir to the dsound directory.
kernel32/tests: Fix a race condition in test_WaitForJobObject().
kernel32/tests: Remove a 100 ms sleep in 'process exit' children.
Gabriel Ivăncescu (10):
jscript: Use struct list for named items.
jscript/tests: Add tests for named items.
jscript: Use NULL in frame->this_obj for the global code object.
jscript: Lookup host global object on demand instead of storing it in script context.
jscript: Lookup the named item and keep a ref to it from the associated bytecode.
jscript: Add stub implementation of separate script dispatches for named items.
jscript: Retrieve the proper script dispatch from the named item in GetScriptDispatch.
jscript/tests: Add test for function constructor in named item context.
jscript: Don't lookup global members for bytecodes with a named item.
jscript: Retrieve the proper 'this' object for bytecodes with named items.
Giovanni Mascellani (2):
d2d1: Implement ellipse and rounded rectangle filling with arcs.
d2d1: Implement ellipse and rounded rectangle stroking with arcs.
Hans Leidekker (1):
configure: Get rid of an unused powl check.
Henri Verbeet (2):
d3d8: Avoid checking the stage index in d3d8_device_GetTextureStageState() (Coverity).
d3d9: Avoid a dead assignment in d3d9_device_SetStreamSource() (Coverity).
Jacek Caban (27):
ucrtbase: Add exe entry points implementation.
msvcrt: Silence wide environment initialization debug messages.
makedep: Build builtin programs with ucrt.
winetest: Build with msvcrt.
winegcc: Lookup PATH in find_binary and don't try to run binaries that can't be found.
winegcc: Return build_tool_name result as strarray.
winegcc: Pass tool by id to build_tool_name.
winegcc: Add support for using clang directly.
stdio.h: Fix calling convention of variadic inline functions.
msvcrt/tests: Use __[w]getmainargs declarations from headers.
msvcrt20: Use __[w]getmainargs declarations from headers.
winebuild: Also try llvm variants of tools in find_tool.
winebuild: Add an option to build a static library.
makedep: Use winebuild to build cross compiled static libraries.
configure: Try using explicit target option for cross compiling.
ntdll: Use module path as assembly path for manifests embedded in resources.
kernelbase/tests: Add test of assembly path of manifest embedded in exe module.
include: Add corecrt_wprocess.h header.
include: Add corecrt_wdirect.h header.
dbghelp: Try loading builtin modules from unix installation.
dbghelp: Search also real path location in path_find_symbol_file.
dbghelp: Use Windows API to map ELF files.
ucrtbase/tests: Link to ucrtbase.
ucrtbase/tests: Use public _CRT_INTERNAL_PRINTF_* defines.
ucrtbase/tests: Directly use __stdio_common_* functions.
ucrtbase/tests: Directly use ucrtbase functions in printf.c.
ucrtbase/tests: Directly use ucrtbase functions in scanf.c.
Jeff Smith (4):
gdiplus/tests: Use much smaller fudge factor in test_widen_cap.
gdiplus/tests: Add thin-line test to test_widen_cap.
gdiplus: Caps do not shrink for line width < 2.0.
msvcrt: Stop forwarding iswctype functions to ntdll.
Jefferson Carpenter (2):
services: Initialize OVERLAPPED Offset and OffsetHigh.
user32: Always initialize module in load_desktop_driver.
Ken Thomases (1):
winemac: Only call -[NSOpenGLContext update] from the main thread.
Matteo Bruni (8):
wined3d: Introduce a stateblock flag for lights.
wined3d: Introduce a global stateblock flag for transforms.
wined3d: Optimize setting shader constants in wined3d_stateblock_apply().
wined3d: Optimize setting shader constants in wined3d_stateblock_capture().
d3d9: Store primary stateblock state pointer in the device.
d3d9: Retrieve state from the stateblock in d3d9_stateblock_Apply().
d3d8: Store primary stateblock state pointer in the device.
d3d8: Range-check GetPixelShaderConstant() indices to the d3d8 limit.
Michael Müller (1):
server: Hold a reference to the file in delete_file().
Nikolay Sivov (49):
mf: Implement GetFullTopology().
mf: Add a helper to check for session shutdown state.
mf: Fix GetClock() for shutdown state.
include: Add IMFFinalizableMediaSink definition.
mfplat: Use underlying work queue calls more to get rid of duplicated traces.
rtworkq: Change RtwqPutWorkItem() trace format for consistency.
mf: Handle shutdown state in GetFullTopology().
mf: Correctly respond to start attempt from closed state.
mf: Implement transition to closed state together with sink finalization.
mf: Match session state names with events.
mfplat: Implement MFTEnumEx().
mfplat: Add some MFT-related attributes GUIDs.
mfplat: Set activation object attributes for enumeration results.
mfplat: Default to synchronous model for locally registered MFTs.
mfplat: Implement transform activation object.
mf: Implement MFGetSupportedMimeTypes()/MFGetSupportedSchemes().
mf/tests: Fix a test failure on older versions.
include: Fix VMR9AlphaBitmap definition.
include: Add some types used for MF pipeline objects.
mfplat: Remove extra critical section used in sample implementation.
mfplat: Remove extra critical section from presentation descriptor.
mfplat: Remove extra critical section from stream descriptor.
include: Add some MFT flags types.
include: Update MF resolver flags.
mf: Partially implement sample copier transform.
mfplat: Add MFGetPlaneSize().
mfplat: Implement CopyToBuffer().
mf: Implement IsMediaTypeSupported() for simple type handler.
mfplat: Implement IsMediaTypeSupported() for stream descriptor.
mf: Implement MFGetTopoNodeCurrentType().
mf: Shutdown samplegrabber event queue on sink shutdown.
mf: Block samplegrabber stream event calls after stream is removed.
mf: Improve ShutdownObject() behavior for sample grabber activation object.
mf: Set shutdown state flag for presentation clock.
mf: Notify just added sinks with current clock state.
mf: Do not touch clock state when setting rate.
mf/tests: Remove tests causing occasional crashes on Windows.
mfplat: Add MFGetStrideForBitmapInfoHeader().
mf/tests: Use wide string literals.
mfplat: Add a stub for 2D system memory buffer object.
dwrite: Simplify LB22 rule according to Unicode 13.0 algorithm.
mf: Use single list for topology nodes in current presentation.
mf/tests: Add a test for default node attributes.
mf: Handle basic case of sample request/response.
mf: Send MFT_MESSAGE_NOTIFY_BEGIN_STREAMING message after setting current topology.
mf: Pass start and flush messages to transform nodes.
mf: Keep transform node input/output streams map.
mf: Add support for requesting sample from transform nodes.
mf: Implement sample delivering to transform nodes.
Paul Gofman (5):
ntdll: Zero init reg_tzi in find_reg_tz_info().
ntdll: Add semi-stub for RtlGetNativeSystemInformation().
wined3d: Manage source texture resolve in texture2d_blt() for colour blits.
wined3d: Handle scale with multisampled blit destination in texture2d_blt().
wined3d: Use EXT_framebuffer_multisample_blit_scaled for scaled resolves.
Piotr Caban (5):
winemac: Fix leaks in macdrv_surface_destroy.
gdiplus: Fix gdi handles leak in GdipMeasureCharacterRanges.
gdiplus: Fix leak in SOFTWARE_GdipDrawDriverString.
msvcrt: Optimize _strnicmp_l implementation.
winemac: Handle dummy_surface in get_mac_surface.
Roman Pišl (3):
shell32: Implement SHCreateAssociationRegistration.
wineconsole: Allow maximization.
wininet: Add stub for INTERNET_OPTION_IGNORE_OFFLINE.
Rémi Bernon (5):
d3d9/tests: Register test window class upfront.
d3d8/tests: Add test_window_style results for w1064v1809.
d3d9/tests: Explicit test_window_style results on w1064v1809.
d3d9/tests: Make device test_window_style checks more consistent.
d3d9/tests: Make d3d9ex test_window_style checks consistent with device.
Serge Gautherie (3):
include: COMMCONFIG.wcProviderData is WCHAR, not DWORD.
shell32: Fix SHCNE_UPDATEITEM number of items.
tools: Remove 0x0501 API versions forced by winapi_test.
Sven Baars (7):
d3dx9: Implement ID3DXFont_PreloadText.
d3dx9: Add a very basic ID3DXFont_DrawText implementation.
d3dx9: Handle newlines in ID3DXFont_DrawText.
d3dx9: Handle clipping in ID3DXFont_DrawText.
d3dx9: Handle word breaks in ID3DXFont_DrawText.
d3dx9: Handle DT_SINGLELINE in ID3DXFont_DrawText.
d3dx9: Handle DT_CALCRECT in ID3DXFont_DrawText.
Vijay Kiran Kamuju (2):
include: Add some missing defines in winnt.h.
include: Fix QUOTA_LIMITS_EX in winnt.h.
Vincent Povirk (3):
windowscodecs/tests: Add test for WriteSource with indexed formats.
windowscodecs: Set palette in WriteSource when necessary.
windowscodecs: Fix ICNS encoder write_source call.
Zebediah Figura (128):
httpapi: Update the spec file to Windows 7.
httpapi: Use the "http" debug channel.
httpapi: Stub HttpSetServerSessionProperty().
httpapi: Wait for overlapped I/O completion only if ERROR_IO_PENDING is returned.
httpapi: Stub HttpSetUrlGroupProperty(HttpServerLoggingProperty).
http.sys: Support cancelling IRPs.
http.sys: Cancel outstanding requests when a handle is closed.
http.sys: Translate WSAEACCES to STATUS_ACCESS_DENIED.
http.sys: Handle the "+" URL wildcard.
server: Make free_object() static.
server: Hold a reference to the device on behalf of the device manager.
d3dcompiler/tests: Add some more tests for return statements.
d3dcompiler: Parse return statements without a value.
d3dcompiler: Check for implicit type compatibility in implicit_conversion().
d3dcompiler: Verify a returned value against the function's type and cast it if necessary.
d3dcompiler: Don't set the node type for return instructions.
ddraw: Retrieve the material from the primary stateblock.
ddraw: Stop setting the device state in d3d_device7_SetMaterial().
ddraw: Retrieve the viewport from the primary stateblock.
ddraw: Stop setting the device state in d3d_device7_SetViewport().
ddraw: Retrieve lights from the primary stateblock.
ddraw: Stop setting the device state in d3d_device7_SetLight() and d3d_device7_LightEnable().
amstream: Implement IAMMultiMediaStream::EnumMediaStreams().
amstream: Check for an existing stream in IAMMultiMediaStream::AddMediaStream().
amstream: Implement IMediaStreamFilter::EnumMediaStreams().
amstream: Allow AMMSF_ADDDEFAULTRENDERER only with MSPID_PrimaryAudio.
amstream: Return E_INVALIDARG if AMMSF_ADDDEFAULTRENDERER is requested with a non-NULL ret_stream parameter.
kernel32/tests: Add some tests for hard links.
kernel32: Reimplement CreateHardLink() on top of NtSetInformationFile(FileLinkInformation).
wined3d: Stop setting the device state in wined3d_stateblock_apply().
wined3d: Remove no longer used device state functions.
amstream: Simplify IAMMultiMediaStream::GetFilterGraph().
amstream: Create a default filter graph in IAMMultiMediaStream::AddMediaStream() if one does not exist yet.
amstream: Explicitly create the graph in IAMMultiMediaStream::OpenFile().
amstream: Set the multimedia stream graph in IAMMultiMediaStream::Initialize() only if a graph is specified.
amstream: Forbid changing the graph in IAMMultiMediaStream::Initialize().
amstream: Forbid changing the multimedia stream mode.
wined3d: Make some wined3d_device functions static.
wined3d: Remove now redundant error handling from wined3d_device_set_stream_source_freq().
wined3d: Remove now redundant error handling from wined3d_device_set_light().
wined3d: Return void from wined3d_device_set_light_enable().
wined3d: Remove now redundant error handling from wined3d_device_set_sampler_state().
ntdll/tests: Separate invalid name tests for RtlDosPathNameToNtPathName_U().
ntdll/tests: Use wide character string literals in test_RtlDosPathNameToNtPathName_U().
ntdll/tests: Add more tests for DOS to NT path conversion.
wined3d: Remove now redundant error handling from wined3d_device_set_*_consts_*().
wined3d: Remove now redundant error handling from wined3d_device_set_texture_stage_state().
wined3d: Move the fill mode to wined3d_rasterizer_state.
wined3d: Move the cull mode to wined3d_rasterizer_state.
wined3d: Move the depth bias scale to wined3d_rasterizer_state.
qcap/capturegraph: Return BOOL from pin_matches().
qcap/capturegraph: Implement ICaptureGraphBuilder2::FindInterface().
quartz/filesource: Check if the media type is acceptable.
qedit/samplegrabber: Check the filter media type also in sample_grabber_sink_query_accept().
qedit/samplegrabber: Correctly implement sample_grabber_sink_get_media_type().
d3dcompiler: Return a struct source_location from set_location().
d3dcompiler: Pass a struct source_location to hlsl_report_message().
d3dcompiler: Pass a struct source_location to add_func_parameter().
d3dcompiler: Clarify error messages related to misplaced type modifiers.
d3dcompiler: Pass a struct source_location to check_invalid_matrix_modifiers().
d3dcompiler: Pass a struct source_location to create_loop().
qedit: Register the sample grabber and null renderer.
qcap: Reimplement COM registration and vending locally.
winegstreamer: Reimplement COM registration and vending locally.
wineqtdecoder: Reimplement COM registration and vending locally.
strmbase: Remove no longer used DLL registration and vending framework.
setupapi: Implement SetupDiGetSelectedDriver().
setupapi: Implement SetupDiGetDriverInfoDetail().
setupapi: Use the "section" and "description" fields directly in more places.
include: Use public field names for FILE_RENAME_INFORMATION.
kernel32/tests: Add more tests for MoveFile[Ex]().
ntdll/tests: Test renaming a file to the same name.
wined3d: Explicitly zero the whole wined3d_rasterizer_state_desc structure in wined3d_device_apply_stateblock().
wined3d: Move the constant depth bias to wined3d_rasterizer_state.
wined3d: Move the scissor test state to wined3d_rasterizer_state.
wined3d: Move the line antialias state to wined3d_rasterizer_state.
d3d10core/tests: Add a test for color masks.
d3d11/tests: Add a test for color masks.
winebus.sys: Fix reporting axis values for joysticks.
d3d10core/tests: Add a test for independent blend.
d3d11/tests: Add a test for independent blend.
wined3d: Construct the blend state in wined3d_device_apply_stateblock().
wined3d: Move the blend enable state to wined3d_blend_state.
wined3d: Move the source blend state to wined3d_blend_state.
user32: Do not delay-load setupapi.
winegstreamer: Read into an existing buffer if requested.
wineqtdecoder: Fix compilation.
quartz/acmwrapper: Reimplement the ACM wrapper directly on top of strmbase_filter.
quartz/avidec: Reimplement the AVI decoder directly on top of strmbase_filter.
wineqtdecoder: Reimplement the video decoder directly on top of strmbase_filter.
strmbase: Get rid of the base transform.
wine.inf: Manually register qedit.
qedit: Pass an IUnknown pointer to the object creation functions.
quartz: Pass an IUnknown pointer to the object creation functions.
strmbase: Move window.c to quartz.
strmbase: Move video.c to quartz.
quartz: Unregister the video window class on DLL unload.
ntdll/tests: Add tests for linking a file to the same name.
ntdll: Check for an existing file on the server side.
server: Allow renaming a file to the same name.
server: Fix up executable permissions when renaming files.
kernel32: Reimplement MoveFileWithProgress() on top of NtSetInformationFile(FileRenameInformation).
wined3d: Move the destination blend state to wined3d_blend_state.
wined3d: Move the blend operation to wined3d_blend_state.
wined3d: Move the source alpha blend function to wined3d_blend_state.
wined3d: Move the destination alpha blend function to wined3d_blend_state.
wined3d: Move the alpha blend equation to wined3d_blend_state.
d2d1: Support GUID_WICPixelFormat32bppPRGBA.
d3dcompiler: Parse array types.
d3dcompiler: Don't pass a writemask to make_assignment().
d3dcompiler/tests: Add more tests for swizzles.
d3dcompiler: Unwrap swizzles from the left-hand side of an assignment.
d3dcompiler: Separate out an hlsl_deref structure and store it in hlsl_ir_assignment directly.
kernel32: Reimplement ReplaceFile() on top of MoveFileEx().
quartz/tests: Add a test for aggregation on the seeking passthrough object.
strmbase: Standardize aggregation of the seeking passthrough object.
strmbase: Separate the seeking passthrough object from its implementation.
strmbase: Get rid of the PassThruImpl typedef.
strmbase: Use strmbase_passthrough directly in strmbase_renderer.
strmbase: Move the seeking passthrough object to quartz.
quartz: Implement proper DLL refcounting.
wined3d: Implement independent blend.
wined3d: Move the color masks to wined3d_blend_state.
d3dcompiler/tests: Add some tests for d3d9 constant tables.
d3dcompiler/tests: Add a test for SM4 constant buffers.
d3dcompiler: Don't add the default matrix majority attribute to variables.
d3dcompiler: Fail if modifiers are applied to a function.
d3dcompiler: Apply type modifiers to the hlsl_type.
Zhiyi Zhang (25):
wined3d: Introduce wined3d_get_adapter().
wined3d: Introduce wined3d_adapter_get_output_count().
wined3d: Introduce wined3d_adapter_get_output().
d3d8: Enumerate wined3d outputs in d3d8_init().
d3d9: Enumerate wined3d outputs in d3d9_init().
wined3d: Refactor wined3d_enum_adapter_modes() to wined3d_output_get_mode().
wined3d: Refactor wined3d_get_adapter_mode_count() to wined3d_output_get_mode_count().
wined3d: Get output from window in wined3d_swapchain_state_init().
wined3d: Pass a struct wined3d_output pointer to wined3d_swapchain_state_set_fullscreen().
wined3d: Introduce wined3d_swapchain_get_output().
wined3d: Pass a struct wined3d_output pointer to wined3d_swapchain_state_resize_target().
wined3d: Pass a struct wined3d_output pointer to wined3d_swapchain_state_set_display_mode().
wined3d: Refactor wined3d_set_adapter_display_mode() to wined3d_output_set_display_mode().
wined3d: Refactor wined3d_get_adapter_display_mode() to wined3d_output_get_display_mode().
wined3d: Refactor wined3d_find_closest_matching_adapter_mode() to wined3d_output_find_closest_matching_mode().
wined3d: Refactor wined3d_get_adapter_raster_status() to wined3d_output_get_raster_status().
wined3d: Pass a struct wined3d_output pointer to wined3d_check_device_format_conversion().
wined3d: Pass a struct wined3d_output pointer to wined3d_check_device_type().
wined3d: Introduce wined3d_output_get_adapter().
wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_depth_stencil_match().
wined3d: Pass a struct wined3d_adapter pointer to wined3d_device_create().
wined3d: Refactor wined3d_get_adapter_identifier() to wined3d_adapter_get_identifier().
wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_device_multisample_type().
wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_device_format().
wined3d: Pass a struct wined3d_adapter pointer to wined3d_calculate_format_pitch().
Ziqing Hui (7):
comctl32/tests: Add tests for alpha channel of imagelist.
comctl32/imagelist: Correctly handle alpha channel of 32bpp image.
comctl32/tests: Remove duplicate line in imagelist.c.
comctl32/tests: Change create_test_bitmap() to give it the ability to create more kinds of bitmaps.
comctl32/tests: Add tests for grayscale.
comctl32/tests: Add a 4x4 bitmap for ImageList_DrawIndirect tests.
comctl32/imagelist: Support flag ILS_SATURATE for ImageList_DrawIndirect().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.3 is now available.
What's new in this release (see below for details):
- More work towards Ucrtbase runtime support.
- Full support for Unicode normalization.
- Improvements in Shell Folders handling.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.3.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.3.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 5.3 (total 29):
13925 IKEA Home Planner 2010 2D and 3D graphical views show only garbage
18234 Lotus Approach (MDI app): double clicking minimized MDI child windows (icons) results in "About Wine" instead of maximize
22974 "Shell folders" settings are reset after each wine update
34622 Multiple games need DMO Wrapper Filter, 'qasf.dll' (Neocron, Age of empires III Steam, .NET XNA 3.x/4.x games using Media classes) (`winetricks qasf` is a workaround)
37073 Trees not rendered correctly in Far Cry 2 when anti-aliasing enabled
40649 apps (e.g. sysinternals' ADExplorer) that require ActiveDirectory connections/ADsOpenObject fail
42038 Cannot scroll documents being compared in winmerge (Followup to bug 20695)
42764 Proteus direct 3D render problem
43465 Unit Test: ComboBox Dropdown does not work if Style is set and no scrollbar required
43814 Multiple games require IMFSourceReader ReadSample Implementation (Danganronpa V3, Resident Evil 2 1-Shot Demo)
47857 Logos Bible Software (.Net 4.7.2 app) crashes in win8/10 (because IsNormalizedString is just a stub)
47884 msi:action systematically times out on Windows 2003
47992 msi:action tests fail when running them twice
48136 Wine can't be started, log notice: wineboot failed to start wineboot c00000e5
48229 Regression on Automobilista. A lot of cars and tracks are not shown on Game menu
48302 Warhammer Online doesn't render without d3dx9_34
48386 Some CPU features are not reported for Intel CPU (Detroit: Become Human is affected)
48387 User shared data area should have NumberOfPhysicalPages field filled in (used by Detroit: Become Human)
48484 winecfg doesn't allow disabling Desktop Integration for Downloads
48510 Lotus Organizer 97 crashes when selecting a Backup folder using 'Browse' button
48549 Arma Cold War Assault: Cursor stuck at low fps since Wine 5.0-rc6
48557 Multiple installers crash (Hot Wired, Croc installer) : Setup is unable to initialize the language dialogbox: Error 106
48569 Infinite drag & drop loop crashes WinSCP
48577 DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY and other enums are the wrong size
48594 AnyDesk crashes directly on startup (low WORD of instance handle must be ignored when looking up window classes)
48646 QQMusicAgent crashes when started after installation
48648 Gothic II Night of the Raven:unhandled exception in Wine 5.2
48657 GdipGetNearestColor crash in Subtitle Edit
48669 iphlpapi.NotifyUnicastIpAddressChange() should call the callback initially if requested (required for Far Cry 5 online mode)
----------------------------------------------------------------
Changes since 5.2:
Akihiro Sagawa (7):
user32/tests: Use wide string literals in wsprintf tests.
user32/tests: Add wsprintfA %C conversion tests.
user32: Fix wsprintfA %C conversion.
shlwapi: Fix wnsprintfA/wvnsprintfA %C conversion.
user32: Add wsprintfW %C tests.
user32: Fix wsprintfW %C conversion.
shlwapi: Fix wnsprintfW/wvnsprintfW %C conversion.
Alex Henrie (3):
iphlpapi/tests: Add tests for GetTcp6Table.
iphlpapi: Implement GetTcp6Table on Linux.
ntdll/tests: Add more tests for RtlIpv6StringToAddress.
Alexandre Julliard (22):
unicode: Move the compatibility decomposition table to ntdll.
unicode: Copy the composition table to ntdll.
libport: Move the composition tables back to libwine and stop updating them.
unicode: Add support for high Unicode planes to the combining class table.
unicode: Add support for high Unicode planes in decomposition tables.
unicode: Add support for high Unicode planes in composition tables.
ntdll: Add support for Hangul Unicode normalization.
unicode: Generate compositions on the fly based on the decomposition table.
unicode: Remove non-starter and compatibility compositions from the table.
unicode: Take into account explicit composition exclusions.
unicode: Use the standard compression function for the casemap table.
wine.inf: Add registry keys for normalization forms.
kernel32/tests: Add more normalization tests.
winedump: Add dumping of normalization NLS files.
unicode: Generate the NLS files for normalization forms.
ntdll: Use external NLS files for Unicode normalization.
kernelbase: Use external NLS files for Unicode composition.
ntdll: Implement RtlIsNormalizedString().
unicode: Remove no longer used normalization tables.
ver: Use the 16-bit resource function in GetFileVersionInfo16().
kernel32/tests: Add some tests for Idn functions.
ntdll: Allow final null in RtlNormalizeString() even if 0 is an invalid character.
Alistair Leslie-Hughes (2):
oledb32: Ensure provider is selected before changing tabs.
dmstyle: IDirectMusicStyle8 GetDefaultBand return S_FALSE.
Anton Baskanov (3):
amstream: Implement AMAudioStream::GetFormat.
amstream: Implement AMAudioStream::SetFormat.
amstream: Reject incompatible media types in AMAudioStream::ReceiveConnection.
Aurimas Fišeras (3):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Biswapriyo Nath (1):
include/dxva2api.idl: Add function declarations.
Brendan Shanks (3):
wineboot: Populate BIOS registry keys.
ntdll: Add system family and SKU to generated SMBIOS tables.
wbemprox: Add embedded controller and system BIOS release numbers to Win32_BIOS.
Connor McAdams (1):
d3d10: Introduce an effect buffer variable structure.
Daniel Lehman (4):
include: Fix compile error with C++ winelib.
include: Update wcstok declarations.
tzres: Add Aleutian Time Zone.
wintrust: Set last error in WinVerifyTrust.
Dirk Niggemann (1):
toolhelp: Return correct handle, address, flag and lock values in LocalNext() for moveable blocks.
Dmitry Timoshkov (8):
widl: Generate name for a tagless union.
widl: If a variable doesn't have a name provide an autogenerated one.
activeds.tlb: Add typelib.
ole32: Correct MkParseDisplayName spec entry.
activeds: Implement ReallocADsMem.
activeds: Implement AllocADsStr and FreeADsStr.
user32/tests: Add some tests for classes with non-zero low word instance.
server: Ignore low word of a class instance when looking up for a window class.
Florian Will (5):
gdiplus: Refactor to split up encode_image_wic().
include: Add enums and GUID required for GdipSaveAdd().
gdiplus: Add GdipSaveAddImage() stub.
gdiplus/tests: Add multi-page tiff file saving test.
gdiplus: Implement GdipSaveAddImage() and GdipSaveAdd().
François Gouget (11):
kernel32/tests: Clarify the process's quotes handling comment.
advapi32/tests: Simplify the name of the test unit for child processes.
msvcrt: Add _CRT_INT_MAX to corecrt.h.
msvcrt: Old versions of _vsnprintf() treat the size as a signed int.
shell32/tests: Simplify the name of the test unit for child processes.
msvcrt/tests: Simplify the name of the test unit for child processes.
kernel32/tests: Simplify the name of the test unit for child processes.
kernel32/tests: Avoid a race in test_WaitForJobObject().
kernel32/test: Simplify a couple of calls to 'process exit'.
kernel32/tests: Check if CreateProcess() resets STARTUPINFO/PROCESS_INFORMATION.
gdi32/tests: Remove unnecessary metafile handle traces.
Gabriel Ivăncescu (14):
vbscript: Move the named_item_t definition.
vbscript: Implement separate script dispatch objects for each named item.
vbscript/tests: Add tests for named item script dispatches.
vbscript: Return the dispatch object directly in retval, rather than its value.
jscript: Initialize the script context in SetScriptSite.
jscript: Move the clear_script_queue up to SCRIPTSTATE_INITIALIZED.
jscript: Move the named_item_t definition.
jscript: Lookup the named item using a helper function.
jscript: Implement the SCRIPTITEM_CODEONLY flag.
jscript: Preserve the 'enter_notified' field when an error occurs.
vbscript: Return the item's disp when it does not have the SCRIPTITEM_CODEONLY flag, rather than the script dispatch.
hid: Implement HidP_GetUsageValueArray.
jscript: Reference-count the named items.
vbscript: Don't create script dispatches for items with the SCRIPTITEM_GLOBALMEMBERS flag.
Hans Leidekker (5):
bcrypt: Support retrieving the PaddingSchemes property for RSA.
wbemprox: Implement Win32_PhysicalMemory.FormFactor.
wbemprox: Implement Win32_DesktopMonitor.Name.
wbemprox/tests: Use wide character string literals.
crypt32/tests: Update *.winehq.org certificate.
Jacek Caban (55):
configure: Use -nostartfiles -nodefaultlibs in cross compiler checks.
stdio.h: Add snprintf inline wrapper.
makedep: Define _UCRT in modules that link to ucrtbase.
stdio.h: Add ucrt version of vsnprintf inline wrapper.
include: Add corecrt_wio.h header.
include: Move __acrt_iob_func declaration to corecrt_wstdio.h.
stdio.h: Add ucrt _vsnprintf_s declaration.
stdio.h: Add ucrt _vscprintf declaration.
stdio.h: Add ucrt vsprintf declaration.
stdio.h: Add ucrt vsprintf_s declaration.
stdio.h: Add ucrt _vsprintf_p_l declaration.
stdio.h: Add ucrt vfprintf declaration.
stdio.h: Add ucrt vfprintf_s declaration.
include: Add corecrt_wtime.h file.
include: Include sys/stat.h from wchar.h.
stdio.h: Add ucrt _scprintf declaration.
stdio.h: Add ucrt _snprintf_s declaration.
stdio.h: Add ucrt fprintf and fprintf_s declarations.
stdio.h: Add ucrt printf and vprintf declarations.
stdio.h: Add ucrt printf_s and vprintf_s declarations.
stdio.h: Add ucrt sprintf_s declaration.
stdio.h: Add ucrt fscanf and fscanf_s declarations.
stdio.h: Add ucrt scanf and scanf_s declarations.
stdio.h: Add ucrt sscanf and sscanf_s declarations.
stdio.h: Add ucrt _snscanf_l declaration.
include: Add new corecrt_wctype file.
winegcc: Recognize -rtlib as linker argument.
winegcc: Treat -target argument as an alias to --target for clang compatibility.
winegcc: Clean up output file on error.
corecrt_wstdio.h: Add ucrt _snwprintf, swprintf and _swprintf declarations.
corecrt_wstdio.h: Add ucrt _snwprintf_s and _vsnwprintf_s declarations.
corecrt_wstdio.h: Add ucrt _scwprintf and _vscwprintf declarations.
corecrt_wstdio.h: Add ucrt _vscwprintf_p_l and _vswprintf_p_l declarations.
corecrt_wstdio.h: Add ucrt fwprintf and vfwprintf declarations.
corecrt_wstdio.h: Add ucrt fwprintf_s and vfwprintf_s declarations.
corecrt_wstdio.h: Add ucrt fwscanf and fwscanf_s declarations.
corecrt_wstdio.h: Add ucrt swprintf_s and vswprintf_s declarations.
include: Add corecrt_wstdlib.h header.
corecrt_wstdio.h: Add ucrt swscanf and swscanf_s declarations.
corecrt_wstdio.h: Add ucrt wprintf and vwprintf declarations.
corecrt_wstdio.h: Add ucrt wprintf_s and vwprintf_s declarations.
corecrt_wstdio.h: Add ucrt wscanf and wscanf_s declarations.
include: Add corecrt_wstring.h header.
include: Make time.h compatible with ucrt.
include: Make corecrt_wtime.h compatible with ucrt.
include: Make corecrt_wio.h compatible with ucrt.
include: Make sys/stat.h compatible with ucrt.
winebuild: Check more target components for platform string.
winegcc: Check more target components for platform string.
stdlib.h: Make externs declarations compatible with ucrt.
include: Add corecrt_startup.h header.
msvcrt: Use more public declarations in exe entry points.
winegcc: Fix passing -delayload argument to linker.
winegcc: Don't pass ld command to winebuild when building PE file.
vbscript: Lookup host global object in interp_me instead of storing it in script context.
Jeff Smith (7):
gdiplus: Each pen dash array element must be greater than zero.
gdiplus/tests: Test path widening on capped lines.
gdiplus: Fix LineCapRound path widening.
gdiplus: Fix LineCapTriangle path widening.
gdiplus: Add LineCapSquareAnchor path widening.
gdiplus: Add LineCapRoundAnchor path widening.
gdiplus: Add LineCapDiamondAnchor path widening.
Lauri Kenttä (2):
oledb32: Resize dialog fields to accomodate translations.
po: Update Finnish translation.
Liam Middlebrook (1):
winevulkan: Fix two spelling errors in make_vulkan.
Matteo Bruni (16):
wined3d: Use a bitmask for the {v, p}s_const_f fields in struct wined3d_saved_states.
wined3d: Check the actual device limit in wined3d_stateblock_set_*s_consts_f().
wined3d: Get rid of the contained_*s_consts_* arrays.
maintainers: Drop Józef Kucia.
maintainers: Move d3d10 and d3d10_1 under Direct3D helper libraries.
d3dcompiler: Get rid of now unused BWRITERVS_SWIZZLE_{SHIFT, MASK}.
d3d8: Fix texture stage index checks.
wined3d: Rename struct wined3d_map_range to struct wined3d_range.
wined3d: Optimize scanning changed shader constants in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed transform states in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed render states in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed texture states in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed sampler states in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed stream states in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed textures in wined3d_device_apply_stateblock().
wined3d: Optimize scanning changed clip planes in wined3d_device_apply_stateblock().
Michael Stefaniuc (9):
msxml3/tests: Get rid of a2bstr().
msxml3/tests: Just use a wchar string literal instead of _bstr_().
urlmon/tests: Get rid of strcmp_wa() in misc.c.
urlmon/tests: Get rid of strcmp_wa() in protocol.c.
kernel/tests: Get rid of strcmp_aw() / strlen_aw().
urlmon/tests: Get rid of a2w() in misc.c.
urlmon/tests: Get rid of strcmp_aw() in sec_mgr.c.
urlmon/tests: Get rid of a2w() in sec_mgr.c.
vbscript/tests: Get rid of strcmp_wa().
Nikolay Sivov (32):
mfplat/tests: Use wide string literals.
scrrun/tests: Use wide string literals.
wschom/tests: Use wide string literals.
mfplat: Fix media type compare logic regarding user data.
mferror: Add some more clock error codes.
mf: Implement timer functionality for presentation clock.
mf: Use more descriptive name for one of the impl_from_* helpers.
kernel32/tests: Link to activation context API directly.
mf: Shut down quality manager on session shutdown.
mf: Request another sample from sample grabber in clock-ignoring mode.
oleaut32/tests: Link to activation context API directly.
vcomp/tests: Link to activation context API directly.
kernel32/tests: Link to activation context API directly.
ole32/tests: Link to activation context API directly.
user32/tests: Link to activation context API directly.
mf: Add MFCreateSimpleTypeHandler().
mf/tests: Add some tests for SAR time source.
gdi32/tests: Reduce some tracing noise in font tests.
include: Add more Media Foundation error codes.
mf: Add support for returning slowest/fastest rates for session.
mf: Subscribe for next pipeline object event after processing current one.
mf: Create separate topology object and use it as current.
mf: Use separate list for source streams.
mf: Use generic enum for object states.
mf: Keep a list of output streams.
mf: Query for optional event generator for sinks.
mf: Add support for MESessionCapabilitiesChanged event.
mf: Implement two-step session transition to running state.
mf: Track stream sinks state to maintain session state.
mf: Implement Pause() command for media session.
mf: Allow restarting from paused state.
mf: Implement Stop() command for media session.
Olivier F. R. Dierick (10):
shell32: Move _SHCreateSymbolicLinks() above shell folders lookup functions.
shell32: Add helper functions for XDG directories lookup and resource deallocation.
shell32: Add a helper function to create 'My Stuff' sub dirs in 'My Documents'.
shell32: Add a helper function to create a shell folder from CSIDL and return its unix path.
shell32: Move 'My Documents' symbolic link creation in a separate function.
shell32: Move 'My Stuff' symbolic link creation in a separate generic function.
shell32: Move 'Desktop' symbolic link creation to a separate function.
shell32: Add a function to create one specific symbolic link at a time for user dirs.
shell32: Create user folder symlinks on lookup and only if it's missing.
winecfg: Add Downloads and Templates to shell folders UI interface.
Paul Gofman (9):
ntdll: Fill NumberOfPhysicalPages field in user shared data area.
ntdll: Report rdtsc processor feature if supported.
wined3d: Introduce wined3d_bitmap_is_set().
wined3d: Support AMD alpha to coverage state.
wined3d: Support NVIDIA alpha to coverage state.
d3d9/tests: Test alpha to coverage state capture.
d3d9/tests: Do not use NVIDIA mode in test_alpha_to_coverage() if the reported GPU is AMD.
iphlpapi: Support InitialNotification flag in NotifyUnicastIpAddressChange().
iphlpapi: Return NO_ERROR from NotifyUnicastIpAddressChange() semi-stub.
Piotr Caban (2):
dbghelp: Support 32 and 64-bit binaries in ImageDirectoryEntryToDataEx.
dbghelp: Use RtlImageDirectoryEntryToData in pe_load_msc_debug_info.
Roman Pišl (2):
ole32: Avoid calling QueryContinueDrag recursively.
shell32: Avoid crash on WM_WINDOWPOSCHANGING in BrsFolderDlgProc.
Rémi Bernon (1):
dinput: Increase device buffer size to 1024.
Stefan Dösinger (3):
ddraw/tests: Clear the DXT3 destination surface manually.
ddraw/tests: P8 -> RGB blits are broken on WARP 1709 and newer.
ddraw/tests: WARP returns SURFACELOST when flipping a surface in normal mode.
Sven Baars (8):
gdi32/tests: Add some more GetCharacterPlacement tests.
gdi32: Handle 0 count in GetCharacterPlacementW.
user32: Add EnableNonClientDpiScaling stub.
d3dx9/tests: Add more ID3DXFont_DrawTextW tests.
d3dx9: Reimplement make_pow2() in d3dx9_private.h.
d3dx9: Implement ID3DXFont_PreloadGlyphs.
d3dx9: Implement ID3DXFont_GetGlyphData.
d3dx9: Implement ID3DXFont_PreloadCharacters.
Vijay Kiran Kamuju (1):
include: Update fields of SYSTEM_TIMEOFDAY_INFORMATION.
Vincent Povirk (1):
mscoree: Remove appdomain tracking.
Zebediah Figura (95):
strmbase: Also match a GUID_NULL formattype as a wildcard in source_Connect().
strmbase: Don't check the subtype when determining if a media type is partial.
strmbase: Don't treat GUID_NULL in enumerated types as a wildcard.
d3d9: Make shader validator traces less verbose.
d3d9: Retrieve transform states from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetTransform() and d3d9_device_MultiplyTransform().
d3d9: Retrieve clip planes from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetClipPlane().
include: Add dmodshow.idl and IDMOWrapperFilter.
include: Add IDMOQualityControl and IDMOVideoOutputOptimizations.
qasf: Add a stub DMO wrapper filter.
qasf/dmowrapper: Add a stub IDMOWrapperFilter interface.
qasf/dmowrapper: Add an initial implementation of IDMOWrapperFilter::Init().
d3d9: Retrieve the material from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetMaterial().
d3d9: Retrieve light state from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetLight() and d3d9_device_LightEnable().
qasf/dmowrapper: Create sink and source pins for each stream.
qasf/dmowrapper: Implement sink connection.
qasf/dmowrapper: Implement source connection.
qasf/tests: Add tests for filter state.
qasf/dmowrapper: Call IMediaObject::Flush() when cleaning up the stream.
d3d9: Use ARRAY_SIZE in d3d9_device_GetStreamSource().
d3d9: Validate the stream index in d3d9_device_SetStreamSource().
wined3d: Remove the no longer used extra stream state.
d3d8: Set the primary stateblock when executing draw calls.
d3d8: Stop setting the device state in d3d8_device_SetIndices().
d3d8: Stop setting the device state in d3d8_device_SetStreamSource().
d3d8: Retrieve the vertex shader from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetVertexShader().
winegstreamer: Decommit the source allocator when cleaning up the stream.
strmbase/renderer: Return S_FALSE when pausing the stream if approprate.
quartz/tests: Add a test for cyclic connections.
quartz/filtergraph: Use IFilterGraph2::ConnectDirect() instead of calling IPin::Connect().
quartz/filtergraph: Maintain a topologically sorted list of filters.
quartz/filtergraph: Don't check for cyclic connections in IFilterGraph2::Connect().
quartz/filtergraph: Iterate over all filters in state change methods.
qasf/dmowrapper: Implement receiving and delivering samples.
qasf/tests: Add tests for IPin::NewSegment().
qasf/dmowrapper: Flush the DMO on receiving EOS.
qasf/dmowrapper: Flush the DMO on IPin::EndFlush().
qasf/dmowrapper: Implement seeking via pass-through.
d3d8: Retrieve vertex shader constants from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetVertexShaderConstant().
d3d8: Retrieve the pixel shader from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetPixelShader().
d3d8: Retrieve pixel shader constants from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetPixelShaderConstant().
d3d8: Retrieve textures from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetTexture().
d3d8: Retrieve texture states from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetTextureStageState().
mp3dmod: Implement IMediaObject::GetStreamCount().
mp3dmod: Implement IMediaObject::GetInputStreamInfo().
mp3dmod: Implement IMediaObject::GetOutputStreamInfo().
mp3dmod: Implement IMediaObject::GetInputType().
mp3dmod: Implement IMediaObject::SetInputType().
mp3dmod: Implement IMediaObject::GetOutputType().
mp3dmod: Implement IMediaObject::GetInputSizeInfo().
mp3dmod: Implement IMediaObject::GetOutputSizeInfo().
mp3dmod: Verify the format type in IMediaObject::SetOutputType().
d3d8: Retrieve transform states from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetTransform() and d3d8_device_MultiplyTransform().
d3d8: Retrieve clip planes from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetClipPlane().
d3d8: Retrieve the material from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetMaterial().
mp3dmod/tests: Test IMediaBuffer reference counting.
mp3dmod: Release a held buffer on destruction.
mp3dmod: Handle a NULL buffer passed to IMediaObject::ProcessOutput().
mp3dmod: Implement IMediaObject::Flush().
mp3dmod: Implement IMediaObject::Discontinuity().
d3d8: Retrieve the viewport from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetViewport().
d3d8: Retrieve light state from the primary stateblock.
d3d8: Stop setting the device state in d3d8_device_SetLight() and d3d8_device_LightEnable().
ddraw: Avoid leaking the primary stateblock.
ddraw: Set the primary stateblock when executing draw calls.
ddraw: Retrieve textures from the primary stateblock.
ddraw: Stop setting the device state when setting textures.
ddraw: Retrieve sampler states from the primary stateblock.
ddraw: Stop setting the device state when setting sampler states.
kernel32/tests: Add more tests for DefineDosDevice().
kernel32: Reimplement DefineDosDevice() on top of NT symbolic links.
winegstreamer: Don't query or set GStreamer duration if the filter is stopped.
winegstreamer: Don't fail seeking methods if we couldn't query duration.
winegstreamer: Defer a seek to pause time if necessary.
winegstreamer: Use nAvgBytesPerSec to determine buffer size only for raw audio formats.
ddraw: Retrieve transform state from the primary stateblock.
ddraw: Stop setting the device state when setting transforms.
ddraw: Retrieve clip planes from the primary stateblock.
ddraw: Stop setting the device state in d3d_device7_SetClipPlane().
d3dcompiler/tests: Rewrite to use a separate d3d9 device for each test.
d3dcompiler/tests: Port some tests to shader model 4.
d3dcompiler/tests: Add a test for the comma operator.
Zhiyi Zhang (3):
dxgi: Check NULL adapter parameter in dxgi_factory_EnumAdapterByLuid().
dxgi: Check NULL output parameter in dxgi_adapter_EnumOutputs().
gdiplus: Fix a possible NULL pointer reference in GdipGetNearestColor().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.2 is now available.
What's new in this release (see below for details):
- More compatible codepage mapping tables.
- Support for using the null display driver as a real driver.
- Better UTF-8 support in the Resource and Message Compilers.
- Fixes for using ucrtbase as C runtime.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.2.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.2 (total 22):
14697 OllyDbg 2.x freezes sometimes during processing of debug events (debug events can block completion of queued user APCs)
18159 Lotus Approach (MDI app) has extra caption buttons and Control box
18933 Free PDF to Word Doc converter doesn't work, window empty/hangs on launch (appinstall)
34848 PDF-XChange Viewer 2.5.213 crashes when switching between document tabs
36059 Multiple Steam games fail to install DirectX runtime prerequisite, resulting in repeated install attempt on startup ('xinput1_3.dll' locked by client)
36521 Star Wars rebellion update 1.01 crashes on start (quoted process command line only created with special 'My Documents' folder)
43934 SumatraPDF 3.1.2 has very narrow buttons in its installer
45462 PDF X-Change Viewer (all versions) cannot click dialog box in menu
45481 Spintires: MudRunner crashes at launch
46619 Lineage 2 crashes (godworld.ru private server)
46735 Multiple applications need Direct3DShaderValidatorCreate9() implementation (The Sims 2 demo, Armed Assault)
47018 Multiple applications show transparent bitmap images on static controls with black background (comctl32 lacking support for painting 32-bit BMPv3 with alpha channel)
47718 x86_64-w64-mingw32-strip strip dlls make wine failed start
48122 Arturia MIDI Control Center crashes on unimplemented function ntoskrnl.exe.RtlIsNtDdiVersionAvailable
48392 Multiple applications crash on unimplemented function WS2_32.dll.WSCSetApplicationCategory (Verbum 8, Lineage 2's SmartGuard 3.0)
48408 mixthread monopolizes buffer_list_lock if WaitForSingleObject returns quickly, causing livelock and game freeze
48424 xl-r8r: Crashes right after splash screen (apparently because vga.dll is missing)
48480 dlls/krnl386.exe16 - thunk.c argument logic incorrect for CallProcEx32W16
48489 .Net 4.7+ requires GpFontFamily to be referenced counted instead of cloning.
48541 Affinity Photo trial (1.7.2) crashes:Call from 0x7b00fa3d to unimplemented function mscms.dll.WcsGetDefaultColorProfileSize
48561 Cadence Allegro Professional 16.6 crashes at startup
48571 Firefox 72.0.* crashes on every tab (unless dwrite is disabled)
----------------------------------------------------------------
Changes since 5.1:
Akihiro Sagawa (7):
user32/tests: Add wsprintfA %S conversion tests.
user32: Fix wsprintfA %S conversion.
shlwapi: Fix wnsprintfA/wvnsprintfA %S conversion.
user32/tests: Add wsprintfW %S conversion tests.
user32: Fix wsprintfW %S conversion.
shlwapi: Fix wnsprintfW/wvnsprintfW %S conversion.
gdi32: Fix function names in comments.
Alex Henrie (10):
iphlpapi: Consolidate append_*_row functions.
include: Add remaining MIB_TCP6 types.
iphlpapi: Remove unnecessary memcpy from build_udp6_table.
iphlpapi/tests: Build rotating buffers into ntoa and ntoa6.
ntdll/tests: Add more tests for RtlIpv6StringToAddress.
iphlpapi: Get rid of dummy arguments to sscanf.
include: Add GetIcmpStatisticsEx.
iphlpapi/tests: Print a message when skipping GetUdp6Table tests.
iphlpapi/tests: Don't allow skipping ParseNetworkString tests on Wine.
iphlpapi/tests: Drop workarounds for Windows <= 2000.
Alexandre Julliard (51):
kernelbase: Use RtlNormalizeString() directly in FoldStringW().
libport: Move Unicode normalization implementation to ntdll.
kernel32/tests: Add some NormalizeString() tests.
ntdll: Add parameter checking in RtlNormalizeString().
ntdll: Fix estimated buffer sizes in RtlNormalizeString().
kernelbase: Fix NormalizeString() return value and last error.
unicode: Store variable-length sequences also for the main decomposition table.
unicode: Store recursive decompositions directly in the tables.
unicode: Avoid copying the decomposition data when not necessary.
unicode: Expand surrogates in decomposition tables.
unicode: Move the combining class table to ntdll.
kernel32/tests: Optionally test the entire NormalizationTest.txt file.
wrc: Directly implement UTF-8 conversions.
wmc: Directly implement UTF-8 conversions.
libport: Move wine_fold_string implementation back to libwine and make it obsolete.
libport: Move wine_compare_string implementation back to libwine and make it obsolete.
libport: Move wine_cpsymbol functions back to libwine and make them obsolete.
libport: Move wine_utf8 functions back to libwine and make them obsolete.
libport: Move the digitmap table back to libwine and stop updating it.
libport: Move the collation table back to libwine and stop updating it.
wmc: Reimplement input format detection to correctly handle Unicode BOM.
wmc: Set the output format from the output file name.
wmc: Add trailing newlines to error messages.
wmc: Always output resource strings in Unicode format.
winegcc: Make the WINEBUILD variable take precedence over the bin directory.
wrc: Add a helper function to terminate the resource data.
wrc: Simplify the put_string() helper function.
wrc: Export the convert_string_utf8() helper function.
wrc: Add an option to set the input codepage to UTF-8.
wrc: Avoid converting Unicode strings back to Ansi.
wrc: Set the output format from the output file name.
unicode: Add JIS-0212 mappings to the 20932 (EUC-JP) codepage table.
unicode: Support fetching a zip containining the data files.
unicode: Use codepage files from Microsoft's Open Specification data.
unicode: Remove some codepages that don't exist on Windows.
setupapi: Use wide character string literals.
setupapi: Support a WineSourceDirs section to copy files from the Wine build or data dir.
makefiles: Move l_intl.nls to a new nls directory.
unicode: Generate nls files for the codepage tables.
ntdll: Use external codepage tables for the Unix codepage too.
wrc: Add --nls-dir option.
wmc: Add --nls-dir option.
wrc: Use external NLS files for codepage conversions.
wmc: Use external NLS files for codepage conversions.
libport: Move wine_cp_mbstowcs implementation back to libwine and make it obsolete.
libport: Move wine_cp_wcstombs implementation back to libwine and make it obsolete.
libport: Move the codepage table functions back to libwine and make them obsolete.
libport: Move the codepage tables back to libwine and stop updating them.
ntdll: Don't allow unsupported codepages as Unix codepage.
ntdll: Add script to generate the error mapping list.
ntdll: Add more error mappings.
Alistair Leslie-Hughes (7):
include: Add cdosys.idl.
oledb32: Add page for ODBC connections to datalink dialog.
include: Add X3DAUDIO_CALCULATE_* defines.
include: Add more x3daudio defines.
oledb32: Add Advanced page to datalink dialog.
d3dx9: Implement D3DXCreateKeyframedAnimationSet.
oledb32: Add All page to data Link dialog.
Andrew Eikum (1):
winealsa.drv: Clean up midiOpenSeq.
Andrew Wesie (3):
ntdll: Add NtQueryVirtualMemory(MemoryWorkingSetExInformation).
kernel32: Make QueryWorkingSetEx use MemoryWorkingSetExInformation.
psapi/tests: Test QueryWorkingSetEx.
Aurimas Fišeras (5):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Biswapriyo Nath (1):
include: Update winhttp.h.
Brendan Shanks (6):
wbemuuid: Add library.
wined3d: Add GPU information for NVIDIA GeForce GTX 1060 3GB.
include: Fix size of DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY enum.
include: Fix size of tomConstants enum.
include: Fix size of RecordCreateOptionsEnum.
ntoskrnl: Fix emulation of RIP-relative addressing.
Christian Costa (1):
d3dx9: Support D3DFMT_X8L8V8U8 in DDS files.
Daniel Lehman (6):
msvcrt/tests: Add some wcstombs_s_l tests.
msvcrt: Don't set error in wcstombs_s_l if no characters to convert.
msvcrt: Set return value on all paths in wcstombs_s_l.
include: Add some E_* defines.
crypt32: Implement CryptBinaryToStringW(HEXRAW).
tzres: Add Haiti Time Zone.
Derek Lesho (5):
mfplat: Make functionality of GetMediaTypeHandler more clear.
msctf: Always provide a context when from GetBase/Top.
mfplat: Implement IMFByteStream::GetLength() for file streams.
mfplat: Implement IMFByteStream::SetCurrentPosition() for file streams.
mfplat/tests: Add more comprehensive media source tests.
Dirk Niggemann (1):
krnl386.exe: Make CallProcEx32W16 clear CPEX_DEST_CDECL flag before looping over arguments.
Dmitry Timoshkov (18):
comctl32/tests: Add a test for notification messages order in the monthcal control.
comctl32: For multiselect monthcal control send MCN_SELCHANGE notification on WM_LBUTTONDOWN event.
ntdll: Split logic for MemoryBasicInformation into a separate function.
user32/tests: Add some tests for Static/SS_BITMAP control.
comctl32/tests: Add some tests for Static/SS_BITMAP control.
gdiplus: Make GdipGetNearestColor print FIXME only if indexed bitmap is associated with the graphics object.
comctl32: Switch to using a structure for extra storage.
comctl32: Create an internal copy for 32-bpp bitmaps with an alpha channel for Static control.
comctl32/tests: Add more tests for Static/SS_BITMAP control.
gdiplus: Print fixme in GdipGetNearestColor only once.
include: Add adserr.h.
activeds: Implement ADsOpenObject.
activeds: Implement AllocADsMem and FreeADsMem.
kerberos: Add support for SECQOP_WRAP_NO_ENCRYPT to SpSealMessage.
include/iads.idl: Remove duplicate interface definition.
adsldp: Add LDAPNamespace stubs.
adsldp: Add IADsOpenDSObject stubs.
adsldp/tests: Add some tests for LDAPNamespace.
Donna Whisnant (1):
mshtml.idl: Fix duplicated dispinterface functions.
Fabian Maurer (1):
kernel32/tests: Make sure test doesn't depend on previous state.
François Gouget (7):
tests: Don't initialize static variables to 0.
configure: Fix a typo in a comment.
bcrypt: Make format_gnutls_signature() static.
kernel32: Export kernel32's FlushFileBuffers() implementation.
tests: Limit spam from todos, skips and traces when winetest_debug==1.
tests: Restore the colon in the test summary line.
tests: Restore the colon in the todo, skip and trace lines.
Gabriel Ivăncescu (5):
vbscript: Return the named item itself from lookup_named_item.
vbscript: Lookup the named item in compile_script.
vbscript: Fail if we have no context in InvokeEx.
vbscript: Use a helper function to lookup the global functions.
vbscript: Implement the SCRIPTITEM_CODEONLY flag.
Gerald Pfeifer (1):
wldap32: Define a debug channel only when we are using it.
Giovanni Mascellani (1):
d2d1: Trim rasterization area when drawing Bézier curves.
Hans Leidekker (2):
bcrypt: Support BCRYPT_HASH_REUSABLE_FLAG in BCryptOpenAlgorithmProvider.
winhttp/tests: Use wide character string literals.
Henri Verbeet (1):
wined3d: Properly validate the stage index in wined3d_stateblock_set_texture_stage_state() (Coverity).
Hermès Bélusca-Maïto (1):
atl: Fix the ATL_WNDCLASSINFOW::m_szAutoName member definition and construction.
Ilia Mirkin (2):
crypt32: Also check CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG.
crypt32/tests: Additional test for skipping unknown CAs.
Jacek Caban (43):
jscript: Propagate Invoke error code using jsexcept_t.
jscript: Store error location in jsexcept_t.
jscript: Support propagating error message.
jscript: Delay error object creation for builtin errors with message string until it's needed.
jscript: Propagate parser error location.
jscript: Propagate compiler error location.
jscript: Return error source and description from GetExceptionInfo.
jscript: Add GetSourcePosition implementation.
vbscript: Don't convert hex literals ending with '&' to short in parse_hex_literal.
vbscript: Add SetScriptState(SCRIPTSTATE_CLOSED) implementation.
vbscript: Silence QueryInterface FIXME.
wscript/tests: Get rid of strcmp_wa.
wscript/tests: Get rid of mystrchr.
ole32: Silence noisy ERRs.
guiddef.h: Remove GUID_NULL declaration.
widl: Check dispinterfaces for duplicated methods.
jscript: Add GetSourceLineText implementation.
mshtml/tests: Get rid of is_prefix_wa.
guiddef.h: Improve __uuidof implementation.
atl: Allow only ASCII digit for registrar binary values.
crypt32: Allow only ASCII digits in CRYPT_AsnEncodeNumericString.
propsys: Allow only ASCII digits in PSPropertyKeyFromString.
quartz: Fix hex digit checks in process_pattern_string.
setupapi: Fix hex digit check in SetupGetBinaryField.
wbemprox: Fix checking for digit characters.
winhttp: Fix digit character check in parse_port.
webservices: Fix digit character checks.
quartz: Remove unused functions.
oleaut32/tests: Use Unicode strings for file names.
oleaut32/tests: Add test of reference typelib caching.
oleaut32: Move TKIND_DISPATCH logic to ITypeInfoImpl_GetInternalFuncDesc.
oleaut32: Return missing function custom data as VT_EMPTY.
oleaut32: Use ITypeInfoImpl_GetInternalFuncDesc in a few more places.
makedep: Use -mno-cygwin for linking modules with no sources.
user32: Allow using null driver as a normal graphics driver.
tchar.h: Fix some macros.
corecrt_wstdio.h: Add new file and use it instead of duplicating declarations in stdio.h and wchar.h.
makedep: Use msvcrt headers for objects inside importlibs.
user32: Initialize module handle to NULL for null driver.
stdio.h: Provide sprintf and _snprintf as inline wrappers.
corecrt_stdio_config.h: Add new header file.
include: Move NULL define to corecrt.h.
ucrtbase: Use public headers for _vsnprintf implementation.
Jacek Konieczny (2):
winealsa.drv: Allow external MIDI port connection changes.
winealsa.drv: Send MIDI events to port subscribers.
Jeff Smith (2):
gdiplus: Fix calculation for 32-bit PARGB to ARGB conversion.
gdiplus: Round up when converting from 32-bit ARGB to PARGB.
Julian Rüger (1):
po: Update German translation.
Kevin Puetz (14):
oleaut32: Use GetFinalPathNameByHandle to canonicalize file path.
atlbase.h: Fix some declarations on win64.
objbase.h: Add COWAIT_DEFAULT declaration.
mshtml.idl: Fix IHTMLComputedStyle declaration.
ntdll: Allow NULL lpAssemblyDirectoryName in find_actctx_dll.
kernelbase: Allow NULL lpAssemblyDirectoryName in find_actctx_dllpath.
oleaut32: Search cache for requested typeinfo in GetRefTypeInfo.
oleaut32: Fix handling resource IDs in paths when registering typelib helpdir.
oleaut32: Return function description as TLBFuncDesc from ITypeInfoImpl_GetInternalDispatchFuncDesc.
oleaut32: Use ITypeInfoImpl_GetInternalFuncDesc in ITypeInfo2_fnGetFuncCustData.
include: Introduce WINE_UNICODE_CHAR16 that allows using char16_t as Windows WCHAR.
basetyps.h: Don't typedef wchar_t for C++.
tchar.h: Allow using header without msvcrt.
wtypes.idl: Support OLESTR macro with non-native wchar_t.
Lauri Kenttä (1):
po: Update Finnish translation.
Liam Middlebrook (1):
winevulkan: Handle bitmask pointers for spec generation.
Louis Lenders (1):
vga: Add stub dll.
Marcus Meissner (2):
mshtml: Use ARRAY_SIZE instead of sizeof in MultiByteToWideChar.
ieframe: Use ARRAY_SIZE for GetLongPathNameW.
Matteo Bruni (2):
d3dcompiler: Free variable definitions data on allocation errors.
d3dcompiler/tests: Make test_reflection_constant_buffer() work on d3d10.
Michael Müller (1):
setupapi: Implement SP_COPY_IN_USE_NEEDS_REBOOT.
Michael Stefaniuc (29):
bcrypt/tests: Get rid of strcmp_wa().
itss/tests: Get rid of a2w() and strcmp_wa().
propsys/tests: Get rid of strcmp_wa().
oleaut32/tests: Get rid of strcmp_wa().
shlwapi/tests: Get rid of strcmp_wa().
winhttp/tests: Get rid of strcmp_wa().
winmm/tests: Get rid of strcmp_wa().
inetcomm/tests: Get rid of strcmp_wa().
inetcomm/tests: Get rid of a2w().
ieframe/tests: Get rid of a2bstr() in ie.c.
mshtml/tests: Get rid of strcmp_wa() in script.c.
ieframe/tests: Get rid of a2bstr() and strcmp_wa().
msscript.ocx/tests: Get rid of a2bstr().
mshtml/tests: Get rid of a2bstr() in script.c.
mshtml/tests: Get rid of strcmp_wa() in htmldoc.c.
mshtml/tests: Get rid of a2bstr() in htmldoc.c.
mshtml/tests: Get rid of wstr_contains().
mshtml/tests: Get rid of strcmp_wa() in activex.c.
mshtml/tests: Get rid of a2bstr() in activex.c.
mshtml/tests: Avoid a2bstr() on string literals in dom.c.
mshtml/tests: Get rid of a2bstr() in dom.c.
mshtml/tests: Get rid of a2bstr() in events.c.
mshtml/tests: Get rid of strcmp_wa() in events.c.
mshtml/tests: Get rid of strcmp_wa() in xmlhttprequest.c.
mshtml/tests: Get rid of a2bstr() in xmlhttprequest.c.
dmime/tests: Move some ok() calls to make it clear what is being tested.
dmime: Split out the perf default port creation.
dmime: Create a port in the perf CreateStandardAudioPath().
dmime: Implement IDirectMusicPerformance8_PChannelInfo().
Nikolay Sivov (49):
shdocvw: Forward WhichPlatform() to shlwapi.
shlwapi: Use public definitions for WhichPlatform().
shlwapi: Fix SHGetViewStatePropertyBag() prototype.
shlwapi: Fix spec entries for SHFormatDateTime().
shlwapi: Add header entries for SHIsLowMemoryMachine().
include: Add some newer Edit messages.
ole32/tests: Add some tests for MonikerCommonPrefixWith().
ole32/tests: Use helper to test display names.
dwrite: Fix potential strings object leak (Coverity).
dwrite: Do not create intermediate object to return face reference from family.
dwrite: Implement GetFontFaceReference() for fontfaces.
dwrite: Return static axis values for weight/width/italic properties.
rtworkq: Add a stub dll.
rtworkq: Add RtwqCreateAsyncResult().
rtworkq: Add RtwqStartup()/RtwqShutdown().
rtworkq: Add RtwqPutWaitingWorkItem().
rtworkq: Add RtwqCancelWorkItem().
rtworkq: Add RtwqScheduleWorkItem().
rtworkq: Add periodic callbacks.
rtworkq: Add RtwqAllocateWorkQueue().
mfplat: Forward async queue functionality to rtworkq.
gdi32: Retry with hinting disabled if glyph load failed in hinted mode.
rtworkq: Add RtwqSetLongRunning().
rtworkq: Add partial implementation of RtwqLockSharedWorkQueue().
rtworkq: Add deadline management stubs.
xmllite/tests: Get rid of strcmp_wa().
shell32/tests: Get rid of strcmp_wa().
shell32/tests: Fix some compiler warnings on sprintf() buffer sizes.
include: Add the rest of async callback flags.
rtworkq: Use IUnknown wrapper for work item management.
rtworkq: Store item priority and callback flags.
rtworkq: Add a structure for queue initialization parameters.
rtworkq: Initialize queue with specific set of functionality.
rtworkq: Add support for serial work queues.
mfplat: Add MFAllocateSerialWorkQueue() export.
dwrite: Add partial implementation for IDWriteFontFaceReference1::CreateFontFace().
crypt32/tests: Detect missing HEXRAW support by output.
crypt32: Fix CryptBinaryToStringW() to return required length properly.
api-ms: Update EnumDisplayDevicesW() entries.
ntdll: Add threadpool stack information exports.
kernel32: Add threadpool stack information exports.
kernel32: Add StartThreadpoolIo() stub.
ole32: Implement MTA pinning with CoIncrementMTAUsage()/CoDecrementMTAUsage().
dwrite/tests: Use wide string literals for some tests.
ole32: Fix CoGetApartmentType() return value for implicit MTA case.
rtworkq: Initialize MTA on startup.
mfplat/tests: Add some tests for COM initialization in work queues threads.
wincodecs: Return WINCODEC_ERR_PALETTEUNAVAILABLE for jpeg decoder frame.
ntdll: Add missing spec file entry for TpStartAsyncIoOperation().
Paul Gofman (1):
kernel32: Add semi-stub for LoadPackagedLibrary().
Piotr Caban (2):
msvcp90: Don't pass NULL as reference in runtime_error and logic_error constructors.
ucrtbase: Added stub for _get_FMA3_enable.
Rémi Bernon (26):
server: Improve APC error handling when alloc_handle fails.
server: Use STATUS_KERNEL_APC to indicate system APCs.
ntdll: Reorder code to make the select logic clearer.
ntdll: Use the status to tell user APC from system APC.
ntdll: Handle system APCs in a separate inner loop.
ntdll: Process system APCs while the signals are blocked.
wpp: Do not pass NULL %s to fprintf.
advapi32/tests: Fix some format-overflow warnings.
advpack/tests: Fix some format-overflow warnings.
fusion/tests: Fix some format-overflow warnings.
kernel32/tests: Fix some format-overflow warnings.
setupapi/tests: Fix some format-overflow warnings.
shell32/tests: Fix some format-overflow warnings.
user32/tests: Fix some format-overflow warnings.
version/tests: Fix some format-overflow warnings.
services/tests: Fix some format-overflow warnings.
msvcrt/tests: Fix some format-overflow warnings.
ntdll/tests: Fix some format-overflow warnings.
hid/tests: Call CancelIo before closing device.
hid: Add HidP_GetLinkCollectionNodes stub.
hid/tests: Add tests for HidP_GetLinkCollectionNodes.
hid: Implement HidP_GetLinkCollectionNodes.
mscoree/tests: Fix some format-overflow warnings.
configure: Re-enable warnings disabled with Wno-format.
server: Validate status in continue_debug_event.
msi/tests: Fix some format-overflow warnings.
Stefan Dösinger (1):
ddraw/test: Completely disable the refcount stealing GetClipper call.
Sven Baars (2):
wined3d: Avoid accessing freed memory in wined3d_view_gl_destroy() (Valgrind).
ddraw/tests: Reverse cleanup order in test_coop_level_threaded().
Vijay Kiran Kamuju (1):
ws2_32: Add stub for WSCSetApplicationCategory.
Zebediah Figura (81):
dsound: Use an SRW lock for buffer_list_lock.
dsound: Use an SRW lock for the buffer lock.
quartz/tests: Add tests for IFilterGraph::Reconnect().
quartz/filtergraph: Implement IFilterGraph2::ReconnectEx().
quartz/tests: Use BaseOutputPinImpl_AttemptConnection().
quartz/tests: Add some tests for file source pin connection.
quartz/filesource: Accept any non-null subtype.
quartz/tests: Add tests for AVI splitter pin connection.
quartz/tests: Improve tests for AVI splitter filter state.
quartz/tests: Add tests for MPEG splitter pin connection.
qedit/tests: Add some tests for sample grabber pin connection.
qcap/tests: Add some more tests for smart tee pin connection.
strmbase: Rename the "pFuncsTable" member of struct strmbase_pin to "ops".
strmbase: Clean up source_Connect().
strmbase: Access our own media types directly in source_Connect().
strmbase: Simplify CompareMediaTypes().
strmbase: Check if the pin is already connected in source_Connect().
ddraw: Apply the device state before executing a draw call.
ddraw: Stop setting the device state in d3d_device7_SetRenderState().
ddraw: Stop setting the device state when setting some default render states.
wined3d: Fix the spelling of a comment.
d3d9: Set the primary stateblock when executing draw calls.
d3d9: Stop setting the device state in d3d9_device_SetStreamSource().
d3d9: Stop setting the device state in d3d9_device_SetIndices().
d3d9: Retrieve stream frequency state from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetStreamSourceFreq().
wined3d: Implement casting int to uint.
strmbase: Always return VFW_E_TYPE_NOT_ACCEPTED if the pin_query_accept() callback fails.
qedit/samplegrabber: Use BaseOutputPinImpl_AttemptConnection().
qedit/samplegrabber: Initialize the media type filter to use wild cards instead of "None" types.
qedit/samplegrabber: Rename the "mtype" field to "filter_mt".
qedit/samplegrabber: Use strmbase media type helpers.
d3d9: Reset the viewport and scissor rect for extended devices in d3d9_device_reset().
d3d9: Stop setting the device state in d3d9_device_SetViewport().
d3d9: Stop setting the device state in d3d9_device_SetScissorRect().
d3d9: Retrieve the vertex declaration from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetVertexDeclaration().
d3d9: Stop setting the device state in d3d9_device_SetFVF().
qedit/samplegrabber: Don't overwrite the filter media type in sample_grabber_sink_connect().
qedit/samplegrabber: Implement sample_grabber_source_query_accept().
qedit/samplegrabber: Correctly implement sample_grabber_source_get_media_type().
qedit/samplegrabber: Don't verify the format block in sample_grabber_sink_connect().
qedit/samplegrabber: Reconnect the sink pin if necessary.
d3d9: Retrieve the vertex shader from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetVertexShader().
d3d9: Retrieve the pixel shader from the primary stateblock.
d3d9: Return a stub interface from Direct3DShaderValidatorCreate9().
setupapi/tests: Add some tests for COM self-registration.
setupapi: Initialize COM if necessary when registering DLLs.
devenum: Remove no longer necessary call to CoInitialize().
quartz: Remove no longer necessary call to CoInitialize().
strmbase: Remove no longer necessary call to CoInitialize().
winecrt0: Make __wine_(un)register_resources() cdecl.
quartz/tests: Add some tests for IBasicVideo::GetCurrentImage().
quartz/vmr9: Reimplement VMR9_GetStaticImage().
quartz/videorenderer: Clean up VideoRenderer_GetStaticImage().
quartz/videorenderer: Track the current sample locally.
strmbase: Get rid of current sample tracking.
d3dcompiler: Store the swizzle unshifted.
d3dcompiler: Dump flattened IR more accurately.
d3dcompiler: Use wine_dbg_printf() to dump HLSL IR.
d3dcompiler: Dump loops.
d3d9: Retrieve vertex shader constants from the primary stateblock.
d3d9: Stop setting the device state when setting vertex shader constants.
d3d9: Stop setting the device state in d3d9_device_SetPixelShader().
d3d9: Retrieve pixel shader constants from the primary stateblock.
d3d9: Stop setting the device state when setting pixel shader constants.
quartz/vmr9: Fix copying from the d3d9 surface if the pitch doesn't match the width.
d3d9: Retrieve textures from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetTexture().
d3d9: Retrieve sampler states from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetSamplerState().
d3d9: Retrieve texture states from the primary stateblock.
d3d9: Stop setting the device state in d3d9_device_SetTextureStageState().
d3dcompiler: Return an instruction list instead of a single instruction from nodes representing expressions.
d3dcompiler: Handle loops in free_instr().
d3dcompiler: Parse the comma operator.
d3dcompiler: Get rid of the unused "subexpressions" field of struct hlsl_ir_expr.
quartz/filesource: Zero-initialize the file source filter.
winegstreamer: Read samples synchronously in push_data().
winegstreamer: Negotiate allocators per source pin.
Zhiyi Zhang (13):
setupapi: Implement SetupDiOpenDeviceInterfaceRegKey().
user32/tests: Add more ChangeDisplaySettings tests.
user32/tests: Add more EnumDisplaySettings tests.
wined3d: Add GPU information for NVIDIA GeForce GTX 1650 SUPER.
d3d8/tests: Add multiple adapters tests.
d3d9/tests: Add multiple adapters tests.
dxgi/tests: Add multiple adapters tests.
user32: Move ChangeDisplaySettingsExW() common code to user32.
user32: Trace more ChangeDisplaySettingsExW() flags.
user32: Fix ChangeDisplaySettingsExW() minimum size check.
winex11.drv: Calculate mask in X11DRV_resize_desktop().
user32: Handle NULL device parameter in EnumDisplaySettingsExW().
user32: Handle NULL device and not NULL mode parameters in ChangeDisplaySettingsExW().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.1 is now available.
What's new in this release (see below for details):
- Support for using LLVM-MinGW as PE cross-compiler.
- Better reporting of error location in JScript and VBScript.
- Support for relocatable installation of the Winelib tools.
- Ellipse drawing in Direct2D.
- OLE monikers improvements.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.x/wine-5.1.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.x/wine-5.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.1 (total 32):
21702 Continuum 0.40 crashes at start up screen
22006 Multiple applications require support for thread and process security descriptors (Continuum 0.40, Acrobat Reader DC 2015)
23261 Industry Giant 2 demo crashes with DDERR_UNSUPPORTEDMODE message
28059 3DAnalyzer: Hangs when selecting certain exe's
33159 Loading a .dll without relocations fails under Mac OS X (needs preloader)
35351 Allow configuring modifier key mapping
36813 wineconsole: no text without winetricks corefonts
39229 Dragon Age Inquisition crashes
40013 MSYS2 based "Git for Windows" 2.7 fails to install due to 'rebase.exe' tool crashing or hanging in post-install steps
40482 Support set title in start, needed by latest MSYS2
42249 Speccy v1.30 installer crashes (registry SID profile data in 'ProfileList' must contain 'ProfileImagePath' key value)
42554 The Magic School Bus Explores The Solar System crashes while loading
43499 The Legend of Heroes: Trails of Cold Steel - Graphical glitches
43505 Star Wars: Starfighter - screen out of monitor borders
43514 Beamng.drive: wrong sunshine reflection
44618 MindManager Pro v7.0: MSI installer complains "CustomAction unhandled action type 7"
44917 Unable to run DTS MAster Audio Suite Encoder
45049 Multiple programs need d2d1 CreateRoundedRectangleGeometry (playchessV7, Paint.Net 4.*)
45148 Overwatch: left control, left shift keybindings don't work
45501 Darksiders - Slow player movement with builtin d3dx9_42
45742 Sniper Elite V2 has no sound
45847 Warframe installer update/download gets stuck due to corruption on large files in 'Bulk Download' mode (tries over and over again)
45879 Aruba Key crashes on unimplemented function setupapi.dll.CM_Request_Device_EjectA when clicking 'remove' button
46005 Multiple games and applications fail due to missing interface proxy information in registry (oleautomation/dual interfaces referenced in coclass section inside of library block)
47668 Logos 8 (.NET/WPF 4.7.2 application) fails to download resources (needs ReOpenFile implementation)
48018 QuickTime 7.0.x installer fails, 'rundll32.exe "C:\Program Files (x86)\QuickTime\QTSystem\QTJava.dll,QTPostInstallProc"' crashes due to invalid cdecl dll entry
48064 qmgr:job started failing on XP on Sep 09
48150 ddraw:ddraw{2,4} show new test failures
48313 Sysinternals CpuStres crashes on unimplemented function kernel32.dll.GetThreadIdealProcessorEx
48338 DIB images with bpp <= 8 get wrong palette when converted to GpBitmap
48371 Home Designer Suite 21.3.1.1x64 reports "Error #272000009 A serious error occurred (SEH)."
48491 _searchenv & co do not understand quoted directories
----------------------------------------------------------------
Changes since 5.0:
Alexandre Julliard (33):
configure: Allow out-of-tree builds from an unclean source tree.
rundll32: Add wrapper to call entry point on i386.
winedump: Add dumping of case mapping NLS files.
winedump: Add dumping of codepage NLS files.
wmc: Get rid of some unused codepage information.
unicode: Use existing helpers to build the l_intl.nls file.
unicode: Remove case mappings that don't round-trip.
unicode: Use existing helpers to build the sortkeys table.
unicode: Specify a bit width instead of a format when dumping arrays.
msvcrt: Fetch locale codepage directly as an integer.
adsldp/tests: Get rid of strchrW().
crypt32/tests: Get rid of strncmpW().
devenum/tests: Get rid of strchrW() and strncmpW().
mapi32/tests: Get rid of strcmpW().
mlang/tests: Get rid of strstrW().
mscoree/tests: Get rid of strrchrW().
mshtml/tests: Get rid of strstrW().
oleaut32/tests: Get rid of strcmpW().
oledlg/test: Get rid of strstrW().
shell32/tests: Get rid of strcmpW().
shlwapi/tests: Get rid of strcmpW().
user32/tests: Get rid of strncmpW() and strcpyW().
sfnt2fon: Directly store the codepage tables for the few encodings we need.
unicode: Use a standard two-level mapping table for the digit map.
unicode: Use a standard two-level mapping table for the mirror map.
unicode: Use a standard two-level mapping table for the sortkeys map.
unicode: Try harder to reuse subsequences when compressing data arrays.
libwine: Make some functions obsolete.
libwine: Make the debug functions obsolete.
libwine: Make some loader functions obsolete.
wrc: Also search the include dir relative to the binary path.
widl: Also search the include dir relative to the binary path.
winegcc: Also search the include and lib dirs relative to the binary path.
Alistair Leslie-Hughes (9):
dmime: IDirectMusicPerformance8_FreePMsg Release the unknown pointer.
include: Add directmanipulation.idl.
include: Add _Inout_updates_bytes_opt_ define.
include: Add remaining DBPROPSET_* GUID's.
include: Add enum DBPROPFLAGSENUM.
msado15: Implement _Recordset get_CursorLocation and put_CursorLocation.
msado15: Implement _Connection get/put ConnectionString.
d3dx9/tests: Add some tests for ID3DXFont_DrawText().
include: Add xact3wb.h.
Andrew Eikum (6):
winebus.sys: Don't return too early if SDL initialization succeeds.
dinput: Fix V/A/FSlider dwOfs values in c_dfDIJoystick2.
dinput: Add missing ASPECT flags for c_dfDIJoystick2.
dinput: Add missing ASPECT flags to c_dfDIJoystick.
xinput: Implement XInputGetKeystroke.
dxgi/tests: Test the fullscreen state after the swapchain window is destroyed.
Biswapriyo Nath (2):
include: Update dxva2api.idl.
include: Update thumbcache.idl file.
Brendan Shanks (2):
user32: Pack messages sent with SendNotifyMessage().
user32: Support SetWindowPos() SWP_ASYNCWINDOWPOS flag.
Charles Davis (5):
msvcrt: Implement _ispunct_l().
msvcrt: Correct return value of ___mb_cur_max_l_func().
setupapi: Implement CM_Get_DevNode_Property[_Ex]W().
msvcrt: Fix the btowc() function.
gdi32: Add D3DKMTSetQueuedLimit() stub.
Daniel Lehman (3):
msxml3/tests: Fix copy & paste in traces.
vcruntime140_1: Add stub dll.
ucrtbase: Use given context in wcstok.
Dmitry Timoshkov (6):
gdiplus: If the font unit is not pixels scaling should not be applied.
gdiplus: GdipCreateBitmapFromHBITMAP should use palette from the GDI bitmap.
gdiplus: Reimplement GdipCreateBitmapFromGdiDib by using GdipCreateBitmapFromHBITMAP.
gdiplus/tests: Add more tests for GdipCreateBitmapFromHBITMAP and palette images.
gdiplus/tests: Add tests for FontFamily object management.
gdiplus: Create FontFamily objects only once for the FontCollection.
Evan Tang (1):
kernel32/lzexpand: Fix uninitialized read in read_header.
Fabian Maurer (1):
find/tests: Add tests for file based search.
François Gouget (1):
advapi32/tests: Avoid failure when GetServiceKeyName() gets a smart quote.
Gabriel Ivăncescu (1):
comctl32/datetime: Simplify last digits calculation.
Gerald Pfeifer (2):
winedump: Add a default case to numeric_leaf().
msi: Properly declare variables in msi/tests/utils.h as extern.
Giovanni Mascellani (9):
d2d1: Fix miter drawing for degenerated rectangles.
d2d1: Implement rounded rectangle drawing.
d2d1: Implement ellipse drawing.
d2d1/tests: Add tests for rounded rectangle drawing.
d2d1/tests: Add geometry filling tests.
d2d1/tests: Check that hollow figures are not filled.
d2d1: Do not fill hollow figures.
d2d1/tests: Test that hollow figures do not impact geometry bounds.
d2d1: Ensure that hollow figures do not impact geometry bounds.
Hans Leidekker (1):
msi: Add support for custom action type 7.
Henri Verbeet (9):
wined3d: Create Vulkan buffers.
wined3d: Store a gl_info pointer in struct shader_glsl_ctx_priv.
wined3d: Store a gl_info pointer in struct shader_arb_ctx_priv.
wined3d: Get gl_info from the context in wined3d_device_create_primary_opengl_context_cs().
wined3d: Implement mapping Vulkan buffers.
d3d9/tests: Introduce adapter_is_amd().
wined3d: Get rid of the "DirectDrawRenderer" setting.
d2d1: Pass previous and next vectors to d2d_geometry_outline_add_join().
d2d1: Rename d2d_ellipse_geometry_GetRoundedRect() to d2d_ellipse_geometry_GetEllipse().
Jacek Caban (56):
vbscript/tests: Add error position tests.
vbscript: Alloc vbscode_t before parsing the script.
vbscript: Store source location in statement_t.
vbscript: Store source location in instr_t.
vbscript: Store source cookie and starting line in vbscode_t.
vbscript: Use parser_error to set unhandled parser error.
vbscript: Simplify option explicit parsing.
vbscript: Pass parser error location to compiler.
vbscript: Support reporting error location to script host.
jscript: Use parser location to calculate function body string.
jscript: Always set parser error code on error.
jscript: Store source location in statement_t.
include: Add wWinMain declaration.
makedep: Link importlib object files into module only when it's explicitly imported.
winegcc: Add support for -Wl,--entry argument.
msvcrt: Provide EXE entry points in importlib.
winegcc: Use Wine crt when linking builtin EXEs.
ddraw/tests: Don't use log2f to avoid mingwex dependency.
jscript: Introduce jsstr_to_bstr helper.
jscript: Store source position in instr_t.
jscript/tests: Add more error reporting tests.
jscript/tests: Add more script enter notification tests.
msvcrt: Provide exp2f in importlib.
winegcc: Use Wine crt when linking to msvcrt.
vbscript: Overflow hex literals in 16-bit range.
vbscript: Fix VT_UNKNOWN handling in set statements.
vbscript: Fix VT_UNKNOWN handling in is expressions.
scrrun: Add MoveFile implementation.
mshtml/tests: Get rid of strstr_wa.
msvcrt/tests: Avoid using msvcrt.h header.
include: Use dllimport attribute for string.h functions.
jscript: Use internal jsdisp calls only within the same script context.
jscript: Store source context and starting line in bytecode_t.
jscript: Support DISP_E_EXCEPTION InvokeEx result.
jscript: Use separated jsexcept_t instance for each external call.
jscript: Store separated flag indicating if current exception value is valid.
jscript: Store error code in jsexcept_t.
jscript: Use enter_script and leave_script to call script site notifications.
jscript: Add IActiveScriptError implementation.
vbscript: Allow assignment left expression to be member expression.
vbscript: Allow any call expression to be used in set statement.
rpcrt4: Use MustFree for all non-base types in get_param_pointer_info.
mshtml/tests: Get rid of a2bstr from style.c.
mshtml/tests: Get rid of wstr_contains.
mshtml/tests: Get rid of strcmp_wa from style.c.
jscript: Suport generic error object for exception with no associated JavaScript exception value.
jscript: Factor out format_error_message implementation.
jscript: Directly return error code instead of using throw_generic_error.
jscript: Directly return error code instead of using throw_range_error.
jscript: Directly return error code instead of using throw_reference_error.
jscript: Directly return error code instead of using throw_regexp_error.
jscript: Directly return error code instead of using throw_uri_error.
jscript: Directly return error code instead of using throw_syntax_error.
jscript: Directly return error code instead of using throw_type_error in date.c.
jscript: Directly return error code instead of using throw_type_error where possible.
mshtml/tests: Get rid of strcmp_wa from dom.c.
Jeff Smith (5):
gdiplus/tests: Add another GdipGetPathGradientCenterPoint test.
gdiplus: Calculate centroid of path as default center of path gradient.
d3drm/tests: Add some viewport projection type tests.
d3drm: Return D3DRMERR_BADOBJECT from d3drm_viewport2_SetProjection() for uninitialised viewports.
d3drm: Return ~0u from d3drm_viewport2_GetProjection() for uninitialised viewports.
Kevin Puetz (1):
rpcrt4: Fix ITypeInfo leak in get_iface_info.
Liam Middlebrook (2):
winevulkan: Support functions with basic_c return types.
winevulkan: Update to VK spec version 1.1.130.
Louis Lenders (1):
ntoskrnl.exe: Add stub for RtlIsNtDdiVersionAvailable.
Michael Cronenworth (12):
crypt32: Global variable compatibility update for gcc 10.
dsound: Global variable compatibility update for gcc 10.
mshtml: Global variable compatibility update for gcc 10.
secur32: Global variable compatibility update for gcc 10.
winebus: Global variable compatibility update for gcc 10.
wbemprox: Global variable compatibility update for gcc 10.
xinput: Global variable compatibility update for gcc 10.
twain_32: Global variable compatibility update for gcc 10.
msi: Global variable compatibility update for gcc 10.
webservices: Global variable compatibility update for gcc 10.
gphoto2.ds: Global variable compatibility update for gcc 10.
sane.ds: Global variable compatibility update for gcc 10.
Michael Stefaniuc (14):
dmloader: Use wide-char string literals.
dmusic: Use wide-char string literals.
dmstyle: Partially implement Audition track GetParam/SetParam methods.
dmstyle: Partially implement Chord track GetParam/SetParam methods.
dmstyle: Partially implement Command track GetParam/SetParam methods.
dmstyle: Partially implement Motif track GetParam/SetParam methods.
dmstyle: Partially implement Mute track GetParam/SetParam methods.
dmstyle: Partially implement Style track GetParam/SetParam methods.
dmstyle/tests: Add GetParam/SetParam tests for unsupported types.
dmsynth: Avoid the LPDIRECTMUSICSYNTHSINK type.
dmsynth: Avoid the LPDIRECTMUSICSYNTH8 type.
dmcompos: Partially implement Chord Map track GetParam/SetParam methods.
dmscript: Implement the Script track GetParam/SetParam methods.
dmime: Get rid of the DMUSIC_PRIVATE_PCHANNEL typedef.
Nikolay Sivov (63):
ole32: Fix bind speed used in BindToObject() of item moniker.
ole32: Fix bind speed used in ParseDisplayName() for item moniker.
mshtml: Implement IHTMLScriptElement::get_htmlFor().
mshtml: Implement IHTMLWindow7::get_pageXOffset/pageYOffset.
ole32: Handle GetObject() failure in ParseDisplayName() for item moniker.
ole32: Pass correct display name in ParseDisplayName() for item moniker.
ole32: Lock item container on ParseDisplayName().
ole32: Lock item container on BindToObject().
ole32: Fix IsEqual() for item moniker.
dwrite: Add a helper specifically for TryGetFontTable().
dwrite: Evaluate IsSymbolFont() flag at font level.
dwrite: Evaluate IsMonospacedFont() flag at font level.
dwrite: Evaluate IsColorFont() flag at font level.
dwrite: Update for newer font string names.
dwrite: Implement GetFaceNames() for fontfaces.
dwrite: Implement GetFamilyNames() for fontfaces.
dwrite: Access font data directly at font level for GetInformationalStrings().
dwrite: Implement GetInformationalStrings() for fontfaces.
dwrite: Enable DWRITE_INFORMATIONAL_STRING_WEIGHT_STRETCH_STYLE_FAMILY_NAME for GetInformationalStrings().
ole32: Add support for non-default counter for anti moniker.
ole32: Fix IsEqual() for antimoniker.
ole32: Fix comparison data for antimoniker.
ole32: Fix CommonPrefixWith() for antimoniker, when other is also antimoniker.
mf: Simplify clock notification handling.
dwrite: Add support for dlng/slng metadata.
dwrite: Implement IDWriteFont::Equals().
dwrite/tests: Add a test for creating system collection with explicit family model.
dwrite: Do not create fontface instance for GetUnicodeRanges().
ole32: Add support for writing VT_BSTR properties.
ole32: Check buffer bounds when reading storage properties.
ole32: Add partial support for reading VT_VECTOR properties.
ole32: Validate offsets when reading storage dictionary.
ole32: Fix string buffer size.
wineboot: Do not use SHGetMalloc() internally.
shell32: Do not use SHGetMalloc() internally.
ole32: Fix equality check in CommonPrefixWith() for pointer moniker.
ole32/tests: Test default item moniker instance.
ole32: Remove some internal helpers for item moniker.
ole32: Fix IsRunning() for item moniker.
ole32: Lock item container on BindToStorage().
ucrtbase: Add _query_new_handler() and _query_new_mode().
user32: Improve window state handling in SetScrollInfo().
mfplat: Add MFCreateTransformActivate().
mfplat: Add support for local MFT registration.
ole32: Implement custom marshalling for pointer monikers.
ole32/tests: Add some ComposeWith() tests with antimoniker at the right side.
ole32: Add a helper to create antimoniker of specific order.
ole32: Fix (pointer moniker + antimoniker) composing.
ole32: Fix (item moniker + antimoniker) composing.
ole32: Fix (file moniker + antimoniker) composing.
ole32: Get rid of redundant pointer check.
ole32: Enumeration is not supported for pointer monikers.
ole32: Get rid of pointer moniker initialization helper.
ole32: Fix a leak when creating pointer moniker through activation.
ole32: Fix a leak when creating antimoniker through activation.
wincodecs: Add 32RGBA -> 24BGR conversion path.
include: Fix QITAB definition.
msi: Change unknown platform enum entry name.
ole32: Respond to CLSID in antimoniker interface query.
ole32: Respond to CLSID in pointer moniker interface query.
ole32: Respond to CLSID in class moniker interface query.
ole32: Respond to CLSID in file moniker interface query.
ole32: Respond to CLSID in item moniker interface query.
Paul Gofman (4):
d3d9/tests: Add test for alpha to coverage.
include: Add Vista+ PEB_LDR_DATA structure fields.
d3d9/tests: Test more formats in srgbtexture_test().
wined3d: Support sRGB reads for WINED3DFMT_B5G6R5_UNORM.
Piotr Caban (8):
msvcrt: Add support for quoted paths in _searchenv.
msvcrt: Add support for quoted paths in _searchenv_s.
msvcrt: Don't duplicate _searchenv_s code in _searchenv.
msvcrt: Add support for quoted paths in _wsearchenv_s.
msvcrt: Don't duplicate _wsearchenv_s code in _wsearchenv.
msvcrt: Respect allocation mode in malloc.
msvcrt: Use _callnewh in operator new implementation.
msvcrt: Reimplement _set_new_mode function.
Qian Hong (1):
advapi32: Fix the name and use of DOMAIN_GROUP_RID_USERS.
Roman Pišl (1):
kernelbase: Implement GetThreadIdealProcessorEx stub.
Rémi Bernon (2):
ntdll: Don't change RtlWaitOnAddress size after user invoke_apc.
include: Add DBG_REPLY_LATER NTSTATUS code.
Stefan Dösinger (11):
ddraw/tests: Disable a test that causes heap corruption on some Nvidia.
ddraw/tests: Mark a Geforce 9600 misbehavior broken().
ddraw/tests: Don't leak overlay if DWM cannot be disabled.
ddraw/tests: The Windows XP r200 driver does not report DDSCAPS_OWNDC.
ddraw/tests: WinXP drivers don't necessarily set dib.dsBm.bmBits.
ddraw/tests: Don't COLORFILL a surface with a clipper.
ddraw/tests: Don't rely on the implicit vertex color in test_viewport.
ddraw/tests: Dx9 and earlier cards have problems with HW blits to R5G5B5A1.
ddraw/tests: Changing only viewport Z range is broken on r500 on Win10.
ddraw/tests: R200 rejects some bad draw calls.
ddraw/tests: Init the lock desc before using it.
Sven Baars (3):
d3dx9/tests: Use Tahoma in all font tests.
d3dx9/tests: Get rid of redundant handling for D3DXCreateFontA() failures.
d3dx9/tests: Add some more ID3DXFont tests.
Vijay Kiran Kamuju (3):
include: Add missing defines to icm.h.
mscms: Add stub for WcsGetDefaultColorProfileSize.
mscms: Add stub for WcsGetDefaultRenderingIntent.
Vladimir Panteleev (1):
kernel32/tests: Fix GetLastError() checks in environment tests.
Zebediah Figura (79):
compobj: Manually define the IMalloc16 structure.
compobj: Get rid of _xmalloc16().
compobj: Store the IMalloc pointer as a SEGPTR.
compobj: Always set the IMalloc pointer in CoInitialize().
compobj: Reference the IMalloc pointer in CoInitialize().
compobj: Reference the returned IMalloc pointer in CoGetMalloc().
compobj: Implement reference counting for the standard allocator.
qedit: Use wide character string literals.
amstream: Use wide character string literals.
evr: Use wide character string literals.
shell32/tests: Fix some failures in test_contextmenu().
ddraw/tests: Fix some test failures.
quartz: Simplify FilterGraph2_AddFilter().
quartz: Simplify FilterMapper3_CreateCategory().
quartz: Simplify FilterMapper3_UnregisterFilter().
quartz: Simplify FilterMapper3_RegisterFilter().
quartz: Simplify FilterMapper_RegisterFilter().
quartz: Simplify FilterMapper_RegisterPin().
quartz: Simplify FilterMapper_RegisterPinType().
quartz: Simplify FilterMapper_UnregisterFilter().
quartz: Simplify FilterMapper_UnregisterPin().
quartz: Use wide character string literals.
msctf/tests: Fix some test failures on Windows 10.
winegstreamer: Rename the "ppPins" element of struct gstdemux to "sources".
winegstreamer: Rename the "cStreams" element of struct gstdemux to "source_count".
winegstreamer: Fix pin enumeration order for the AVI and WAVE parsers.
quartz/tests: Add more tests for parser media types.
winegstreamer: Implement IPin::QueryAccept() for the WAVE parser source.
http.sys: Translate WSAEADDRINUSE to STATUS_SHARING_VIOLATION.
winegstreamer: Implement IPin::QueryAccept() for the AVI splitter source.
winegstreamer: Implement IPin::QueryAccept() for the MPEG splitter source.
winegstreamer: Split the implementation of source_get_media_type().
winegstreamer: Support converting color spaces within the splitter filter.
winegstreamer: Get rid of the YUV-to-(A)RGB converters.
wined3d: Introduce wined3d_device_apply_stateblock().
d3d9: Apply the device state before executing a draw call.
d3d9: Handle multisample depth resolve in d3d9_device_SetRenderState().
d3d9: Stop setting the device state in d3d9_device_SetRenderState().
d3d9: Stop setting the device state when setting the default ZENABLE state.
winegstreamer: Report MEDIASUBTYPE_IEEE_FLOAT for float types.
winegstreamer: Correctly represent non-32-bit float types.
winegstreamer: Append an audioconvert element to raw audio streams.
winegstreamer: Allow converting to 16-bit 2-channel PCM within the splitter filter.
winegstreamer: Get rid of the AudioConvert filter.
rpcrt4: Use a critical section for the context handle lock.
kernelbase: Implement ReOpenFile().
httpapi: Stub HttpSetRequestQueueProperty().
winegstreamer: Get rid of the mp3 decoder.
strmbase: Remove some no longer used callbacks.
strmbase: Merge enumpins.c into filter.c.
strmbase: Return S_FALSE from IEnumPins::Next() when the pin count changes.
strmbase: Move the IEnumMediaTypes implementation to pin.c.
d3d8: Apply the device state before executing a draw call.
d3d8: Handle multisample depth resolve in d3d8_device_SetRenderState().
d3d8: Stop setting the device state in d3d8_device_SetRenderState().
d3d8: Stop setting the device state when setting the default ZENABLE and POINTSIZE_MIN states.
quartz/filesource: Use a completion port to handle asynchronous requests.
quartz/filesource: Clean up FileAsyncReader_RequestAllocator().
quartz/filesource: Store the media type directly in the AsyncReader structure.
qcap/tests: Expand tests for smart tee aggregation.
quartz: Trace the requested properties in IMemAllocator::SetProperties().
ddraw: Update the primary stateblock in d3d_device1_SetMatrix().
ddraw: Update the primary stateblock in d3d_device3_SetTransform() and d3d_device3_MultiplyTransform().
ddraw: Update the primary stateblock in update_clip_space().
ddraw: Update the primary stateblock in d3d_device3_SetRenderState().
widl: Output a registry script for all interfaces written into the typelib.
include: Don't use the printf format attribute when compiling against msvcrt and not cross-compiling.
mapi32: Use the %I length modifier to print pointer-size integers.
strmbase: Fix printing negative values in debugstr_time().
quartz: Introduce a helper to trace reference time.
strmbase: Store the filter name and graph directly in the strmbase_filter structure.
strmbase: Rename the "pClock" member of struct strmbase_filter to "clock".
strmbase: Trace the filter name in IBaseFilter methods.
strmbase: Trace the pin and filter names in IPin and IMemInputPin methods.
ntdll/tests: Add more tests for printf format specifiers.
ntdll: Support the %I format modifier.
kernelbase: Use the %I length modifier to print pointer-size integers.
advapi32/tests: Clean up and expand tests for LsaLookupSids().
advapi32: Return the string SID if LookupAccountSid() fails.
Zhiyi Zhang (3):
rasenh/tests: Fix a test failure.
vulkan-1/tests: Fix some test failures.
msvcrt/tests: Fix some test failures.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine team is proud to announce that the stable release Wine 5.0
is now available.
This release represents a year of development effort and over 7,400
individual changes. It contains a large number of improvements that
are listed in the release notes below. The main highlights are:
- Builtin modules in PE format.
- Multi-monitor support.
- XAudio2 reimplementation.
- Vulkan 1.1 support.
This release is dedicated to the memory of Józef Kucia, who passed
away in August 2019 at the young age of 30. Józef was a major
contributor to Wine's Direct3D implementation, and the lead developer
of the vkd3d project. His skills and his kindness are sorely missed by
all of us.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0.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.
----------------------------------------------------------------
What's new in Wine 5.0
======================
*** PE modules
- Most modules are built in PE format (Portable Executable, the
Windows binary format) instead of ELF when the MinGW compiler is
available. This helps various copy protection schemes that check
that the on-disk and in-memory contents of system modules are
identical.
- The actual PE binaries are copied into the Wine prefix instead of
the fake DLL files. This makes the prefix look more like a real
Windows installation, at the cost of some extra disk space.
- Modules that have been converted to PE can use standard wide-char C
functions, as well as wide-char character constants like L"abc".
This makes the code easier to read.
- Not all modules have been converted to PE yet; this is an ongoing
process that will continue during the Wine 5.x development series.
- The Wine C runtime is updated to support linking to MinGW-compiled
binaries; it is used by default instead of the MinGW runtime when
building DLLs.
*** Graphics
- Multiple display adapters and monitors are properly supported,
including dynamic configuration changes.
- The Vulkan driver supports up to version 1.1.126 of the Vulkan spec.
- The WindowsCodecs library is able to convert more bitmap formats,
including palette-indexed formats.
*** Direct3D
- Fullscreen Direct3D applications inhibit the screensaver.
- DXGI swapchain presents inform the application when the
corresponding window is minimized. This typically allows
applications to reduce CPU usage while minimized, and is in some
cases required to allow the application window to be restored again.
- Switching between fullscreen and windowed modes using the standard
Alt+Enter combination is implemented for DXGI applications.
- The following features are implemented for Direct3D 12 applications:
- Switching between fullscreen and windowed.
- Changing display modes.
- Scaled presents.
- Swap intervals.
These features were previously already implemented for earlier
versions of the Direct3D API.
- The handling of various edge cases is improved. Among others:
- Out of range reference values for the alpha and stencil tests.
- Sampling 2D resources with 3D samplers and vice versa.
- Drawing with mapped textures and buffers.
- Usage of invalid DirectDraw clipper objects.
- Creating Direct3D devices on invalid Windows, like the desktop
window.
- Viewports with a minimum Z larger than or equal to the maximum Z.
- Resources bound through both shader-resource views and
render-target or depth-stencil views at the same time.
- Blits between formats with and without alpha components.
Since well-behaved applications don't rely on these edge cases, they
typically only affect one or two applications each. There are
nevertheless quite a number of them.
- Dirty texture regions are tracked more accurately for Direct3D 8 and 9
texture uploads.
- Uploads of S3TC-compressed 3D textures require less address space.
Since 3D textures can be potentially large, and address space
exhaustion is a concern for 32-bit applications, S3TC-compressed 3D
textures are uploaded per-slice, instead of in a single upload.
- The ID3D11Multithread interface is implemented.
- Various lighting calculation fixes and improvements for older
DirectDraw applications have been made.
- Limited support for blits across swapchains is implemented.
- More shader reflection APIs are implemented.
- The wined3d CPU blitter can handle compressed source resources.
Support for compressed destination resources was already implemented
in a previous release.
- The Direct3D graphics card database recognizes more graphics cards.
- New HKEY_CURRENT_USER\Software\Wine\Direct3D registry keys:
- "shader_backend" (REG_SZ)
The shader backend to use. Possible values are "glsl" (default)
for GLSL, "arb" for ARB vertex/fragment programs and "none" to
disable shader support.
- "strict_shader_math" (REG_DWORD)
Enable (0x1) or disable (0x0, default) stricter translation of
Direct3D shaders, potentially at a performance cost. This
currently only makes a difference with the default GLSL shader
backend in combination with the proprietary NVIDIA drivers.
- Deprecated HKEY_CURRENT_USER\Software\Wine\Direct3D registry key:
- "UseGLSL"
This has been superseded by the "shader_backend" setting above.
*** D3DX
- Support for compressing textures using S3TC-compression is
implemented.
- Various operations, like e.g. texture fills, on unmappable surfaces
are implemented more correctly. Previously their implementation
relied on the underlying Direct3D implementation not enforcing
mapping restrictions.
- Various improvements and fixes have been made to the effect
framework.
*** Kernel
- Most of the functions that used to be in Kernel32 are moved to
KernelBase, to follow the architecture of recent Windows versions.
- Libraries of the wrong 32/64-bitness are ignored when found in the
search path, to enable loading the correct one if it's found further
in the path.
- Kernel objects are better emulated for device drivers that expect to
manipulate objects from the kernel side.
- The kernel-level synchronization objects like spin locks, fast
mutexes, remove locks, and resource variables are implemented.
- The system battery state is properly reported to applications.
*** User interface
- Minimized windows are displayed using their title bar instead of the
old Windows 3.1-style icons.
- The new button styles Split Buttons and Command Links are
implemented.
- The Edit control sets margins correctly also for CJK fonts.
*** Desktop integration
- Symbolic links to the corresponding Unix directories are created for
the 'Downloads' and 'Templates' folders.
*** Input devices
- Plug & Play device drivers can be installed and loaded on startup.
- Game controllers are better supported, including proper support for
hat switch, wheel, gas and brake controls.
- The old joystick API of Linux versions earlier than 2.2 is no longer
supported.
*** .NET
- The Mono engine is updated to version 4.9.4, including parts of the
Windows Presentation Foundation (WPF) framework.
- The Gecko and Mono add-ons support shared installation, where the
files are used directly from a global location under /usr/share/wine
instead of being copied into every new prefix.
*** Internet and networking
- The Gecko engine is refreshed to support recent toolchains.
- A number of new HTML APIs are implemented.
- MSHTML supports some SVG elements.
- Error object and exception propagation are supported in VBScript.
- A number of VBScript builtin functions are implemented.
- JScript EcmaScript compliant mode is extended to support more
features.
- JScript and VBScript script objects expose type info interfaces.
- The HTTP proxy configuration can be retrieved through DHCP.
- Passport HTTP redirects are supported.
- The HTTP service and corresponding client-side library (HTTPAPI) are
partially implemented.
*** Cryptography
- ECC (elliptic-curve) keys are supported when using GnuTLS.
- Importing keys and certificates from PFX blobs is implemented.
- The PBKDF2 key derivation algorithm is supported.
*** Text and fonts
- OpenType positioning features are supported in DirectWrite, and
enabled for Latin script by default, including kerning.
- Font data access is made safer by validating the various data tables
before using them.
- DirectWrite interfaces are updated to a recent SDK, implementing
some of the latest API additions.
*** Audio / Video
- The XAudio2 libraries are reimplemented to use the external FAudio
library, for better compatibility.
- The Media Foundation libraries are fleshed out, including:
- Support for builtin and user async work queues.
- Ability to submit periodic callbacks, waiting, scheduled, and
regular work items, with support for item priority.
- Support for media event queues.
- Various core API to handle media type objects, stream and
presentation descriptors, object attributes, byte stream objects,
samples and buffers.
- Initial Source Resolver implementation.
- Initial implementation of Source Reader API.
- Implementation for Sample Grabber object.
- Core support for building topology objects.
- Builtin presentation clock implementation, started implementing
Media Session functionality.
- The video capture filter has been ported to use v4l2 instead of the
deprecated v4l1 API, allowing the use of some cameras which do not
support v4l1.
- Support for YUV to RGB translation and reading from v4l2 devices
using mmap() has been removed; we now depend on libv4l2 for both of
these things.
- The builtin AVI, MPEG-I, and WAVE decoders have been removed; we now
depend on GStreamer or the Mac QuickTime Toolkit to decode such
media files.
- Some more VMR7 configuration APIs are implemented.
- The sound drivers support per-channel volume adjustments.
*** Internationalization
- Unicode character tables are based on version 12.1.0 of the Unicode
Standard.
- Unicode normalization is implemented.
- The geographic region id is automatically set in the registry based
on the current locale. It can be modified if necessary under
HKEY_CURRENT_USER\Control Panel\International\Geo.
- The Sinhalese and Asturian locales are supported.
- Codepage 28601 (Latin/Thai) is supported.
*** RPC/COM
- The typelib marshaller supports complex structs and arrays.
- There is an initial implementation of the Windows Script runtime
library.
- There is an initial implementation of the Microsoft ActiveX Data
Objects (ADO) library.
*** Installers
- Microsoft Installer (MSI) Patch Files are supported.
- The WUSA tool (Windows Update Standalone Installer) supports
installing .MSU update files.
*** ARM platforms
- Exception unwinding is implemented for ARM64, using the libunwind
library.
- OLE stubless proxies are supported on ARM64.
*** Development tools / Winelib
- The Visual Studio remote debugger can be used to debug applications
running under Wine.
- The Debug Engine library (DBGENG) is partially implemented.
- Binaries built for a Windows target no longer depend on the libwine
library, to enable them to run on Windows without any extra
dependencies. The libwine library is no longer built for Windows at
all.
- The Resource Compiler and IDL Compiler support a '--sysroot' option
to allow locating header files in cross-compile environments.
- Winegcc supports the options '--target', '--wine-objdir',
'--winebuild' and '-fuse-ld' that make it easier to use as a
cross-compiler, or with custom toolchains.
- The wine/unicode.h header is no longer available to applications,
since the functions will ultimately be removed and replaced by the
standard C runtime wide character functions.
*** Build infrastructure
- Test binaries are built in PE format if MinGW is available, so the
same test binary can run on both Wine and Windows. The 'crosstest'
make target is no longer needed or supported.
- The 'fastcall' calling convention is supported in spec files. It
uses the correct name mangling for Windows builds.
- A '-import' entry point flag is supported in spec files, to mark
functions that need a hotpatch code prefix to be generated for their
import thunks.
- Winebuild supports a '--builtin' option to add a special signature
to PE binaries to mark them as Wine builtins.
*** Builtin applications
- The CHCP tool is implemented. It allows setting the console codepage.
- The MSIDB tool is implemented. It allows manipulating MSI databases.
*** Performance improvements
- The various time functions use higher performance system clocks if
available, to reduce the overhead in the rendering loop of many
games.
- File lookups take advantage of the ext4 filesystem case folding
support if it's enabled on the directory being searched.
- No-data style listboxes (LBS_NODATA) have better performance for
large numbers of items.
- Slim Reader/Writer locks, keyed events, and condition variables use
futexes on Linux to avoid wineserver round trips.
*** New external dependencies
- The MinGW-w64 cross-compiler is used to build modules in PE format.
- The FAudio library is used to implement XAudio2.
- The Inotify library is used for file change notifications on BSD
platforms.
- The Unwind library is used for exception handling on ARM64.
- The Video4Linux version 2 library is used instead of version 1.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.0-rc6 is now available.
Barring any last minute issue, this is expected to be the last
release candidate before the final 5.0.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0-rc6.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0-rc6.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 5.0-rc6 (total 21):
20465 Brothers In Arms Hell's Highway : Setup asks for DVD for every .cab file (SetupPromptForDiskA/W should only show a dialog if the file doesn't exist)
37598 Double dark line inside default button, e.g. 'OK' / 'SAVE'
41459 32bit 7zFM.exe closes unexpectedly with error "The system cannot allocate the required amount of memory"
43271 Tomb Raider (2013) - unable to use interact key with CSMT
43272 Crash after click Start button in virtual desktop mode when using Steam
44408 Tetris for Windows has wrong colors for the game pieces and the score box
44594 MindManager Pro v7.0 shows XML processing error on startup (needs support for 'exhaustive-errors', 'external-general-entities' and 'external-parameter-entities' features in MSXML SAX reader)
44664 The Five Cores - distorted rendering
45732 Far Cry 5 Cannot Steer Land Vehicles
46036 7-Zip: Endless / infinite dialogs open when you copy a selection of directories from within one .zip file into another
46361 Sonic Mania freezes/crashes when we use a gamepad on 4.0+
46616 ABBYY FineReader 14 crashes during installation
47433 Accel World vs. Sword Art Online needs WTSRegisterSessionNotificationEx() to return true.
47923 kernel32:debugger tests sometimes fail on Windows 10
48335 Serious Sam Classic TFE/TSE crash on saving the game
48416 wine: Call from 0x7bc7b154 to unimplemented function api-ms-win-core-rtlsupport-l1-2-0.dll.RtlInstallFunctionTableCallback, aborting
48444 Dark Messiah of Might and Magic demo: crash on start
48452 The Witcher Enhanced Edition (GOG) some HUD graphics distorted starting wine 5.0-rc4
48454 Acrobat Reader 11 crashes a few seconds after startup
48458 Changes to scanf.c and scanf.h have resulted in Star Citizen incorrectly showing green lighting
48469 Pale Moon crashes when loading web page from address bar
----------------------------------------------------------------
Changes since 5.0-rc5:
Alexandre Julliard (4):
kernel32: Catch stack overflow faults in IsBad*Ptr() functions.
winecfg: Fix list of configurable dlls to account for PE files.
msvcrt: Use unsigned comparisons in strcmp and strncmp.
wine.inf: Remove the winebus service also for ARM64.
Alistair Leslie-Hughes (2):
dinput: Cap the buffer size to 20.
gdiplus: Check status as well before using bitmap.
Andrew Eikum (1):
mscoree: Don't print FIXME for unused config file elements.
André Hentschel (1):
d3dx9: Fix some spec file entries.
Can Taşan (1):
po: Update Turkish translation.
Charles Davis (1):
dbghelp: Look for .eh_fram if no .eh_frame is found.
Gabriel Ivăncescu (4):
strmbase: Detach the window from the parent before destroying it.
quartz/tests: Test video window parent's WM_DESTROY notification.
winex11.drv: Don't confine the pointer to any window when just checking for active grab.
msctf: Clear the corresponding DocumentMgr pointers for Associated Focus Windows on destruction.
Jacek Caban (9):
jscript/tests: Use wide char string literals instead of parse_script_with_error_a.
jscript/tests: Use wide char string literals instead of parse_htmlscript_a.
jscript/tests: Use wide char string literals instead of parse_script_a.
jscript/tests: Use wide char string literals instead of a2bstr.
jscript/tests: Use wide char string literals instead of strcmp_wa.
jscript/tests: Use wide char strings in a few more places.
kernel32/tests: Skip instruction pointer check of the last exception in exception race tests.
jscript/tests: Use wide char string literals in activex.c.
jscript/tests: Use wide char string literals in caller.c.
Jeff Smith (1):
user.exe16: Releasing DC does not disable it.
Michael Müller (2):
setupapi: Add support for IDF_CHECKFIRST flag in SetupPromptForDiskW.
setupapi/tests: Add test for IDF_CHECKFIRST and SetupPromptForDiskA/W.
Nikolay Sivov (2):
comctl32/tests: Add some more ListView customdraw tests.
dwrite/tests: Improve DrawUnderline() test reliability by using text tested font actually supports.
Paul Gofman (1):
d3dx9: Pass D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY when appropriate.
Piotr Caban (5):
msvcrt: Pass catch_func_nested_frame struct to cxx_frame_handler.
msvcrt: Pass catch_func_nested_frame struct to call_catch_block.
msvcrt: Fix handling tryblocks inside current catch block on nested exception.
msvcrt: Fix floating point numbers scanning when null-byte is preceding the number.
urlmon: Fix CoInternetParse{Url,IUri} spec entry.
Zebediah Figura (11):
httpapi/tests: Avoid depending on the availability of specific ports.
netapi32/tests: Fix the size passed to GetUserNameW() and GetComputerNameW() (Coverity).
include: Add more NTSTATUS codes.
rpcrt4/tests: Pass the default maximum call limit to RpcServerListen().
comdlg32/tests: Use GetTempPathA() instead of the current directory in test_extension().
explorerframe/tests: Remove some failing tests.
user32/tests: Fix some test failures with Windows 10.
msi/tests: Fix test_feature_override() to properly clean up its features on removal.
msi/tests: Fix a crash on Windows 10.
urlmon/tests: Avoid testing that only certain interfaces are queried.
urlmon/tests: Make the url tests a bit less verbose by default.
Zhiyi Zhang (2):
ntdll: Fix some Rtl* functions having wrong calling convention.
api-ms-win-core-rtlsupport-l1-2-0: Add missing spec file entries.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.0-rc5 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0-rc5.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0-rc5.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 5.0-rc5 (total 19):
9609 graphical glitches running Tom Clancy's Splinter Cell Demo (need better FBO stencil buffer support)
25728 UFO: Extraterrestrials Gold - crash at start caused by wine's built-in dsound/directmusic
34041 Skyrim (Steam) hangup on quit
34379 Splinter Cell: Blacklist voice stuttering
35194 Emperor: Battle for Dune does not show compressed textures
40720 Splinter Cell: Blacklist changing sound level has no effect
40721 Splinter Cell: Blacklist some voices/sounds overlap each other
40859 Builtin wbemprox.dll load error for multiple games (Colin McRae DiRT 2, Burnout Paradise)
42558 The Old City: Leviathan sound periodically has crackle effect
42930 Graphical glitches in "Giants Citizen Kabuto"
45323 Rayman Origins, UPlay: Sound effects don't work but music and ambience do
45396 The Evil Within: no audio in game
46972 Adobe DNG Converter 11.2+ runs into Call to unimplemented function api-ms-win-core-winrt-error-l1-1-0.dll.GetRestrictedErrorInfo
47974 X Rebirth - wined3d GL_INVALID_OPERATION dimensions must be identical with current filtering modes
48293 Battle.net App lags when clicking UI elements
48357 Wine 5.0-rc2 prevents multiple apps from connecting to servers (Origin; Dungeons and Dragons Online; Lord Of the Rings Online)
48415 The Magic School Bus Explores The Solar System fails to install
48417 32-bit PE 'kernelbase.dll' has default imagebase 0x10000000 when built with llvm-mingw, preventing non-relocatable native executables from being loaded
48420 Warframe equipment mouse-overs no longer highlight the item
----------------------------------------------------------------
Changes since 5.0-rc4:
Alex Henrie (1):
ntdll/tests: Fix expected RtlIpv6StringToAddress terminator output.
Alexandre Julliard (4):
ntdll: Make loop counter signed.
kernelbase: Remove trailing dot in GetComputerNameExW() when domain name is empty.
kernelbase: Set an explicit load address.
kernel32/tests: Remove some workarounds for old Windows versions.
Alistair Leslie-Hughes (2):
dmime: IDirectMusicSegment8 SetLoopPoints support zero start/end.
d3dx9: Make ID3DXLine::OnResetDevice() return S_OK.
Andrey Gusev (3):
webservices: Fix misplaced parenthesis.
mshtml/tests: Fix a typo.
scrobj/tests: Fix a typo.
André Hentschel (7):
advapi32/tests: Don't test function directly when reporting GetLastError().
comctl32: Fix Str_SetPtr[AW] spec file entries.
dbghelp: Fix MiniDumpWriteDump spec file entry.
gdiplus: Fix some spec file entries.
ole32: Fix some spec file entries.
user32: Fix some spec file entries.
gdi32: Fix some spec file entries.
Damjan Jovanovic (1):
server: Revert b4a1d80ae35d35f5c170e101922bf1563488be18 for now.
Derek Lesho (2):
bcrypt/tests: Add test for BCryptSecretAgreement.
bcrypt/tests: Add tests for BCRYPT_KDF_HASH.
Erich Hoover (1):
webservices: Use sscanf to convert strings to doubles.
Hans Leidekker (3):
winhttp/tests: Fix a test failure.
wininet/tests: Make a check for available data less strict.
wininet/tests: Fix test failures on Windows XP.
Jacek Caban (2):
include: Add roerrorapi.h header.
wmp/tests: Don't use round to avoid dependency on mingwex.
Kim Malmo (2):
po: Update Norwegian translation.
po: Fix a typo in Norwegian translation.
Louis Lenders (1):
combase: Add GetRestrictedErrorInfo and RoOriginateLanguageException stubs.
Matteo Bruni (3):
ucrtbase: Export _o_to{lower, upper}() as to{lower, upper}().
ucrtbase: Add _o_fmod() and _o_fmodf().
ucrtbase/tests: Add tests for the various tolower() and toupper() variants.
Michael Stefaniuc (1):
dmime/tests: Destroy the performance on an error path (Valgrind).
Nikolay Sivov (25):
include: Update CTF_ flags.
include: Update shell link flags enum.
shlwapi: Fix spec entry for QISearch().
jscript/tests: Add missing checks for Close() calls (Coverity).
shell32/tests: Remove workarounds for SHGetFolderLocation().
shell32/tests: Get rid of SHGetMalloc() in tests.
shell32/tests: Use ILFree() directly.
shell32/tests: Use GetLongPathNameA() directly in tests.
shell32/tests: Use GetShortPathNameA() directly in tests.
kernel32/tests: Remove GetLongPathName() workarounds.
kernel32: Fix spec entries for GetLongPathName().
ole32/tests: Link to CoInitializeEx() directly.
shell32/tests: Use ILIsEqual() directly.
shell32/tests: Remove some more workarounds from shelllink tests.
gdi32/tests: Remove some workarounds in font tests.
gdi32/tests: Remove workarounds for SetLayout().
oleaut32/tests: Remove some workarounds for functions that are assumed to be available.
user32/tests: Add some more SetScrollInfo() tests.
shell32/tests: Use SHParseDisplayName() directly.
user32/tests: Remove some workarounds for older Windows versions.
d3d8/tests: Use GetCursorInfo() directly.
advapi32/tests: Remove some workarounds for older versions.
user32/tests: Use device context layout functions directly.
advapi32/tests: Use CreateWellKnownSid() directly.
advapi32/tests: Remove some workarounds in Crypt* tests.
Paul Gofman (1):
user32/tests: Handle results on Win10 in test_Image_StretchMode().
Piotr Caban (1):
ucrtbase: Fix end pointer setting in parse_double on partial nan/infinity match.
Thomas Faber (1):
setupapi/tests: Remove an unused variable.
Zebediah Figura (17):
shell32/tests: Avoid testing that only certain services are requested by IObjectWithSite::SetSite().
ntdll: Fix a typo in get_current_directory().
kernel32/tests: Fix some codepage test failures with Windows 10.
user32/tests: Make the DDE tests less verbose by default.
user32/tests: Relax WindowFromDC() tests a bit.
user32/tests: Get rid of the test for DC handle reuse.
gdi32/tests: Separate and expand tests for GetClipBox().
gdi32/tests: Clarify return values from IntersectClipRect() and ExcludeClipRect().
user32/tests: Avoid testing that GDI handles are no longer valid.
user32/tests: Fix a dialog test failure on Windows 10.
wininet/tests: Don't test that the URL cache is used for persistent cookies.
wininet/tests: Simplify test_InternetErrorDlg().
wininet/tests: Fix some test failures with Windows 10.
user32/tests: Fix some test failures on Windows 10.
netapi32/tests: Rewrite UNC/HTTP conversion tests.
netapi32/tests: Use wide character string constants.
netapi32/tests: Remove some workarounds for no longer supported versions of Windows.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.0-rc4 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0-rc4.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0-rc4.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 5.0-rc4 (total 15):
12321 Some WinInet tests are invalid
12359 Multiple apps can't detect audio CDs (affects Express Rip, Exact Audio Copy, dbpoweramp CD Ripper)
12363 Exact Audio Copy hangs early when in "native win32" mode.
14715 TopStyle can't preview with wine's built in browser
30039 Can't download Adobe Photoshop CS 5 trial - Adobe Download Assistant can't log in
30102 ieframe/webbrowser test often crashes
33068 PDF-XChange Viewer 2.5.x (32-bit and 64-bit) crashes when trying to save changes/annotations to PDF file
40779 PDF Eraser 1.5 (.NET 4.0 app): Paste of license data from clipboard fails with Wine-Mono
43540 Cosmoteer: ships in game not rendered
44026 Content Manager crashes
44994 Pokemon Reborn crashes when starting
46230 dlls/wininet/http: build failure on NetBSD
47498 Touhou Danmakufu 0.12m crashes on startup in 4.12.1
47820 Magic: The Gathering Arena installer needs powershell.exe (cannot find it)
48374 Divinity: Original Sin 2 - Icons in inventory are invisible (...again!)
----------------------------------------------------------------
Changes since 5.0-rc3:
Alex Henrie (1):
po: Fix typo in Catalan translation.
Alexandre Julliard (2):
ntdll: Fix memory leak in RtlNormalizeString().
Update copyright info for 2020.
Erich Hoover (3):
msvcrt: Rework strtod_helper to be reusable.
msvcrt: Use parse_double for wcstod.
msvcrt: Use parse_double for scanf floats.
François Gouget (1):
user32/tests: Don't trace the test_topmost() window handles.
Gabriel Ivăncescu (2):
quartz: Reset the advise thread's timeout on each iteration.
wined3d: Return FALSE rather than E_FAIL in wined3d_context_gl_create_wgl_ctx.
Hans Leidekker (2):
qmgr/tests: Fix test failures on Windows XP.
msi/tests: Avoid test failure when running as an unprivileged user.
Jacek Caban (4):
kernel32/tests: Get rid of no longer needed win9x checks.
kernel32/tests: Use WAIT_EVENT_TIMEOUT in wait_for_breakpoint.
kernel32/tests: Don't use blackbox for crashing process.
kernel32/tests: Avoid function pointers for functions present since XP.
Kim Malmo (1):
po: Update Norwegian translation.
Lauri Kenttä (1):
po: Update Finnish translations.
Matteo Bruni (2):
d3dcompiler/tests: Load the correct d3dcompiler DLL in the HLSL tests.
d3dcompiler/tests: Load the correct d3dcompiler DLL in the asm tests.
Nikolay Sivov (5):
include: Update DWRITE_INFORMATIONAL_STRING_ID enum.
kernelbase: Fix a typo in weights comparison helper (Coverity).
vbscript/tests: Add missing checks for Close() calls (Coverity).
strmbase: Fix fixed size buffer copy in JoinFilterGraph() (Coverity).
ole32/tests: Add some return value checks (Coverity).
Piotr Caban (5):
msvcrt: Improve strtod precision.
webservices: Fix WsWriteText test crash on Windows 10.
ucrtbase: Fix 0 parsing in parse_double.
msvcrt: Update consumed in all scanf variants on end of input.
msvcrt: Don't use ungetc when reading double in scanf.
Vijay Kiran Kamuju (1):
include: Add IWbemContext and IWbemCallResult interface and other class definitions.
Zebediah Figura (14):
ntdll/tests: Fix some test failures with Windows 10.
quartz/tests: Skip the IVideoWindow tests if connecting returns E_FAIL.
kernel32: Exclude IsBadStringPtrA() from relay traces.
kernel32/tests: Fix a test failure on Windows 10.
user32/tests: Work around a failure on Windows < Vista.
ntdll: Avoid debug traces in _vsnprintf().
ole32/tests: Fix some failures on Windows 10.
ole32/tests: Only test the original SChannelHookCallInfo structure.
ole32/tests: Get rid of some workarounds for no longer supported versions of Windows.
ole32/tests: Make the tests less verbose by default.
winegstreamer: Catch errors while waiting for pin connection.
ntdll/tests: Fix some exception test failures.
mfplat/tests: Link dynamically to d3d11.
d3dcompiler/tests: Load d3dx9_36.dll dynamically.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.0-rc3 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0-rc3.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.0-rc3.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 5.0-rc3 (total 46):
11633 Blood 2: The Chosen Launcher audio bug
11998 NEXON client installers using embedded IE browser control: buttons don't respond to click (Lunia Senki, Combat Arms, War Rock)
12675 Lego Racers crashes trying to play videos when Indeo 5 codec is not installed
12941 International Football 2000: crashes when launching in Direct3D mode
14901 MoveFile fails when used to recase some letters of the filename
17766 Empire Earth crashes on start without native directmusic
21218 Pac-Man All Stars: Story Mode starts with page fault on read access
21715 Blitz3d demo version can't show samples
21791 3D Rad demo "BeltBall" full screen display shows as tiny black rectangle
22278 swkotor crashes on videos
23002 Dynamic HTML Editor unusable due to screen refresh problem
23525 Daytona USA Evolutions: some text/graphics are black, should be colored
24740 Trinklet Supreme crashes on startup
24946 uTorrent 2.2.0 hangs on startup (FD_WRITE event is reported over and over in WSAEnumNetworkEvents for a bound UDP socket)
26566 Gabriel Knight 3: visual glitches in DirectDraw HAL mode
27525 Active Worlds 5.x/6.x shows 3D-world view/window separated from main window (embedded browser control)
31562 crash in mmdevapi/MMDevCol_GetCount() using lithtech game engine.
33829 explorer.exe crashes with simsun.ttc in non-english locale
33908 Undercover: Operation Wintersun demo freezes on start
34232 Rigs of Rods: dropdown menus have too small height
34383 BoulderDashPortal does not start
35412 wine's cmd fails on if not exist foo\nul
35613 Foxit Reader 6.12: 'Show Certificate' button is greyed out after failure to validate digital signature
36878 You Don't Know Jack V1 XL: Not possible to accept license agreement in installer
37574 Everyday Shooter -- crackling/popping sound
37900 Xara Photo Graphic Designer 2013 (8.1.1) crashes on startup
39084 Simpsons Hit & Run regression: fullscreen glitching
39809 Empires: Dawn of the Modern World crash on startup
41619 Lego Racers: crashes when moving the mouse
43115 Metal Slug 1, X, 3 (GOG.com) fail to start
43368 HashMyFiles: Drag & Drop from native File Managers (Dolphin, Nautilus, ...) does not work
44019 Stud.io: parts not showing in the Building Palette
44062 Hedgewars 0.9.23 crashes on start
44773 LEGO Pirates of the Caribbean DEMO crashes on startup
44798 New Bugs on Epic Games
45608 Flintest: Garbled Text
47428 mouse input skipping / jitter in conjunction with xf86-video-amdgpu in almost every game
47484 `winetricks -q dotnet20sp1` fails when compiled with mingw (failure to relocate PE builtin ngen.exe)
47710 objidl.h contains invalid C++
47969 Taiga: Crashes on changing the grouping in seasons
48141 Total Commander: launching of native linux commands for file associations is broken
48180 Divinity: Original Sin 2 - Icons in inventory are invisible
48324 cl.exe fails to compile valid code with float constant due to error C2177: constant too big
48349 Steam doesn't display main window
48350 TrackMania Forever: Dialog after running the ingame benchmark doesn't show up
48358 Dell Latitude E6440 BIOS updater crashes on unimplemented function ntoskrnl.exe.KeSetImportanceDpc
----------------------------------------------------------------
Changes since 5.0-rc2:
Alex Henrie (2):
ntoskrnl: Add KeSetImportanceDpc stub.
po: Update Catalan translation.
Alexandre Julliard (2):
d3d8: Remove redundant includes.
ntdll: Fix memory corruption in RtlNormalizeString().
Damjan Jovanovic (1):
winex11.drv: Ignore .dwAspect in FORMATETC during XDnD.
Dmitry Timoshkov (2):
ntdll: Use default casemap and codepage file names if the value in registry is empty.
msscript.ocx/tests: Fix a typo.
Erich Hoover (2):
ntdll: Drop support for floating point numbers in sscanf.
msvcrt: Fix [str|wcs]tod result being compared against FLT_MAX.
Jeff Smith (1):
include: Declare _STGMEDIUM_UNION type except when it violates C spec.
Martin Storsjo (1):
msvcrt: Only export __p__* functions on i386.
Michael Stefaniuc (2):
dmstyle: Avoid cloning the IStream in parse_style_form().
dmcompos/tests: Add Chord track GetParam/SetParam tests.
Nikolay Sivov (6):
dwrite/tests: Improve coverage of IsMonospacedFont() tests.
dwrite/tests: Add IsColorFont() tests.
ole32/tests: Use heap-based object for custom moniker.
ole32/tests: Add a test for bind speed used by item moniker BindToObject().
ole32/tests: Add some tests for item moniker ParseDisplayName().
include: Update DWRITE_FONT_PROPERTY_ID enum.
Piotr Caban (3):
msvcr90: Fix compilation warning in __AdjustPointer tests.
msvcrt/tests: Improve doubles comparison in strtod and atodbl tests.
msvcr90/tests: Improve floats comparison in _atoflt tests.
Rémi Bernon (7):
user32/tests: Move TEST_MOUSEACTIVATE to test_defwinproc.
user32/tests: Return MA_ACTIVATE to WM_MOUSEACTIVATE on main test window.
winex11.drv: Send HTMENU instead of HTCAPTION to query window activation.
ntdll: Rename find_free_area to find_reserved_free_area.
ntdll: Split view search initialization to find_view_inside_range function.
ntdll: Replace incorrect find_free_reserved_area function call.
ntdll: Start find_free_area from address_space_start instead of 0.
Steve Lhomme (2):
include: Add dxgidebug.idl.
include: Add D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT.
Zebediah Figura (9):
winegstreamer: Recognize the "video/x-cinepak" type.
ole32/tests: Avoid testing exact sequences of IUnknown methods.
ole32/tests: Rewrite and expand test_data_cache_updatecache().
ole32/tests: Make the tests less verbose by default.
oleaut32/tests: Avoid testing that GDI objects are invalid.
ntdll/tests: Remove a no longer reliable test.
user32/tests: Remove unnecessary uses of CREATE_SUSPENDED.
user32/tests: Get rid of some Windows 9x workarounds.
user32/tests: Work around failures on Windows 10 version 1607.
Zhiyi Zhang (5):
configure: Update Xinerama and XRandR extension help strings.
user32/tests: Mark some GetDeviceCaps() tests as todo on Wine.
winhttp: Initialize a return variable.
include: Fix SetupDiOpenDeviceInterfaceRegKey() prototype.
include: Add GUID_DEVINTERFACE_MONITOR.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.0-rc2 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0-rc2.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.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 5.0-rc2 (total 36):
10696 Direct3D mode in Age of Wonders 2 demo is unusably slow and glitchy
18879 The Sims 3: Textures go Black and sometimes Abnormal patterns.
26276 StarFisher: Crashes when entering a New Event
30506 GdipGraphicsClear() needs to overwrite pixels, not alpha blend (Text misrendered in Brain Workshop)
31399 Pegasus Mail 4.6x is crashing
31543 Warface not started
35205 WOLF RPG Editor 2.10: Updating the whole texture in IDirect3DDevice9::UpdateTexture() breaks font caches
35731 Startopia: menu contents flicker
38054 DoDragDrop() should abort when IDropSource::QueryContinueDrag fails
38596 Photo Ninja 1.2.5 (32 bit) crashes on startup
38981 Super Mario Bros X v1.3.x crashes when starting game with sound enabled
39804 Algodoo v2.1.0 crashes on startup
42942 Disgen 2016: Fatal error when adding a person to the database (Sqlite).
43189 Christmas Magic crashes on start without native d3drm
44734 D3D accelerates can't be enabled in Plants Vs Zomies ,When this is selected,It says hardware not supported.
46981 winetricks -q --verify dotnet461 crashes under win64
47275 winecfg fails to connect to mountmgr on 64-bit
47350 Winecfg crashes on exit (macOS wine built without mingw)
47364 COM ports do not work
47565 winetricks vcrun* verbs fail with Wine 4.12(+), when using a 32-bit WINEPREFIX
47649 Wavelab 6 Installs but cannot launch (Mingw generates misplaced stack pointer in DECLSPEC_HOTPATCH stubs for 32-bit)
47817 Gameforge Client: Cannot launch TERA
47856 Logos Bible Software (.Net 4.7.2 app) crashes in win8/10 (probably RtlQueryUnbiasedInterruptTime insufficiency)
47959 WINE fails to configure on CYGWIN
47993 Epic Games Launcher crashes at the installation
48059 IMVU Social Network Client hangs
48088 Wrong color mapping with client-side graphics on 256-color X server
48160 cl.exe (visual studio 2017) fails to compile c++ due to error C2177: constant too big
48183 Running most applications causes a crash in krnl386.exe DllMain() when the Windows version is set to non-NT
48239 MTGA Launcher fails to download the game (regression)
48261 Batman: Arkham Knight hangs when trying to close upgrade screen
48273 Relay debugging is broken in a --without-mingw build
48288 kernelbase: Japanese character wrongly reported as invalid.
48300 timezone info not found for 'CET' spam on prefix creation
48304 Mail.ru Game Center incorrectly determines the version of Windows that is being used, therefore it does not start, because it requires at least Windows 7.
48314 Building wine on CentOS7 fails due to lack of libkrb5
----------------------------------------------------------------
Changes since 5.0-rc1:
Akihiro Sagawa (2):
kernel32/tests: Refactor MB_ERR_INVALID_CHARS tests.
kernelbase: Use translated Unicode default char to check invalid chars.
Alexandre Julliard (21):
libport: Fix the Cygwin build.
kernel32: Duplicate OutputDebugStringA implementation.
api-ms-win-core-localization: Add spec entry for FindNLSString().
ntdll: Fix RtlQueryUnbiasedInterruptTime() prototype.
ntdll: Fix loading the main binary as PE file with an explicit dll override.
msvcrt/tests: Add some tests for wcstoi64().
msvcrt: Fix wcstoul() to behave identically to strtoul().
include: Allow using debug.h in tests.
advapi32/tests: Use debug.h functions.
d3dx9_36/tests: Fix some constant conversion warnings.
oledb32/tests: Fix a constant conversion warning.
winmm/tests: Fix a constant conversion warning.
msvcp120/tests: Don't use const pointers to avoid compiler warnings.
ntdll: Silence the timezone fixme when the registry is empty.
tools: Upgrade the autoconf scripts.
winebuild: Add a --builtin option to mark PE files as builtins.
winegcc: Use winebuild to set the builtin flag.
makefiles: Add the builtin flag again after stripping.
configure: Disable gssapi also when linking with kerberos doesn't work.
winex11: Use the default color table for window surfaces on 8bpp displays.
winecrt0: Preserve last error when loading debug functions.
Alistair Leslie-Hughes (3):
dmloader: Release objects on error paths (Coverity).
oledb32/tests: Add PromptNew interactive test.
dmime: IDirectMusicAudioPath Release primary buffer.
André Hentschel (3):
kernel32: Fix some spec file entries.
mapi32: Fix some spec file entries.
rpcrt4: Fix RpcNetworkIsProtseqValid[AW] spec file entries.
Charles Davis (4):
kernel32: Forward OpenThreadToken() to kernelbase.
kernel32: Forward OpenProcessToken() to kernelbase.
winemac.drv: Pass the CAMetalLayer to MoltenVK.
winemac.drv: Support VK_EXT_metal_surface.
Damjan Jovanovic (2):
ws2_32: Remove an unneeded todo_wine.
wineserver: Avoid spurious FD_WRITE on repeated calls to WSAEventSelect().
Erich Hoover (2):
msvcrt: Implement strtod without using 'long double'.
msvcrt: Implement wcstod without using 'long double'.
Jacek Caban (6):
jscript/tests: Allow GetTypeInfo calls.
rpcrt4: Fix implicit in attribute handling in write_param_fs.
rpcrt4: Support VT_BSTR in get_param_pointer_info.
wininet: Add missing schemes to url_schemes.
wininet: Don't set default gopher protocol in InternetCrackUrlW.
configure: Allow setting CROSSLDFLAGS by configure.
Louis Lenders (1):
kernel32: Update version to win7.
Michael Stefaniuc (6):
dmband/tests: Use wide-char string literals.
dmime/tests: Use wide-char string literals.
dmstyle/tests: Use wide-char string literals.
dswave/tests: Use wide-char string literals.
dmime: Use a rbtree to store the PChannels of a performance.
dmime/tests: Add PChannel tests.
Nikolay Sivov (13):
ole32/tests: Add tests for system moniker identification queries.
ole32/tests: Add some tests for item moniker equality.
ole32/tests: Test inverse moniker type.
ole32/tests: Add some tests for combined antimonikers.
ole32/tests: Remove trace noise from moniker tests.
ole32/tests: Add equality tests for antimonikers.
ole32/tests: Add some more tests for item moniker hashing.
ole32/tests: Add PropVariantCopy() test for BSTR with embedded null.
include: Add I1 vector definitions for PROPVARIANT.
ole32/tests: Add some tests for Reduce().
dwrite/tests: Improve coverage of IsSymbolFont() tests.
ole32/tests: Add a trivial test for IMoniker::Enum().
po: Update some Russian strings.
Zebediah Figura (6):
ntdll: Return -1 from Unix code page conversion functions if an error was encountered.
winegstreamer: Clear the "reader" and "allocator" fields if connection fails.
qedit/samplegrabber: Clean up the pins in sample_grabber_destroy().
qedit/samplegrabber: Consistently use the "pMemInputPin" member of struct strmbase_source.
qedit/samplegrabber: Fix a typo in format type negotiation.
rpcrt4: Fix ITypeInfo ref count handling.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 5.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 5.0. It
marks the beginning of the yearly code freeze period. Please give this
release a good testing to help us make 5.0 as good as possible.
What's new in this release (see below for details):
- Gecko update, with support for running from a global location.
- Unicode data updated to Unicode version 12.1.
- Initial version of the MSADO (ActiveX Data Objects) library.
- Update installation support in the WUSA (Windows Update Standalone) tool.
- More progress on the kernel32/kernelbase restructuring.
- Support for signing with ECDSA keys.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/5.0/wine-5.0-rc1.tar.xzhttp://mirrors.ibiblio.org/wine/source/5.0/wine-5.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 5.0-rc1 (total 37):
12406 Microsoft Document Explorer 2008 crashes when using MS Help 2 URL from command line (ieframe's WebBrowser COM object doesn't support aggregation)
13020 wintetris 1.01 background color wrong sometimes
21249 Midtown Madness 2 (v1.1NoCD): memMemoryAllocator::FindHeap failed on ptr 2056d18
26757 Multiple Microsoft installers need implementation of Windows Update Standalone Installer 'Wusa.exe' to support '.msu' packages (.NET Framework 4.5.x/4.6.x/Win Vista+, IE8/Win Vista+, IE10/Win7 mode)
37793 FIFA Online 3 launcher crashes on startup ('SEC_RESERVE' attribute has no effect for file mapping objects that are backed by physical files)
38817 FXCM Trading Station II installer reports 'OLE error 80004001' when running as 'Windows Vista' or higher ('ITaskbarList3::ThumbBarSetImageList' is a stub)
38830 Symenu 4.11 (.NET 2.0 app) crashes on startup with Wine-Mono
39643 DM Genie 2.x (VB6 app) fails on startup with 'Automation error. ... Check the Scripting function Skill Bonus'
39692 64-bit dlls/msdaps/row_server_p.c generates build warnings (discarded "const" qualifier)
40489 wbemprox does not support ASSOCIATORS query
41639 Wine with freetype 2.7 causes font rendering issues
42046 VSDC Video Editor. Crashes in ole32 when opening.
42051 Costume Quest 2 crashes when using DX11 renderer
43447 Geometry Wars 3 doesn't spawn a window
43644 Disk free space incorrect on file systems with more than 2TB free
43817 Multiple .NET applications (Chime, DxO Photolab 2 trial) crash, need RegisterApplicationRecoveryCallback to return S_OK
44456 Multiple Windows 7+ games and applications crash due missing 'kernel32.dll' -> 'kernelbase.dll' load-time dependency (64-bit Football Manager 2017, IP Camera Viewer 4.x)
44842 Listview returns item data fields when called for unset subitems
44883 warframe crashes with builtin xaudio2, needs IXAudio2::CommitChanges
46196 Beat Hazard 2: Crashing if no GeoID is set, missing country code and flag.
46262 Beat Hazard 2: Small window size after minimizing
46535 Exception FindFirstFileExW_rep in ntdll, by Mod Organizer (Skyrim)
46842 C# 'double.TryParse( String.Empty, out number)' incorrectly succeeds with .NET Framework 4.0 and WinVer set to 'Windows 7'
47126 GCC 9.x compilation warnings for Wine 4.7
47459 ListBox LB_SETSEL doesn't scroll to newly selected item
47960 chcp.com does not exist
48077 UPlay fails to start : "Error at hooking API NtProtectVirtualMemory" (UPlay's hooking engine can't handle ENDBR32 instruction inserted at non-hotpatch API entries due to distro build environments '-fcf-protection')
48082 Visual C++ Express 2005 needs shell32.PathResolveW implementation (or fake success)
48153 Mono's ProcessTest.Start1_FileName_Whitespace test fails
48185 Applications crashing with "Not enough memory to run application"
48211 Regression: midl.exe fails to execute MIDL engine
48234 Multiple ODBC applications using Bulk Copy Program (BCP) API need 'odbcbcp.dll' (Odin Diet)
48240 Build error in cabinet/bcrypt gnutls.c in current git
48242 IXMLDOMDocument_load() paths aren't URL-unescaped (Microsoft Document Explorer 2008 startup error)
48245 wbemlocator parse_resource contains non-null terminated string, causing garbage output in trace logs
48271 Qt5 dropdown menu and combobox does not show on click
48277 dotnet30sp1 fails to install
----------------------------------------------------------------
Changes since 4.21:
Akihiro Sagawa (6):
d3d9/tests: Add out-of-bounds region tests.
d3d8/tests: Add out-of-bounds region tests.
wined3d: Validate dirty regions in wined3d_texture_add_dirty_region().
wined3d: Record dirty regions for d3d9 textures.
wined3d: Update a part of the texture if dirty regions are tracked.
d3d8: Support texture dirty regions.
Alex Henrie (1):
shell32: Symlink the Downloads and Templates folders too.
Alexandre Julliard (62):
kernelbase: Fix assumptions about 0-size output buffer in ntdll Unicode conversion functions.
kernel32: Fix assumptions about 0-size output buffer in ntdll Unicode conversion functions.
ntdll: Implement custom codepage conversion functions.
ntdll: Avoid memory allocations in RtlUpcaseUnicodeString functions.
ntdll: Reimplement multibyte to Unicode conversion functions using the Win32-format tables.
ntdll: Reimplement Unicode to multibyte conversion functions using the Win32-format tables.
ntdll: Reimplement Unicode case mapping functions using the Win32-format tables.
ntdll: Get rid of __wine_init_codepages().
kernelbase: Verify that the file can be opened when looking for an executable.
jscript: Always check for errors in UTF8 conversions.
ntdll: Reimplement RtlUnicodeToUTF8N.
ntdll: Implement RtlUTF8ToUnicodeN.
ntdll: Use the Rtl UTF8 conversion functions.
kernel32: Use the Rtl UTF8 conversion functions.
kernel32: Initialize argv from the dll entry point.
kernel32: Move some initialization code to ntdll.
user32: Forward string calls to kernelbase.
server: Determine the server directory in the server itself.
server: Determine the prefix directory in the server itself.
server: No longer depend on libwine.
ntdll: Fix DBCS mappings in RtlCustomCPToUnicodeN().
ntdll: Fix contents of the glyph table in generated codepage data.
kernelbase: Reimplement MultiByteToWideChar() using Win32-format codepage tables.
kernelbase: Reimplement WideCharToMultiByte using Win32-format codepage tables.
winecrt0: Create the Ansi argv from the Unicode one.
msvcrt: Create the Ansi argv from the Unicode one.
kernel32: Remove initialization of the global argv.
kernel32: Use MultiByteToWideChar() and WideCharToMultiByte() from kernelbase.
kernel32: Move Get/SetLocaleInfoW() to kernelbase.
configure: Disable gcc control flow protection.
configure: Disable gcc stack protection.
configure: Get rid of the gcc strength-reduce bug check.
kernel32: Move GetStringType functions to kernelbase.
kernelbase: Directly use the wctype table for the IsChar* functions.
kernel32: Move LCMapString functions to kernelbase.
kernel32: Move the CompareString functions to kernelbase.
kernel32: Move GeoID functions to kernelbase.
kernel32: Remove __wine_kernel_init().
kernelbase: Add an OpenConsoleW() replacement wrapper.
kernelbase: Add IsBadStringPtr() replacement functions.
kernel32: Move timezone functions to kernelbase.
server: Add status code for ELOOP error.
ntdll: Add status code for ELOOP error.
kernel32: Move FindFirst/NextFile functions to kernelbase.
kernelbase: Avoid calling some kernel32 functions.
kernelbase: Redirect heap allocation functions to ntdll.
kernel32: Remove heap function replacements.
kernelbase: Use exception handlers instead of IsBad* functions.
kernelbase: Avoid using OpenFile().
makefiles: Install only exe files in the bin directory.
kernelbase: Save registry keys directly to the destination file.
server: Support passing a handle to get_console_wait_event.
kernelbase: Use a direct server call instead of GetConsoleInputWaitHandle().
kernelbase: Move some console support back to kernel32.
include: Move timezone definitions to timezoneapi.h.
kernelbase: Reimplement EnumDynamicTimeZoneInformation() using GetTimeZoneInformationForYear().
kernelbase: Implement DnsHostnameToComputerNameExW().
kernelbase: Implement the Get/SetComputerName functions.
kernel32: Use the Get/SetComputerName functions from kernelbase.
kernel32: Disable relay trace for __wine_start_process().
kernelbase: Remove support for LZ files in 32-bit version functions.
kernelbase: No longer import kernel32.
Alistair Leslie-Hughes (9):
odbccp32: Implement SQLConfigDataSource/W.
wineqtdecoder: Fix some copy-paste errors.
loader: Install msado15.dll into the correct location.
msado15: Support all interfaces in _Recordset QueryInterface.
msado15: Implement _Connection_get_State.
msado15: Implement _Connection_get_CommandTimeout and _Connection_put_CommandTimeout.
oledb32: Implement IDataSourceLocator PromptNew.
msado15: Add ISupportErrorInfo support to _Connection.
msado15: Add _Command stub interface.
Anastasios Simeonidis (3):
ntdll: Move relationship filtering to create_logical_proc_info.
ntdll: Implement relationship filtering for create_logical_proc_info on linux.
ntdll/tests: Add relationship tests for NtQuerySystemInformationEx.
Andrey Gusev (14):
dxgi/tests: Fix a typo in ok() message.
uianimation: Remove duplicate WINAPI.
mapi32: Reorder the WINAPI with the HRESULT.
kernel32/tests: Reorder the WINAPI with the void.
sapiaut.idl: Fix a typo.
ieframe/tests: Fix a typo in ok() message.
kernelbase/tests: Fix a typo in ok() message.
ieframe/tests: Fix a typo in ok() message.
mshtml/tests: Fix a typo in ok() message.
mshtml/tests: Fix a typo in ok() message.
po: Update Ukrainian translation.
ieframe/tests: Fix a typo in ok() message.
ntoskrnl.exe/tests: Fix typos in ok() messages.
ole32: Fix typos in comments.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Austin English (1):
httpapi: Return ERROR_SUCCESS for unimplemented flags in HttpInitialize.
Bernat Arlandis (1):
dinput: Log effect directions, and use effective flags.
Biswapriyo Nath (1):
include: Update d3d9caps.h header file.
Charles Davis (4):
winemac.drv: Also stop dragging if we receive a mouse up event.
iphlpapi: Set the SpecificPortBind bit if the caller wants it on BSD.
iphlpapi: Correct Forwarding value from GetIpStatistics(Ex)() on *BSD.
iphlpapi: Implement some more IpStatistics on BSD.
Damjan Jovanovic (4):
msxml3: All string passed to IXMLDOMDocument_load() need to be URL-unescaped.
ieframe: Implement COM aggregation in WebBrowser.
gdiplus: Start implementing CompositingModeSourceCopy.
gdiplus: GdipGraphicsClear() should overwrite pixels, not alpha blend.
Derek Lesho (7):
winex11: Set the scan code prefix when necessary.
winemac: Set the scan code prefix when necessary.
wineandroid: Set the scan code prefix when necessary.
users/tests: Test scan code prefix for MAPVK_VK_TO_VSC_EX.
bcrypt: Add support for signing hashes with ECDSA keys.
bcrypt: Add more BCryptSignHash tests.
bcrypt: Add fallback when gnutls_decode_rs_value isn't present.
Erich Hoover (3):
chcp: Add a stub application for changing the codepage.
chcp: Return the active code page when called without arguments.
chcp: Set the global codepage when called with an argument.
Ethan Lee (1):
wined3d: Add Intel HD 615 PCI id and device description.
François Gouget (51):
vbscript/tests: Fix the name of a vbscript variable in the run test.
user32/tests: Avoid an unneeded (&commented out) strlen() call.
user32/tests: Avoid an unneeded lstrlenA() call.
user32/tests: Avoid a couple of unneeded strlen() calls.
user32: Fix the spelling of a TRACE() message.
comctl32/tests: Avoid an unneeded strlen() call.
comctl32/tests: Avoid a couple of unneeded lstrlenA() calls.
cmd: Fix the spelling of a WINE_TRACE() message and a comment.
wmvcore: Fix the spelling of WMReaderAdvanced6_SetProtectStreamSamples().
shlwapi/tests: Fix the spelling of a couple of ok() messages.
kernel32/tests: Trace LastError when GetPhysicallyInstalledSystemMemory() fails.
winhttp/tests: Fix the spelling of ok() and skip() messages and a comment.
oleaut32: Fix the spelling of a FIXME() message.
user32/tests: Fix the spelling of an ok() message.
winedbg: Avoid unneeded strlen() calls.
cmd: Avoid unneeded strlenW() calls.
msado15: Fix the name of the GetString() delimiter parameters.
jscript: Fix the spelling of a couple of comments.
riched32/tests: Avoid an unneeded strlen() call.
msvcrt/tests: Avoid an unneeded strlen() call.
qcap/tests: Avoid an unneeded lstrlenW() call.
kernelbase/tests: Avoid an uneeded lstrlenW() call.
winedbg: Fix the spelling of various messages and the README.
ws2_32/tests: Fix the spelling of a couple of ok() messages.
winecfg: Avoid an unneeded strlen() call.
dmloader: Fix the spelling of a TRACE() message and a comment.
msxml3/tests: Avoid an unneeded lstrlenW() call.
winex11.drv: Fix the spelling of a WARN() message.
dmime/tests: Fix the spelling of a performance ok() message.
winemac.drv: Fix the spelling of a couple of comments.
vbscript/tests: Fix the spelling of a vbscript comment.
d3dx9_36: Fix the spelling of a comment.
shell32: Fix the spelling of a variable name.
urlmon/tests: Fix the spelling of a variable name.
usp10: Fix the spelling of some index array variables and function.
wined3d: Fix the spelling of some comments.
include: Fix the spelling of some comments.
wineps.drv: Avoid unneeded abbreviations in comments.
ole32: Fix the spelling of a couple of comments.
usp10: Fix the spelling of some comments.
wininet: Fix the spelling of a comment.
ntdll: Fix the spelling of some comments.
oleaut32: Fix the spelling of some comments.
msxml3: Fix the spelling of some comments.
shlwapi: Fix the spelling of a couple of comments.
winevulkan: Fix the spelling of a make_vulkan comment.
winevulkan: Fix the spelling of an ERR() message.
urlmon/tests: Fix the spelling of a comment.
user32: Fix the spelling of a comment.
shell32: Tweak / fix the MS-DOS name in a comment.
quartz: Fix the name of a type in a comment.
Gabriel Ivăncescu (48):
vbscript: Move the global lists to the script dispatch object.
vbscript: Reference count the vbscode_t.
vbscript: Copy the variable names into the script dispatch's heap.
vbscript: Store the necessary function and variable info in the script TypeInfo.
vbscript: Implement ScriptTypeInfo_GetTypeAttr.
vbscript: Implement ScriptTypeInfo_GetFuncDesc.
vbscript: Implement ScriptTypeInfo_GetVarDesc.
vbscript: Implement ScriptTypeInfo_GetIDsOfNames.
vbscript: Implement ScriptTypeInfo_GetTypeComp.
vbscript/tests: Add initial tests for the script TypeInfo.
vbscript: Don't free procs allocated in the heap pool.
vbscript: Implement ScriptTypeComp_Bind.
vbscript: Implement ScriptTypeComp_BindType.
vbscript/tests: Add tests for the script TypeInfo's TypeComp binds.
vbscript: Remove unused field.
jscript: Add script TypeInfo stub.
vbscript: Implement ScriptTypeInfo_GetNames.
vbscript: Implement ScriptTypeInfo_GetRefTypeOfImplType.
vbscript: Implement ScriptTypeInfo_GetRefTypeInfo.
vbscript: Implement ScriptTypeInfo_GetImplTypeFlags.
vbscript: Implement ScriptTypeInfo_Invoke.
vbscript: Implement ScriptTypeInfo_GetDocumentation.
vbscript: Implement ScriptTypeInfo_GetDllEntry.
vbscript: Implement ScriptTypeInfo_AddressOfMember.
vbscript: Implement ScriptTypeInfo_CreateInstance.
vbscript: Implement ScriptTypeInfo_GetMops.
vbscript/tests: Add more tests for the script TypeInfo.
jscript: Keep a pointer to the bytecode in function_code_t.
jscript: Store the necessary function and variable info in the TypeInfo.
jscript: Implement ScriptTypeInfo_GetTypeAttr.
jscript: Implement ScriptTypeInfo_GetFuncDesc.
jscript: Implement ScriptTypeInfo_GetVarDesc.
jscript: Implement ScriptTypeInfo_GetIDsOfNames.
jscript: Implement ScriptTypeInfo_GetTypeComp.
jscript: Implement ScriptTypeComp_Bind.
jscript: Implement ScriptTypeComp_BindType.
jscript/tests: Add initial tests for the script TypeInfo.
jscript: Implement ScriptTypeInfo_GetNames.
jscript: Implement ScriptTypeInfo_GetRefTypeOfImplType.
jscript: Implement ScriptTypeInfo_GetRefTypeInfo.
jscript: Implement ScriptTypeInfo_GetImplTypeFlags.
jscript: Implement ScriptTypeInfo_Invoke.
jscript: Implement ScriptTypeInfo_GetDocumentation.
jscript: Implement ScriptTypeInfo_GetDllEntry.
jscript: Implement ScriptTypeInfo_AddressOfMember.
jscript: Implement ScriptTypeInfo_CreateInstance.
jscript: Implement ScriptTypeInfo_GetMops.
jscript/tests: Add more tests for the script TypeInfo.
Gijs Vermeulen (5):
msvcrt: Optimize _strlwr implementation in C locale.
secur32: Avoid compiler warning.
winemac: Avoid some compiler warnings.
shell32: Implement PathResolve.
shell32/tests: Add PathResolve tests.
Hans Leidekker (40):
wusa: Add support for extracting MSU files.
wusa: Parse assembly manifests.
wusa: Parse update descriptions.
wusa: Install updates.
msado15: Add typelib.
msado15: Add a stub _Connection implementation.
msado15: Add a stub _Recordset implementation.
msado15: Add a stub _Stream implementation.
msado15: Implement _Stream_put_Type and _Stream_get_Type.
bcrypt: Handle SHA1 hash in key_asymmetric_verify.
msado15: Implement _Stream_Open and _Stream_Close.
msado15: Implement _Stream_get_State.
msado15: Implement _Stream_Read and _Stream_Write.
msado15: Implement _Stream_get_Position and _Stream_put_Position.
msado15: Implement _Stream_get_Size.
wbemprox: Use a terminated string in parse_resource.
msado15: Implement _Stream_get_EOS.
msado15: Implement _Stream_get_LineSeparator and _Stream_put_LineSeparator.
msado15: Implement _Stream_get_Mode and _Stream_put_Mode.
msado15: Implement _Stream_get_Charset and _Stream_put_Charset.
msado15: Implement _Stream_ReadText and _Stream_WriteText.
winhttp/tests: Show that WINHTTP_OPTION_SECURE_PROTOCOLS can't be set on connection handles.
msado15: Implement _Stream_SetEOS.
msado15: Implement _Recordset_get_Fields.
msado15: Implement Fields__Append and Fields_Append.
msado15: Implement Fields_get_Count.
msado15: Implement Field_put_Type, Field_put_DefinedSize and Field_put_Attributes.
msado15: Implement Field_get_Name and Field_get_Type.
msado15: Implement Fields_get_Item.
msado15: Implement Field_get_Attributes and Field_get_DefinedSize.
msado15: Implement Field_get_Value and Field_put_Value.
msado15: Implement _Recordset_Open and _Recordset_Close.
msado15: Implement _Recordset_AddNew.
msado15: Implement _Recordset_get_State.
msado15: Implement _Recordset_get_BOF and _Recordset_get_EOF.
msado15: Implement _Recordset_get_RecordCount.
msado15: Implement _Recordset_MoveNext and _Recordset_MovePrevious.
msado15: Implement _Recordset_MoveFirst and _Recordset_MoveLast.
msado15: Add ISupportErrorInfo support to Field, Fields and _Recordset.
msado15: Prevent multiple Open/Close of a _Recordset.
Hari Saksena (1):
kernelbase: Fix ullAvailPageFile showing wrong memory info.
Henri Verbeet (13):
wined3d: Finish the CS before removing the context in adapter_vk_uninit_3d().
wined3d: Do not set depth/stencil sizes on colour formats.
wined3d: Store texture sub-resource buffer objects as uintptr_t.
wined3d: Destroy PBOs in wined3d_texture_gl_destroy_object().
wined3d: Do not download textures to WINED3D_LOCATION_BUFFER in wined3d_texture_gl_unload().
wined3d: Unload buffer resources through buffer ops.
wined3d: Unload texture resources through texture ops.
wined3d: Unload resources in wined3d_device_uninit_3d().
wined3d: Pass a pointer to the counter buffer to wined3d_view_gl_destroy().
wined3d: Destroy GPU resources from the CS thread in adapter_vk_uninit_3d().
wined3d: Avoid accessing gl_info in wined3d_buffer_init().
wined3d: Introduce WINED3D_BIND_INDIRECT_BUFFER.
wined3d: Store Vulkan physical device memory properties in the wined3d_adapter_vk structure.
Jacek Caban (9):
jscript: Import to_int32 implementation from WebKit.
oleaut32: Fix sharing options in TLB_ReadTypeLib.
makedep: Build implib cross object files with -fno-builtin.
msvcrt: Provide exp2 in importlib.
mshtml: Refactor Gecko loading code.
mshtml: Support loading Gecko from global location.
winnt.h: Add missing NTSYSAPI attributes.
mshtml: Update to Wine Gecko 2.47.1.
configure: Silence -Wincompatible-library-redeclaration warning.
Jactry Zeng (5):
sapi: Implement ISpeechVoice stub.
sapi: Implement ISpVoice stub.
sapi: Add IConnectionPointContainer stub for ISpVoice.
sapi: Implement ISpeechFileStream stub.
sapi: Implement ISpStream stub.
Jeff Smith (5):
ucrtbase: Improve strftime special test cases for %c %r formats.
msvcrt: Factor out code for creating lc_time_data structure.
msvcrt: Create global C locale __lc_time_data struct.
ucrtbase: Correct behavior of strftime formats %c %r.
kernel32/tests: Allow for differing fpu_cw returned on Windows XP.
João Diogo Ferreira (3):
kernel32: Properly handle GEO_NATION and GEO_ID in GetGeoInfoW().
kernel32: Make GetUserGeoID() always succeed if geoclass is valid.
kernelbase: Update GeoID when locale has changed.
Julian Rüger (1):
po: Update German translation.
Ken Thomases (4):
winemac: Only manipulate an NSOpenGLContext's view on the main thread.
dbghelp: Fix reading the address of the target's dyld image info from its PEB.
dbghelp: Fix reading the target's dyld image info, based on its CPU architecture.
configure: Remove no-longer-needed check for mach-o/dyld_images.h header file.
Louis Lenders (4):
odbcbcp: Add new stub dll.
wine.inf: Install powershell.exe in WindowsPowerShell/v1.0/.
kernel32: Return S_OK in RegisterApplicationRecoveryCallback stub.
wine.inf: Add powershell location to the path.
Mathew Hodson (3):
riched20/tests: Fix function names in two ok() messages.
kernel32/tests: Trace the mapped string when FoldStringW fails.
kernel32/tests: Add broken result for Windows XP and 2003.
Matteo Bruni (1):
d3dcompiler/tests: Fix parameter desc test on d3d10.
Michael Müller (1):
ole32: Fix property name handling for dictionary entries in CP_UNICODE case.
Michael Stefaniuc (35):
dmime: Remove the 'enabled' field from the Tempo track.
dmime: Implement the Lyrics track param methods.
dmime: Implement the ParamControl track param methods.
dmime: Implement the SegTrigger track Get/SetParam.
dmime: Partial implementation of the Marker track Get/SetParam.
dmime: Partial implementation of the Wave track Get/SetParam.
dmime: Partial implementation of the TimeSig track Get/SetParam.
dmime: Partial implementation of the Tempo track SetParam().
dmime: Tempo track supports only GUID_TempoParam in GetParam().
dmime/tests: Add GetParam/SetParam tests for unsupported types.
dmime/tests: Add more GetTrack() tests.
dmime: Fix index handling in segment GetParam().
dmime/tests: Add segment GetParam/SetParam tests.
dmband: Add partial implementation of Band track GetParam/SetParam.
dmloader: Remove commented out dead code.
dmband: Get rid of the redundant debugstr_DMUS_OBJECTDESC().
msado15: Print the debug strings and not the pointers to them.
mountmgr.sys: Use the ARRAY_SIZE() macro.
winetest: Remove superfluous cast to self.
dmband: Move debugstr_fourcc() to dmobject.h.
dmband: Move debugstr_dmguid() to dmobject.c.
dmband: Use only the 'dmfile' debug channel in dmutils.c.
dmband: Simplify dump_DMUS_OBJECTDESC() and move it to dmobject.c.
dmloader: Just use dump_DMUS_OBJECTDESC().
dmloader: Get rid of the 'dmdump' debug channel.
dmloader: Use the debug functions provided by dmobject.[ch].
dmime: Use the debug functions provided by dmobject.[ch].
dmcompos: Use the debug functions provided by dmobject.[ch].
dmscript: Use the debug functions provided by dmobject.[ch].
dmstyle: Use the debug functions provided by dmobject.[ch].
dmusic: Use the debug functions provided by dmobject.[ch].
dswave: Use the debug functions provided by dmobject.[ch].
dmloader: Get rid of single use debugstr_dmreturn().
dmloader: Simplify tracing of the DMUS_CONTAINER_NOLOADS flag.
dmloader: Simplify tracing of DMUS_CONTAINED_OBJF_KEEP flag.
Nikolay Sivov (46):
dwrite: Update to IDWriteFontFace5.
dwrite/tests: Add some tests for IDWriteFontResource.
dwrite: Update to IDWriteFactory7 stub.
ntdll: Use better type for thread description info structure.
ntdll: Add support for querying thread suspend count.
mfplat: Use underlying stream access mode for bytestream capabilities.
mfplat: Set origin name attribute for stream based bytestreams too.
comctl32/tests: Merge header items test with existing function.
comctl32/listview: Fix LVM_GETITEM for out-of-range iSubItem case.
dwrite: Add partial implementation for IDWriteFontResource.
dwrite: Respond to IDWriteFontFace5 queries.
dwrite: Use IDWriteFactory7 internall for fontfaces.
dwrite: Implement GetFontResource() for fontface.
dwrite: Add newer CreateFontFaceReference() variant.
dwrite: Use IDWriteFactory7 for fontface reference object.
dwrite: Use IDWriteFactory7 for collections internally.
dwrite: Use IDWriteFactory7 for layout internally.
dwrite: Use IDWriteFactory7 for gdiinterop.
dwrite: Use IDWriteFactory7 for analyzer.
dwrite: Remove unnecessary casts.
dwrite/tests: Add some tests for reference objects.
oleaut32/typelib: Add a helper to update custom data lists on reallocation.
oleaut32/typelib: Implement DeleteImplType().
ntdll/tests: Enable some more string API tests.
oleaut32/typelib: No need to query self for supported interface.
dwrite: Compare axis values when testing for face reference equality.
dwrite: Implement returning axis values from face reference.
Update to Unicode 12.1.
comctl32/listview: Use wcsnicmp() instead of a local helper.
oleaut32/typelib: Get rid of redundant argument in typeinfo lookup helper.
oleaut32/typelib: Simplify variable and function description lookup helpers.
oleaut32/tests: Use TYPEKIND values.
oleaut32/tests: Add some more tests for GetRefTypeInfo() in case of dual interface.
user32/listbox: Scroll to specified caret index.
user32/listbox: Update caret index on LB_SETSEL.
comctl32/listbox: Scroll to specified caret index.
comctl32/listbox: Update caret index on LB_SETSEL.
ole32: Get rid of some casts in DWORD serialization helper.
ole32: Get rid of casts in WORD serialization helper.
ole32: Get rid of casts in GUID serialization helper.
ole32: Get rid of casts in 64-bit int serialization helper.
ole32/tests: Fix return value trace.
ole32: Use more appropriate type for codepage arguments.
ole32: Properly handle NULL delimiter for item monikers.
ole32: Improve maximum storage size returned for generic composite monikers.
ole32: Handle optional WCHAR data when loading item moniker.
Patrick Hibbs (1):
wtsapi32: Make WTSRegisterSessionNotificationEx's return consistent with WTSRegisterSessionNotification.
Paul Gofman (9):
ddraw/tests: Skip test_colorkey_precision() test on WARP.
wined3d: Support stretching compressed format surfaces in surface_cpu_blt().
ddraw/tests: Add test for stretching compressed format surfaces.
ntdll: Add DECLSPEC_HOTPATCH to NtProtectVirtualMemory().
include: Add STARTUPINFOEX structure definition.
kernel32/tests: Add a basic test for PROC_THREAD_ATTRIBUTE_PARENT_PROCESS process creation attribute.
kernelbase: Support PROC_THREAD_ATTRIBUTE_PARENT_PROCESS in CreateProcessInternalW().
server: Support creating processes with specified parent.
kernel32/tests: Test invalid parent handle in test_parent_process_attribute().
Piotr Caban (8):
msvcrt: Don't depend on how __lc_time_data was allocated in _Getdays.
msvcrt: Don't depend on how __lc_time_data was allocated in _W_Getdays.
msvcrt: Don't depend on how __lc_time_data was allocated in _Getmonths.
msvcrt: Don't depend on how __lc_time_data was allocated in _W_Getmonths.
msvcrt: Don't depend on how __lc_time_data was allocated in _Gettnames.
msvcrt: Mark __lc_time_data strings const.
kernel32: Set all %eax bits on Wow64EnableWow64FsRedirection return.
msvcrt: Support mixing length and width in scanf format.
Rémi Bernon (1):
widl: Cast freed pointers to void* to fix discarded-array-qualifiers warning.
Vijay Kiran Kamuju (1):
include: Add missing defines for tokens in winnt.h.
Vincent Povirk (1):
mscoree: Ignore empty privatePath.
Zebediah Figura (56):
strmbase: Don't hold the filter lock while calling IPin::NewSegment().
strmbase/transform: Hold the streaming lock for the entirety of Receive().
winegstreamer/gsttffilter: Don't drop the streaming lock in Gstreamer_transform_ProcessEnd().
d3d9: Use wined3d_stateblock_get_state() in d3d9_device_GetRenderState().
d3d8: Use wined3d_stateblock_get_state() in d3d8_device_GetRenderState().
ddraw: Retrieve render state from the primary stateblock.
wined3d: Move the wined3d_light_state structure to the wined3d_stateblock structure.
wined3d: Introduce wined3d_stateblock_get_state().
wined3d: Store the blend factor in the stateblock as a render state.
strmbase: Use a separate critical section for the SourceSeeking structure.
winegstreamer: Don't hold the filter lock from the pad-added or pad-removed callbacks.
winegstreamer: Also wait for the no-more-pads signal when pausing the filter.
winegstreamer: Use strmbase state change methods.
winegstreamer: Fix the timeout passed to gst_element_get_state().
wineqtdecoder: Use strmbase filter state change methods.
wineqtdecoder: Don't expose IMediaSeeking from the sink pin.
wineqtdecoder: Don't expose IMediaSeeking from the filter.
qedit/samplegrabber: Use BaseFilterImpl_JoinFilterGraph().
qcap/avico: Use strmbase filter state change methods.
qcap/avimux: Use strmbase filter state change methods.
qcap: Rework v4l2 state change logic.
strmbase: Get rid of the "vtbl" parameter to strmbase_filter_init().
strmbase: Correctly implement IVideoWindow::NotifyOwnerMessage().
quartz/vmr9: Create the rendering window when the filter is created.
quartz/tests: Port IVideoWindow tests to the VMR.
strmbase: Create the video window with the correct styles.
wined3d: Introduce wined3d_stateblock_multiply_transform().
ddraw: Update the primary stateblock in d3d_device7_MultiplyTransform().
d3d9: Update the primary stateblock in d3d9_device_MultiplyTransform().
d3d8: Update the primary stateblock in d3d8_device_MultiplyTransform().
wineqtdecoder: Move the SourceSeeking structure to the source pin.
winegstreamer: Use BasePinImpl_QueryInterface().
wineqtdecoder: Use BasePinImpl_QueryInterface().
qcap/avimux: Use BasePinImpl_QueryInterface().
qcap/avimux: Use BaseOutputPinImpl_Disconnect().
qcap/avimux: Use BaseOutputPinImpl_Connect().
strmbase: Get rid of the "vtbl" argument to strmbase_source_init().
strmbase: Combine the SetMediaType() and CompleteConnect() callbacks.
strmbase: Pass an AM_MEDIA_TYPE pointer to CompleteConnect().
strmbase: Add callbacks for sink (dis)connection.
strmbase/transform: Use base sink connection methods.
strmbase/renderer: Use base sink connection methods.
strmbase: Check for a NULL media type in IPin::ReceiveConnection().
qcap/avimux: Use strmbase sink connection methods.
winegstreamer: Store the sink as a strmbase_sink structure.
winegstreamer: Use base sink connection methods.
qcap/avico: Use base sink connection methods.
qedit/samplegrabber: Use strmbase sink connection methods.
wineqtdecoder: Store the sink as a strmbase_sink structure.
wineqtdecoder: Use base sink connection methods.
strmbase: Introduce callbacks for streaming events.
strmbase/transform: Use base sink streaming methods.
strmbase/renderer: Use base sink streaming methods.
winegstreamer: Use base sink streaming methods.
wineqtdecoder: Use base sink streaming methods.
strmbase: Get rid of the "vtbl" parameter to strmbase_sink_init().
Zhiyi Zhang (3):
user32/tests: Import functions if possible.
user32/tests: Test cursor clip rectangles in per-monitor aware context.
user32/tests: Use a higher resolution in test_ChangeDisplaySettingsEx().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.21 is now available.
What's new in this release (see below for details):
- HTTP proxy configuration through DHCP.
- Parameter block support in D3DX9.
- A few more dlls converted to PE.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.21.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.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 4.21 (total 50):
15670 .NET applications that make use of System.IO.IsolatedStorage crash (missing "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\<UserSID>" registry subkey)
22030 LegoLand: crashes at main menu without native directmusic
23729 Need For Speed: Shift - throbbing glob around language and save game name not as noticable on Wine
23821 Super Mario Brothers X hangs in quartz?
25264 treeview wstr overrun in TVN_GETDISPINFOW (ExamXML crashes when opening an XML file)
26119 kernel32/pipe tests show some valgrind warnings
26721 Button and Static controls not painting in Win NT V6.00 and later modes
28506 kernel32/change.ok test fails occasionally on linux
28602 Ccleaner: installer has a non-fatal crash
30499 Multiple Avira AVG product installers crash due to access of undocumented PEB field "UnicodeCaseTableData" (AVG Free Edition 2012-2014, TuneUp Utilities 2014)
33284 Xin Shendiao Xialv ("The Giant Eagle and It's Companion") has some graphical issues
33352 Family Tree Maker 2012 crashes when trying to start program
34048 IE8 x64 for Server 2003 exits silently
35252 Multiple applications need ITaskScheduler::Enum implementation (lsTasks, Toad for MySQL Freeware 7.x)
36121 valgrind leaks in ntdll/tests/change.c
36266 valgrind shows several leaks in dmusic/tests/dmusic.c
36404 valgrind shows a leak in faultrep/tests/faultrep.c
36405 valgrind shows a leak in msxml3/tests/xmlview.c
36615 valgrind shows a definite leak in mshtml/tests/htmldoc.c
38300 using winegcc with stdin passes arguments in the wrong position to gcc
38659 Windows Sysinternals Process Explorer v16.x crashes on startup (registry SID profile data in 'ProfileList' must contain 'Flags' and 'ProfileImagePath' values)
39210 Dream Aquarium (screensaver) fails to read monitor power state ('{4d36e96e-e325-11ce-bfc1-08002be10318}' monitor device class registry data missing)
40970 Can't run LEGO DD anymore
43323 Beamng.drive: Cars render incorrectly
45661 Gothic 2 crashes with music enabled without native directmusic
46748 Splinter Cell: Blacklist shows some 'script code' instead of text
47414 valgrind shows a definite memory leak in dlls/ntdll/loader.c
47489 The appearance of configurable options in Audacity is broken
47547 Steam Overlay stopped working
47620 unimplemented function KERNEL32.dll.GetCurrentConsoleFontEx
47656 Crysis 1: game in DX10 cannot be started (also causing Very High graphical setting not available) in Vista and up
47724 .NET Framework 3.5 SP1 not installing
47740 dotnet20sp2: fails to install on arch and derivatives
47790 putty.exe displays an error at startup when placed in a path with accented characters.
47809 mscrt: strftime is missing some substutions
47832 FindFirstFileExW believes every directory entry has been read if NtQueryDirectoryFile underfills buffer
47935 Nextiva: Logging in fails with "Client is unable to connect to the server."
47991 motec i2 pro v1.0 data logger fails to start
48016 karafunplayer: Call from 0x7124d239 to unimplemented function shcore.dll.GetScaleFactorForMonitor, aborting
48072 Everquest Classic: Textures not working correctly
48087 Firestorm viewer can't login to Second Life grid since 4.19
48104 Graphics load improperly in LEGO Island 2
48111 myodbc-installer v5.x (part of Toad for MySQL Freeware 7.x) crashes when querying for installed drivers ('SQLGetInstalledDrivers' doesn't handle NULL 'sizeout')
48114 wine: could not open working directory L"unix\\home\\tod\\", starting in the Windows directory.
48140 Archicad 22 needs missing SHCreateDataObject from shell32
48157 SetThreadDescription() return value E_NOTIMPL crashes StarCitizen
48170 start.exe: /min no longer works
48176 cannot select drawn line in excel2003 sheet (for removal)
48178 upgrade to "version 4 stable" made EXCEL2003 unusable (even after re-installing/purging wine and EXCEL)
48188 wine fails to load, "kernelbase.dll" failed to initialize, aborting
----------------------------------------------------------------
Changes since 4.20:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (1):
winex11: Fix off-by-one error in color value scaling.
Alexandre Julliard (62):
kernel32: Move EnumDateFormats functions to kernelbase.
kernel32: Move EnumTimeFormats functions to kernelbase.
kernel32: Move EnumCalendarInfo functions to kernelbase.
kernel32: Move Get/SetCalendarInfo to kernelbase.
appwiz.cpl: Use Unicode strings for addons file names.
mscoree: Store the Mono base directory in Unicode.
comctl32/tests: Avoid size_t in traces.
ntdll: Support SystemPerformanceInformation on non-Linux platforms.
kernel32: Move physical memory status functions to kernelbase.
kernel32: Move system information functions to kernelbase.
kernel32: Add more special cases in ConvertDefaultLocale().
ntdll: Move locale functions to a new locale.c file.
ntdll: Implement RtlLocaleNameToLcid().
kernel32: Use RtlLocaleNameToLcid().
kernel32/tests: Get rid of Unicode helper functions.
dmime: Fix duplicate const.
ntdll: Fix counting of environment strings.
ntdll: Initialize the system and user locales directly in ntdll.
kernel32: Get the initial locales from ntdll.
kernel32: Move the locale registry setup to kernelbase.
wineboot: Also set the Flags value under ProfileList.
kernel32: Move string normalization functions to ntdll.
kernel32: Move some locale functions to kernelbase.
ntdll: Handle version parsing in Unicode.
mountmgr: Don't include sys/time.h before winsock.h.
setupapi: Handle copy errors in SetupCommitFileQueueW().
makefiles: Create source dir symlinks from the makefiles.
kernel32: Avoid forwarding to advapi32.
cmd: Environment variables contain signed numbers.
msvcrt: Fix range check in wsctoul().
wininet: Import zlib inflate code.
wininet: Build with msvcrt.
cabinet: Import zlib deflate code.
cabinet: Build with msvcrt.
opcservices: Import zlib deflate code.
opcservices: Build with msvcrt.
msi: Use %define api.pure instead of %pure-parser.
msxml3: Use %define api.pure instead of %pure-parser.
vbscript: Use %define api.pure instead of %pure-parser.
wbemprox: Use %define api.pure instead of %pure-parser.
ntdll: Implement NtGetNlsSectionPtr().
ntdll: Implement RtlInitCodePageTable().
ntdll Implement RtlInitNlsTables() and RtlResetRtlTranslations().
ntdll: Generate a Windows format codepage table using the libwine data.
kernel32/tests: Add tests for NtGetNlsSectionPtr() and RtlInitCodePageTable().
kernelbase: Initialize codepage data using ntdll functions.
kernel32: Move codepage functions to kernelbase.
winhttp: Handle http_proxy variable entirely in Unicode.
wininet: Handle http_proxy variable entirely in Unicode.
cabarc: Avoid some conversion to Unix codepage.
wineboot: Keep config directory path in Unicode.
kernel32: Reimplement FoldStringW() to support composition.
kernel32: Move FoldStringW() function to kernelbase.
ntdll: Don't fail to load data file when the registry key is missing.
ntdll: Keep a valid DOS name if the initial current directory is a Unix dir.
mscoree/tests: Avoid winetest_strcmpW.
msvcrt/tests: Avoid winetest_strcmpW.
msxml3/tests: Avoid winetest_strcmpW.
shell32/tests: Avoid winetest_strcmpW.
winhttp/tests: Avoid winetest_strcmpW.
include: Remove winetest_strcmpW.
ntdll: Remove trailing \n in fatal_perror() calls.
Alistair Leslie-Hughes (11):
dmime: Rewrite IDirectMusicSegment8 GetParam.
dmstyle: Add GUID_IDirectMusicStyle support in Style Track GetParam.
dmloader: ScanDirectory doesn't specify the full path.
dmstyle: Improved tracing of the DMUS_OBJECTDESC structure.
dmloader: Stop after find first matching object.
dmloader: Rewrite cache object lookup.
dmloader: Rewrite IDirectMusicLoader8 CacheObject using find_cache_object.
dmloader: Rewrite IDirectMusicLoader8 ReleaseObject using find_cache_object.
dmloader: Support DMUS_OBJ_MEMORY cache lookups.
dmime: Trace pbMemData/llMemLength on the same line.
d3dx9: Implement D3DXCreateFragmentLinker[Ex]().
Andrey Gusev (3):
sapiaut.idl: Fix a typo.
crypt32: Fix a typo in comment.
ddraw/tests: Fix a typo in comment.
Charles Davis (7):
ntdll: Implement SystemBatteryState for Mac OS.
winegcc: Pass through -fuse-ld= to the linker.
mountmgr: Populate HKLM\HARDWARE\DEVICEMAP\Scsi here instead of in kernel32.
mountmgr: Populate HKLM\HARDWARE\DEVICEMAP\Scsi on Mac OS.
ntdll: Fix macOS build.
ntoskrnl.exe: Add tests for METHOD_NEITHER ioctl behavior.
ntdll: Fix tick count calculation on Mac.
Conor McCarthy (2):
winedbg: Use correct CALL operand size when fetching the delta.
winedbg: Add support for x86_64 indirect function call targets.
Damjan Jovanovic (3):
winedbg: Allow changing the current thread.
start.exe: STARTUPINFOW needs the STARTF_USESHOWWINDOW flag.
comctl32: Allocate the right wstr size for the TVN_GETDISPINFOW reply.
Derek Lesho (1):
setupapi: Add SetupGetInfDriverStoreLocationW stub.
Dmitry Timoshkov (2):
wineboot: Automatically create ProfileList key for current user.
kernelbase: When enumerating calendars initialize optional to 0.
François Gouget (20):
kernel32/tests: Remove an unused assignment in the comm test.
ntdll: S/4Gb/4GB/ in a comment since it refers to bytes.
kernel32/tests: Fix the lcid and expected value in a codepage ok() call.
user32/test: Start the AdjustWindowRectExForDpi() from a known state.
urlmon/tests: Fix CoInternetCombineIUri tests on Windows 10 1607 to 1709.
userenv/tests: Windows 10 1809 changed GetUserProfileDirectory().
gdi32/tests: Fix a copy/paste error in an ok() message.
comctl32/tests: Trace the iteration counter when a tooltips test fails.
gdi32/tests: CloseMetaFile() no longer destroys the metafile hdc.
wbemprox: Fix the spelling of the free_associations() function name.
rsaenh: A spelling fix in a comment.
d3dx9_36: Fix the spelling of a TRACE() message.
wmp/tests: Fix the spelling of an unused parameter name.
input: Fix the spelling of a parameter name in a function prototype.
msvcp120/tests: Tweak two ok() messages and fix their spelling.
msvcrt: Fix the spelling of a couple of TRACE() messages.
ole32: Fix the name of PropertyStorage_WriteWStringToStream().
ole32: Fix a spelling error in a function parameter name.
dxerr8: Fix the spelling of some error messages.
d3d9/tests: Fix a typo in a field name of the visual test.
Gabriel Ivăncescu (4):
vbscript: Add script TypeInfo stub.
jscript: Fix a copy-paste mistake.
jscript: Trace the pstrItemName parameter.
vbscript: Trace the pstrItemName parameter.
Gijs Vermeulen (8):
odbccp32: Handle NULL sizeout in SQLGetInstalledDrivers.
server: Add support for additional fields in set_console_output_info.
kernel32: Implement GetCurrentConsoleFontEx.
kernel32/tests: Add GetCurrentConsoleFontEx tests.
wineconsole: Add registry support for font pitch&family.
msvcrt: Avoid compiler warning.
ntdll: Fix implicit declaration of mach_port_deallocate.
kernel32: Remove unused function.
Hans Leidekker (10):
include: Add DHCP option values.
mountmgr.sys: Add support for querying DHCP parameters on Linux.
mountmgr.sys: Add support for querying DHCP parameters on macOS.
dhcpcsvc: Implement DhcpRequestParams.
mountmgr.sys: Fix the build on macOS when dbus libraries are present.
winhttp: Add support for detecting the proxy config URL via DHCP.
winhttp: Pass correct buffer size to WideCharToMultiByte.
winhttp: Build with msvcrt.
winhttp: Use wide character string literals.
wininet: Add support for detecting the proxy config URL.
Jeff Smith (20):
msvcrt: Clean up strftime tests.
msvcrt: Add additional strftime tests.
msvcrt: Correct behavior of strftime formats %c %x.
msvcrt: Add _Strftime tests for seconds.
ucrtbase: Add _Strftime tests for seconds.
ucrtbase: Add strftime format range tests.
msvcrt: Range-check fields used as array indices in _Strftime.
msvcrt: Correct behavior of time in strftime formats %X %c.
ucrtbase: Treat year more consistently in strftime.
ucrtbase: Extend range for seconds to allow for leap-second.
msvcrt: Correct day-of-month range for strftime.
msvcrt: Correct hour range for strftime.
ucrtbase: Correct day-of-week range for strftime.
msvcrt: Call invalid parameter handler for out-of-range integer.
gdi32/tests: Reserve sufficient room for DIB data.
ucrtbase: Expand tests for strftime format %g.
ucrtbase: Use correct type for year with strftime format %g.
ucrtbase: Add support for strftime format %V.
ucrtbase: Consolidate strftime code for formats %g %G %V.
ucrtbase: Add support for strftime format %r.
John Alway (2):
user32/tests: Add a test for combo resizing from smaller item height.
comctl32/tests: Add a test for combo resizing from smaller item height.
John Chadwick (5):
wintab32: Use 64-bit math in ScaleForContext.
kernel32/tests: Add test for GetSystemFirmwareTable.
kernelbase: Fix GetSystemFirmwareTable regression.
winex11.drv: Handle button events without axes.
winex11/wintab: Fix values for lcSys* and lcOut*.
João Diogo Ferreira (4):
kernel32: Fix null pointer access in GetGeoInfoW().
kernel32: Add Kosovo, UN codes and change two parents in geoinfodata.
kernel32/nls: Add LOCALE_IGEOID to all locales.
kernel32: Handle GEOCLASS_ALL in EnumSystemGeoID().
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (1):
shell32: Add stub for SHCreateDataObject.
Mathew Hodson (1):
kernel32: Remove dead code.
Matteo Bruni (2):
d3dx9/tests: Test ApplyParameterBlock() while recording.
ddraw/tests: Fix a few typos.
Michael Stefaniuc (19):
dmstyle/tests: Check all IDirectMusicTrack8_IsParamSupported() types.
dmime: SegTrigger track supports all param types, even invalid ones.
dmime: The Wave track supports two additional param types.
dmime/tests: Check all IDirectMusicTrack_IsParamSupported() types.
dmband/tests: Check all IDirectMusicTrack_IsParamSupported() types.
dmstyle: The Chord track doesn't support the BandParam type.
dmcompos/tests: Check all IDirectMusicTrack_IsParamSupported() types.
dmstyle: Implement IsParamSupported() for the Audition track.
dmscript: Implement unimplemented Script track methods.
dmscript/tests: Add some Script track tests.
dmscript: Clarify TRACE in IsParamSupported method of Script track.
dmstyle: Avoid capitalized field names in IDirectMusicStyle8Impl.
dmstyle: Move 3 structs where they are used and get rid of typedefs.
dmstyle: Free lists when IDirectMusicStyleImpl is destroyed.
dmstyle: Implement IDirectMusicStyle8_EnumMotif().
dmime: The group for a track in a segment cannot be zero.
dmime/tests: Add some IDirectMusicSegment_GetTrack() tests.
dmime: Print the track groups consistently in hexadecimal.
dmime: At least trace the DMUS_FOURCC_TRACK_EXTRAS_CHUNK.
Myah Caron (1):
kernel32: Allow NtQueryDirectoryFile underfilling FileInformation.
Nikolay Sivov (31):
ole32/tests: Check more return values in moniker tests (Coverity).
strmbase: Remove unused function.
wincodecs: Remove unused function.
mfreadwrite: Start media source when stream selection changes.
mfreadwrite/tests: Add a test for reading from delected stream.
mfreadwrite/tests: Add some missing checks (Coverity).
comctl32/rebar: Fix invalid band index access.
kernel32: Use RegLoadMUIStringW() from kernelbase.
kernel32/tests: Add some tests for thread description API.
user32/combo: Simplify rectangles sizing helper.
user32/combo: Simplify child controls position update helper.
user32/combo: Remove redundant argument from text height helper.
mfplat: Do not make a copy when returning GUID attributes (Valgrind).
mfplat: Do not make a copy when setting GUID attribute (Valgrind).
mfplat/tests: Fix buffer object leak (Valgrind).
ntdll: Implement thread description as information class.
kernel32: Implement higher level API to access thread description.
user32/combo: Remove unnecessary argument from button painting helper.
user32/combo: Remove redundant argument from border painting helper.
user32/combo: Force minimal item height.
comctl32/combo: Simplify rectangles sizing helper.
comctl32/combo: Simplify child controls position update helper.
comctl32/combo: Remove redundant argument from text height helper.
comctl32/combo: Remove unnecessary argument from button painting helper.
comctl32/combo: Remove redundant argument from border painting helper.
comctl32/combo: Force minimal item height.
explorerframe: Return success from ThumbBarSetImageList().
comctl32/toolbar: Handle NULL string pointer from TBN_GETINFOTIPW.
dwrite: Update to IDWriteColorGlyphRunEnumerator1.
dwrite: Update to IDWriteTextLayout4.
dwrite: Add support for IDWriteTextFormat3 for text layout object.
Paul Gofman (16):
wined3d: Factor out wined3d_context_gl_create_wgl() function.
wined3d: Create a backup context if setting the pixel format failed in wined3d_context_gl_create_wgl_ctx().
d3dx9: Avoid double freeing samplers.
d3dx9/tests: Add test for effect parameter block.
d3dx9: Implement d3dx_effect_BeginParameterBlock().
d3dx9: Implement d3dx_effect_EndParameterBlock().
d3dx9: Implement d3dx_effect_DeleteParameterBlock().
d3dx9: Factor out set_value() function.
d3dx9: Factor out free_parameter_object_data() function.
wined3d: Handle degenerate viewport Z ranges.
d3d9/tests: Test degenerate viewport Z ranges.
d3dx9: Implement recording parameters to parameter block.
d3dx9: Implement d3dx_effect_ApplyParameterBlock().
ddraw: Fix conversion of v1 viewport from v2 in d3d_viewport_GetViewport().
ddraw: Fix conversion of v2 viewport from v1 in d3d_viewport_GetViewport2().
ddraw/tests: Backport viewport v1 / v2 conversion tests for ddraw1.
Piotr Caban (6):
msvcrt: Fix _mbstowcs_s_l return value on truncate.
msvcrt: Use correct __lc_time_data fields in strftime functions.
msvcrt: Add _Strftime tests.
ucrtbase: Add _Strftime tests.
msvcrt: Use isspace_l in string to number conversion functions.
ucrtbase: Fix hexadecimal floats parsing in strtod.
Serge Gautherie (3):
wbemprox: Always free 'new_path'.
ole32: Improve a string format.
shell32: Properly init/use icon_idx.
Stefan Dösinger (4):
d3d11/tests: Don't use empty initializer list.
includes: Newer Visual Studio versions have isfinite and friends.
include: Windows SDK C headers have snprintf.
libs/port: Use MSVC intrinsics for interlocked functions.
Sven Baars (7):
msvcp140/tests: Test _Stat() against the actual permissions of the system directory.
gdi32/tests: Fix some test SetDIBitsToDevice RLE8 test failures on Windows 2008+.
gdi32/tests: Remove the D3DKMTCreateDCFromMemory test with Width = 0.
urlmon/tests: Expect BINDSTRING_SAMESITE_COOKIE_LEVEL on newer IE11.
d3dcompiler/tests: Fix a copy-paste error.
schannel: Update SECPKG_FUNCTION_TABLE to SECPKG_INTERFACE_VERSION_8.
schannel/tests: Use a more reliable method for detecting a wrong SECPKG_INTERFACE_VERSION.
Vijay Kiran Kamuju (8):
include: Add colordlg.h header file for color dialogs.
comdlg32: Use the new colordlg.h file and update the resources.
include: Update error codes in raserror.h.
tapi/tests: Add initial tests for lineInitialize.
include: Fix definition of PHONECALLBACK in tapi.h.
shcore: Add stub for GetScaleFactorForMonitor.
include: Add definitions for ShellLinkDataBlocks in shlobj.h.
shell32: Update the LINKHEADER based on binary file format.
Vincent Povirk (1):
windowscodecs: Fix tiffformat test on current Windows 10.
Zebediah Figura (70):
strmbase: Get rid of the unused "cs" parameter to strmbase_video_init().
strmbase: Get rid of the unused segment fields from struct strmbase_pin.
d3d9: Track WINED3D_RS_ZENABLE in the primary stateblock.
d3d8: Track WINED3D_RS_POINTSIZE_MIN and WINED3D_RS_ZENABLE in the primary stateblock.
ddraw: Track WINED3D_RS_ZENABLE in the primary stateblock.
strmbase: Rename the "mtCurrent" field of struct strmbase_pin to "mt".
strmbase: Forbid (dis)connecting pins if the filter is not stopped.
wineqtdecoder: Simplify disconnecting the sink's peer in qt_splitter_destroy().
quartz/videorenderer: Avoid calling IPin::ConnectionMediaType() on our own pin.
strmbase: Avoid unnecessary use of IPin::ConnectedTo().
qedit/samplegrabber: Reimplement the source pin over the strmbase source.
strmbase: Get rid of the BaseInputPin typedef.
strmbase: Get rid of the BaseInputPinFuncTable typedef.
qedit/samplegrabber: Reimplement the sink pin over the strmbase sink.
d3d9: Track the viewport and scissor rect in the primary stateblock.
d3d8: Track the viewport and scissor rect in the primary stateblock.
quartz/tests: Add some tests for allocator negotiation on the VMR7.
quartz/tests: Add some tests for VMR7 filter state.
quartz/tests: Add some tests for flushing on the VMR7.
quartz/tests: Add some tests for VMR9 allocator negotiation.
quartz/tests: Add some tests for VMR9 filter state.
quartz/tests: Add some tests for flushing on the VMR9.
quartz/videorenderer: Make VideoRenderer_SendSampleData() infallible.
strmbase/renderer: Exit BaseRendererImpl_Receive() immediately if flush_event was signaled.
quartz/videorenderer: Get rid of filter state checks in VideoRenderer_DoRenderSample().
quartz/videorenderer: Remove some dead code.
quartz/videorenderer: Wait in Receive() while paused.
quartz/vmr9: Wait in Receive() while paused.
quartz/tests: Fix an invalid free.
quartz/tests: Relax some more timings.
quartz/tests: Fix some tests on w7u.
strmbase: Return a strmbase_pin pointer from the filter_get_pin() callback.
strmbase: Simplify SendFurther().
strmbase/transform: Check whether the source is connected in TransformFilter_Input_Receive().
quartz/acmwrapper: Call IMemInputPin::Receive() directly.
quartz/acmwrapper: Don't drop the "csReceive" mutex while calling IMemInputPin::Receive().
ddraw: Track the viewport and scissor rect in the primary stateblock.
wined3d: Export wined3d_stateblock_init_contained_states().
ddraw: Use wined3d_stateblock_* methods directly in BeginStateBlock() and EndStateBlock().
d3d8: Use wined3d_stateblock_* methods directly in BeginStateBlock() and EndStateBlock().
d3d9: Use wined3d_stateblock_* methods directly in BeginStateBlock() and EndStateBlock().
wined3d: Get rid of wined3d_device_begin_stateblock() and wined3d_device_end_stateblock().
quartz/avidec: Call IMemInputPin::Receive() directly.
quartz/avidec: Don't drop the "csReceive" mutex while calling IMemInputPin::Receive().
winegstreamer/gsttffilter: Call IMemInputPin::Receive() directly.
wineqtdecoder/qtvdecoder: Call IMemInputPin::Receive() directly.
wineqtdecoder/qtvdecoder: Don't drop the "csReceive" mutex while calling IMemInputPin::Receive().
qcap/avico: Call IMemInputPin::Receive() directly.
qcap/smartteefilter: Call IMemInputPin::Receive() directly.
qcap/vfwcapture: Call IMemInputPin::Receive() directly.
strmbase: Get rid of BaseOutputPinImpl_Deliver().
strmbase: Move tracking of EOS state to the base renderer.
d3d9: Fix a copy-paste error.
d3d8: Fix a copy-paste error.
wined3d: Get rid of the "recording" field from struct wined3d_device.
wined3d: Pass the client stateblock state to wined3d stateblock methods.
wined3d: Get rid of the "update_stateblock_state" field from struct wined3d_device.
wined3d: Get rid of the "stateblock_state" field from struct wined3d_device.
quartz/dsoundrender: Avoid taking the filter lock in IPin::EndOfStream().
strmbase: Get rid of BaseRendererImpl_BeginFlush().
strmbase: Get rid of BaseRendererImpl_EndFlush().
strmbase: Get rid of BaseRendererImpl_EndOfStream().
strmbase: Don't hold the streaming lock in IPin::BeginFlush().
quartz/systemclock: Support COM aggregation.
quartz/dsoundrender: Move DSoundRender_create() to avoid forward declarations.
quartz/dsoundrender: Delegate IReferenceClock to the system clock.
strmbase: Swap the lock order in IPin::EndFlush().
kernelbase: Implement GetOverlappedResultEx().
ntoskrnl.exe: Remove a superfluous condition.
ddraw: Track some more render states in the primary stateblock.
Zhang Shuai (1):
dssenh/tests: Add keylength tests for enhanced and schannel providers.
Zhiyi Zhang (5):
setupapi/tests: Fix timeout on win10 1809+.
setupapi/tests: Add default device registry property tests.
wine.inf: Add display and monitor classes.
setupapi: Set device SPDRP_CLASS registry property in create_device().
include: Add more date formatting flags.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 4.0.3 is now available.
What's new in this release (see below for details):
- Various bug fixes
- Updates to the National Language Support files
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0.3.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0.3.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 4.0.3 (total 54):
8848 SWAT4 Areas that should be in shadow and people are rendered solid black
12332 Microsoft Windows Server 2003 DDK SP1 installer crashes ('setupapi.SetupCloseFileQueue' should do proper handle validation before accessing members)
14695 Lifeforce demo misses codecs (msvideo1 needs to support 24 bpp output)
25180 Clonk Endeavour's intro video is not rendered correctly (iccvid does not support non-multiple of 4 video width)
27185 Futuremark PC Mark 7 (.NET 4.0 app) fails to run with Wine-Mono (mscoree:get_runtime Unrecognized version L"v4.0.20926")
28196 Test Drive Unlimited: Water is always rendered on top of everything.
31350 Multiple .NET 3.x WPF applications crash in Vista/Win7 mode due to dwmapi.DwmGetTransportAttributes stub returning E_NOTIMPL (T-Online Mediencenter Assistent, Valil.Chess, Zwift 1.0)
38182 King of Dragon Pass: can't change audio volume level
38421 Windows Media Player 9 & 10: mp3 sound plays too fast
38423 Python 3.5.x exe installer fails with Access denied error
39129 Cygwin's dash.exe crashes during installation
39614 Wine initialises a Critical Section for Mutexes by NULL instead of (void*)-1
41657 CoolQ 5.x reports network error on startup due to msscript:ScriptControl_Eval stub
42078 Dungeons & Dragons: Chronicles of Mystara needs d3dx11_43.dll.D3DX11CreateShaderResourceViewFromMemory
42374 Hardwood Solitaire can not connect to his server
43286 WSARecvMsg wrongly forbids NULL control buffers (Qt 5.7.0 based: Cannot read UDP packets: "errno 90, (Message too long)")
45218 Fallout 4 Script Extender fails to allocate trampoline buffers
45449 Add diagnostic 'mscoree.dll.CorGetSvc' stub (NGEN client) to hint at broken Microsoft .NET Frameworks installation (Wine-Mono not uninstalled and/or 'mscoree.dll' placeholders not removed prior install)
45757 Visual Studio 2017 Installer - "The installer manifest failed signature validation"
45947 Native Access crashes on unimplemented function virtdisk.dll.OpenVirtualDisk
46450 Volume Control doesn't work in Firefox videos (and browsers based on it) with PulseAudio driver
46453 The Testament of Sherlock Holmes crashes while loading level with builtin d3dx9_43
46473 Settlers IV History Edition crashes on startup
46558 win64 dotnet Space Engineers fractal noise generation broken
46655 Adobe Photoshop CC 2015.5: Tabs show completely black
46905 Multiple eventlog monitor applications go haywire (endless console spam, live-loop CPU) due to advapi32.ReadEventLogA/W returning lasterror ERROR_CALL_NOT_IMPLEMENTED
47013 winebus.sys: hidraw_set_feature_report buffer too small for some devices in SteelSeries Engine
47023 Warframe in-game screenshot fails if screenshot directory already exists
47069 Final Fantasy XIV Launcher renders black (needs better get_Busy implementation)
47082 NI System Web Server crashes on unimplemented function authz.dll.AuthzFreeResourceManager
47129 Rendering glitch in Caste Siege/Ballerburg (invalid vertex count in IDirect3DDevice3::DrawIndexedPrimitiveVB)
47137 Multiple applications from Line 6 (Yamaha Guitar Group) crash on startup (HX Edit v2.71, POD Farm 2.5)(Wine builtin 'gdiplus.dll' missing version resource)
47143 Trackbar thumb is too small in Metatrader 4 expert advisor
47178 Grand Prix Legends: Service papycpu2 doesn't load
47190 Custom protocol handler CF doesn't support aggregation
47214 Oracle Java runtime 8.211 online installer crashes in WoW64
47234 Wine fails to properly parse and import some of the standard root certificates
47236 Adobe InDesign CC 2017: crashes at startup: unimplemented function msvcp140.dll._Strxfrm
47249 CM_Set_Class_Registry_Property should use PCVOID for buffer parameter
47285 widl generates incorrect format strings when using -Oicf flag
47327 Japanese texts are overlapped in notepad when using bitmap font.
47352 Levelhead: Can't connect to game's network
47367 Some WPF 4.x apps from Windows 10 SDK (10.0.17763.x) spam console with fixme:d3d:wined3d_driver_info_init Unhandled OS version 6.3, reporting Win 8. (WinVer set to 'Windows 8.1')
47399 Mozart 11-13 crashes on startup
47418 Quickbooks 2018 installer crashes on Validating Install
47424 DataTransferLength in SCSI_PASS_THROUGH and SCSI_PASS_THROUGH_DIRECT *must* have return value
47432 bcrypt always chooses ECB mode when using AES, even if a program indicates otherwise.
47437 Final Fantasy XIV 5.0 crashes on startup when using xaudio2_8.dll
47514 AviUtl: Can't add a file to the ExEdit dialog after the first drop.
47546 Touhou 14-17 experience Spell Name and Music Room text issues starting in Wine 4.1
47564 Database mistmatch on brazillian timezone (America/Sao_Paulo)
47578 Omni-NFS 4.13's XLPD Server crashes on unimplemented function ntoskrnl.exe.MmIsThisAnNtAsSystem
47586 The Sims 1 visually freezes after alt-tabbing when in fullscreen mode
47706 ntdll: Compiler warnings regression on x86_64 [stable]
----------------------------------------------------------------
Changes since 4.0.2:
Akihiro Sagawa (4):
usp10/tests: Add advance width tests with CJK bitmap font.
usp10: Fix advance width when glyph is missing.
shell32/tests: Add DragQueryPoint tests.
shell32: Fix return value for DragQueryPoint.
Alex Henrie (2):
ntoskrnl: Add MmIsThisAnNtAsSystem().
server: Fix use after free in add_committed_range (scan-build).
Alexandre Julliard (5):
ntdll: Use the correct type for %llu scanf format.
server: Fix the returned error code for an invalid NT header offset.
widl: Use %define parse.error verbose instead of %error-verbose.
d3dcompiler: Use %define parse.error verbose instead of %error-verbose.
wbemprox: Use %define parse.error verbose instead of %error-verbose.
Alistair Leslie-Hughes (5):
authz: Add AuthzFreeResourceManager stub.
winebus.sys: Increase buffer size to match max length available.
wininet: Always set last error in InternetReadFile.
dinput: Ensure buffer doesn't overflow (Coverity).
advapi32: Don't read a value that might be uninitialized (Coverity).
Andrew Eikum (1):
ntdll: Fix memory region check in NtQueryVirtualMemory.
Andrey Gusev (1):
d3dx11: Fix D3DX11CreateShaderResourceViewFromMemory spec entry.
Aric Stewart (1):
dinput: Handle case where IOHIDDeviceGetValue fails.
Austin English (1):
advapi32: In ReadEventLogA/W, return ERROR_HANDLE_EOF instead of ERROR_CALL_NOT_IMPLEMENTED.
Bryon Roche (1):
windowscodecs: Byte swap png read/write for 16-bpp data.
Damjan Jovanovic (1):
ws2_32: WSARecvMsg allows a NULL control buffer when no control messages arrive.
Dmitry Timoshkov (6):
crypt32: CryptMsgUpdate should skip broken certificates.
urlmon/tests: Add a test for ProtocolCF_CreateInstance not supporting aggregation.
urlmon: If ProtocolCF_CreateInstance doesn't support aggregation retry without it.
windowscodecs/tests: Add a bunch of new tests for indexed format conversions.
windowscodecs: Add support for 32bppRGB, 32bppRGBA and 32bppPRGBA to format converter.
msvcrt: Fix handling of dst == src in wcscpy_s.
Enol Puente (3):
wrc: Add Asturian locale.
wmc: Support Asturian.
kernel32: Add Asturian locale.
Erich Hoover (2):
advapi32: Move the DACL combining code into a separate routine.
advapi32: Fix the initialization of combined DACLs when the new DACL is empty.
Ethan Lee (1):
xaudio2: Export functions by ordinal.
Fabian Maurer (2):
gdi32: CreatePolyPolygonRgn() returns an empty region when the area is empty.
setupapi: Correct function parameter for CM_Set_Class_Registry_PropertyA/W.
Gabriel Ivăncescu (4):
winealsa.drv: Adjust the buffer volume before sending it to ALSA.
winepulse.drv: Adjust the buffer volume before sending it to PulseAudio.
comctl32/listbox: Fix mouse wheel scrolling for multi-column listboxes.
user32/listbox: Fix mouse wheel scrolling for multi-column listboxes.
Gijs Vermeulen (1):
wine.inf: Update E. South America Standard Time.
Hans Leidekker (5):
bcrypt: Implement BCryptGenerate/FinalizeKeyPair for ECDH P256.
bcrypt: Ignore the size parameter in BCRYPT_CHAINING_MODE setters.
winhttp/tests: Fix some test failures.
winhttp: Propagate request errors in request_wait.
wininet/tests: Fix FTP test failures.
Henri Verbeet (2):
wined3d: Handle Windows 8.1 in wined3d_driver_info_init().
wined3d: Add GPU information for AMD VEGA12.
Jacek Caban (2):
ieframe: Keep Busy property in sync with download state.
msxml3: Fix string length handling in I[VB]SAXContentHandler::characters.
Jactry Zeng (1):
msscript: Partially implement IScriptControl::Eval().
Jeff Smith (1):
d3drm: Fix reference leak in d3drm_viewport2_Clear().
John Thomson (1):
shell32: Do not fail in SHCreateDirectoryExW for ERROR_ALREADY_EXISTS.
Kai Krakow (1):
wined3d: Add GPU information for NVIDIA GTX 1660 Ti.
Ken Thomases (1):
winemac: Fix failure to render OpenGL on macOS 10.14 (Mojave).
Kristján Gerhardsson (3):
wined3d: Add GPU information for various Mac GPUs.
wined3d: Add GPU information for AMD VEGA20.
wined3d: Add GPU information for a few more Intel KBL GPUs.
Louis Lenders (2):
dwmapi: Return DWM_E_COMPOSITIONDISABLED instead of E_NOTIMPL in DwmGetTransportAttributes.
gdiplus: Add version resource.
Martin Liska (1):
include: Avoid compound literals for WCHAR strings.
Michael Müller (5):
avifil32: Correctly handle compressed frames when desired format is specified.
wininet: Allow to set INTERNET_OPTION_HTTP_DECODING on sessions and connections.
iccvid: Fix calculation of stride and size.
msvidc32: Add support for converting 16 bit depth to 24 bit.
msvidc32: Fix calculation of stride and size.
Nikolay Sivov (7):
kernel32/tests: Add a test for critical section DebugInfo initial value.
ntdll: Initialize critical section debug info with correct pointer value.
comctl32/trackbar: Do not consider window size when initializing fixed length thumb.
kernel32/nls: Add LOCALE_SPERCENT locale data.
kernel32/nls: Add LOCALE_SPERMILLE data.
kernel32/nls: Add percent formatting values.
kernel32/nls: Add locale data for positive and negative infinity.
Owen Rudge (1):
wininet/tests: Fix http tests to reflect current state of winehq test server.
Paul Gofman (14):
d3dx9: Factor out {lock|unlock}_surface() functions.
d3dx9: Use temporary surface in D3DXFillTexture() for unmappable textures.
d3dx9: Do not ignore surface map failure in D3DXSaveSurfaceToFileInMemory().
d3dx9: Use temporary surface in D3DXSaveSurfaceToFileInMemory() for unmappable textures.
d3dx9: Use {lock|unlock}_surface() in D3DXLoadSurfaceFromMemory().
d3dx9: Pass rectangle to {lock|unlock}_surface().
wined3d: Apply stencil mask to stencil reference value.
ddraw: Fix vertex count in d3d_device3_DrawIndexedPrimitiveVB().
wined3d: Use 3 component norm for 'nrm' opcode in GLSL backend.
ddraw: Return DDERR_SURFACELOST from _GetAttachedSurface() if surface is lost.
ddraw: Restore complex attached surfaces when restoring surface.
ddraw/tests: Test restoring attached surface for ddraw4.
ddraw/tests: Test restoring attached surface for ddraw2.
ddraw/tests: Test restoring attached surface for ddraw1.
Piotr Caban (2):
msvcp: Add _Strxfrm implementation.
services: Don't double release process in service_start.
Qian Hong (1):
advapi32: Initialize the LsaLookupSids() LSA_TRANSLATED_NAME.Name string properly.
Rémi Bernon (1):
wined3d: Add GPU information for Intel UHD Graphics 620.
Stefan Dösinger (1):
include: Remove backslashes from D3D12_COLOR_WRITE_ENABLE_ALL.
Sven Baars (8):
wmp: Fix a crash in put_volume when basic_audio is NULL.
shell32: Fix an item identifier list leak (Valgrind).
user32: Fix some leaks on error path (Coverity).
msrle32: Fix a memory leak (Valgrind).
comctl32: Always free the tooltip text before setting it (Valgrind).
d3dx9: Release the full parameter name when a parameter is released (Valgrind).
d3dx9: Always free samplers (Valgrind).
shell32: Fix a use after free (Coverity).
Tim Schumacher (1):
services: Allow reading binary registry values as DWORDs.
Vijay Kiran Kamuju (12):
virtdisk: Add stub and tests for OpenVirtualDisk.
kernel/nls: Fix country name in Tatar locale.
kernel/nls: Fix LOCALE_SNAME for Azeri (Cyrillic).
kernel/nls: Fix LOCALE_SNAME for Uzbek (Cyrillic).
kernel/nls: Fix LOCALE_SNAME for Serbian (Cyrillic).
kernel/nls: Fix country name and sname in English-Caribbean locale.
kernel/nls: Fix country name in Manx Gaelic locale.
kernel/nls: Add LOCALE_SMONTHDAY to all supported languages.
kernel/nls: Fix LOCALE_SLONGDATE and LOCALE_SYEARMONTH for some chinese locales.
kernel32: Add implementation of CAL_SSHORTESTDAYNAME*.
kernel32: Add implementation for CAL_SMONTHDAY.
kernel/nls: Fix LOCALE_SABBREVCTRYNAME for Serbian.
Vincent Povirk (3):
mscoree: Accept old framework build in exe metadata.
windowscodecs: Treat 16-bit channels as little endian.
mscoree: Add diagnostic CorGetSvc stub.
Zebediah Figura (14):
setupapi: Add magic bytes to struct file_queue and validate them in SetupCloseFileQueue().
msxml3: Load the version 1 typelib before trying to access it.
widl: Use IsSimpleRef only for explicitly declared arrays.
widl: Also allocate top-level pointers to arrays as on-stack in -Oicf mode.
widl: Mark unions, user types, and ranges as IsSimpleRef.
quartz/tests: Clean up CommitDecommitTest().
quartz/tests: Add more tests for standard media samples.
quartz/memallocator: Clear some sample properties when freeing the sample.
msi: Close all handles opened by a custom action thread.
ntdll: Correctly fill DataTransferLength in SCSI_PASS_THROUGH and SCSI_PASS_THROUGH_DIRECT.
ucrtbase/tests: Add some tests for __stdio_common_vsscanf().
ucrtbase: Write the %hh prefix as a single char.
d3d8/tests: Flush events after sending SC_MAXIMIZE.
d3d9/tests: Add another flush to work around an intermittent test failure on fvwm2.
Zhiyi Zhang (3):
d3d9/tests: Add a test for stencil reference value truncation.
wined3d: Truncate stencil reference values to the stencil component size.
msctf: Add ITfContextOwnerCompositionServices stub.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 4.20 is now available.
What's new in this release (see below for details):
- New version of the Mono engine with an FNA update.
- Code persistence in VBScript and JScript.
- Vulkan spec updates.
- Improved support for LLVM MinGW.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.20.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.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 4.20 (total 37):
10728 LEGO Island character models are textureless
13499 The Odyssey: Winds Of Athena: access violation when trying to run
16644 SimGolf v1.03 does not render terrain
16808 Password Safe crashes with page fault when renaming entries
19667 Demo for Total Annihilation: mouse scrolling of screen unworkable.
24529 TSDoctor 1.0.58 fails to run
33498 Multiple application installers need setupapi.SetupDiCallClassInstaller implementation (USB over Network 5, Microsoft Windows CE Platform Manager 4.0/sub-installer of Embedded VC++ 4.0)
34723 Resident Evil 3: changing settings during the game (in fullscreen mode) results in a crash
35821 wPrime 2.x (VB6 app) reports 'Run-time error 445: Object doesn't support this action' (needs ITextStream ReadLine method implementation)
35925 Age of Wonders III (version <1.5) has graphical issues (fbo bailing out on context_set_gl_context)
36431 valgrind shows a possible leak in shell32/tests/ebrowser.c
36538 Livestream Procaster needs D3D10CompileEffectFromMemory
38070 Multiple application installers need vbscript:Global_Replace implementation in VBScript custom actions (GEOVIA Surpac 6.x, Hog4PC 3.x)
40442 Unexplained new random comctl32:header failure (cross-compiler issue?)
40950 ProgramFiles(x86) environment variable is not created
41106 Multiple games crash at launch without native .NET 4.0 (Lethe - Episode One, A Story About My Uncle)
41119 vbscript fails to parse 'createobject("wscript.shell").run' statement
44975 Multiple applications need 'find.exe' command line tool with functionality to search for string pattern from stdin (ConEmu)
45031 HotS - taking screenshot causes client crash, needs d3dx11_42.dll.D3DX11SaveTextureToFileW
46417 Abiword 2.6.8 comboboxes should have a white background color
46578 IVMU Social Network Client (500 series) crashes when selecting menu / settings
46683 TopoEdit crashes with unimplemented function mf.dll.MFCreateVideoRendererActivate
47305 Notepad doesn't adjust caret and scroll position properly
47349 TesModManager require SetFileInformationByHandle with FileBasicInfo to properly set file timestamps
47807 Wine Mono fails to install fakedlls in a new 64-bit prefix
47815 Virtual desktop is missing window decorations
47821 gcin cannot input chinese characters
47876 mmdevapi:capture issues an invalid and fake todo
47885 games are now restricted to resolutions not bigger than the virtual desktop
47945 dinput:mouse regression on Wine
47947 wine control freezes on exit
47954 Bug in unicode path handling
47958 Mi PC Suite: It won't install (call to unimplemented function propsys.dll.PSCreatePropertyStoreFromObject)
48017 Winlink needs httpapi.dll.HttpReceiveRequestEntityBody() when using native .NET
48019 SSE register MXCSR is wrong for new threads
48067 Epic Games Launcher no longer installs
48076 compile error: ucrtbase: ‘for’ loop initial declarations are only allowed in C99 mode
----------------------------------------------------------------
Changes since 4.19:
Alexandre Julliard (33):
ucrtbase/tests: Avoid C99 for loop.
wrc: Add --sysroot option.
widl: Add strmake() helper.
widl: Add --sysroot and --nostdinc options.
makefiles: Pass --nostdinc also to widl.
ntdll: Initialize MxCsr for new threads on x86.
ntdll: Fix FPU initialization for new threads on x86-64.
server: Clarify naming of ARM64 floating-point registers.
ntdll: Initialize FPU context on ARM64.
msvcrt: Don't change FPU control word in _control87() on x86-64.
kernel32/tests: Add more tests for FPU control registers.
vcomp: Fix vcomp_fork() implementation on ARM64.
vcomp: Fix signed char issues.
winegcc: Also check magic number to detect shared libraries.
ntdll: Support running a builtin without corresponding file in RtlCreateUserProcess().
kernel32: Move support for running wineboot to ntdll.
kernel32: Move initialization of the WoW64 environment to ntdll.
ntdll: Directly allocate the final process parameters structure.
winver: Fix program exit code.
ntdll: Support running .exe.so binaries in RtlCreateUserProcess().
ntdll: Initialize earlier things that need the executable name.
ntdll: Move some initializations out of thread_init().
ntdll: Load the main binary directly in ntdll when possible.
server: Get rid of the unused file parameter in exec_process.
kernel32: Move exec process functionality to ntdll.
kernel32: Use RtlCreateUserProcess() to start new processes.
kernel32: Move support for starting Unix processes to ntdll.
kernelbase: Implement GetSystemWow64Directory2().
kernel32: Move GetSystemWow64Directory() functions to kernelbase.
kernel32: Move CreateProcess() functions to kernelbase.
shell32: Process all messages in control panel.
d3d: Revert test hacks that shouldn't have been committed.
kernel32: Get rid of LOCALE_IDEFAULTUNIXCODEPAGE.
Alistair Leslie-Hughes (14):
user32: WM_MOUSEACTIVATE should return MA_NOACTIVATE for WM_LBUTTONDOWN/HTCAPTION message.
dmstyle: IDirectMusicTrack GetParam add pointer check.
dsdmo: Added dll.
dsound/tests: Add media object query tests.
dmime: Trace dwGroupBits parameter consistently.
dmband: Handle the DirectX 7 version of DMUS_IO_INSTRUMENT structure.
dmscript: Script track IPersistStream IsDirty return S_FALSE.
dmband: Rename IDirectMusicTrack8Impl to band_track.
dinput: Keyboard device doesn't support property DIPROP_VIDPID.
dinput: Mouse device doesn't support property DIPROP_VIDPID.
dmime: SegTrigger track supports parameter GUID_IDirectMusicStyle.
dmstyle: Free list when Style track is destroyed.
dmime: Free list when Tempo track is destroyed.
dmime: Free list when SegTrigger track is destroyed.
Andrew Eikum (4):
hid: Move preparsed data definition to global header.
user32/tests: Move rawinput tests into input.c.
user32: Clean up GetRawInputDeviceInfo.
user32: Support RIDI_PREPARSEDDATA in GetRawInputDeviceInfo.
Andrew Sheldon (1):
wined3d: Add Navi 10 PCI id and device description.
Biswapriyo Nath (1):
include/netfw: Add INetFwRule2 and INetFwRule3 interfaces.
Connor McAdams (14):
d3dx10: Add D3DX10LoadTextureFromTexture() stub.
d3dcompiler: Move d3d10 reflection stubs into d3dcompiler.
d3dcompiler: Init reflection data in D3D10ReflectShader().
d3dcompiler: Implement d3d10 reflection GetDesc() method.
d3dcompiler: Implement d3d10 reflection Get{Input, Output}ParameterDesc() methods.
d3dcompiler: Implement d3d10 reflection GetResourceBindingDesc() method.
d3dcompiler: Partially implement ID3D10ShaderReflectionConstantBuffer.
d3dcompiler: Implement d3d10 GetConstantBufferByIndex().
d3dcompiler: Implement d3d10 GetConstantBufferByName().
d3dcompiler: Partially implement ID3D10ShaderReflectionVariable.
d3dcompiler: Implement ID3D10ShaderReflectionType.
d3dcompiler: Implement ID3D10ShaderReflectionVariable GetType() method.
d3dcompiler: Implement ID3D10ShaderReflectionConstantBuffer GetVariableByIndex() method.
d3dcompiler: Implement ID3D10ShaderReflectionConstantBuffer GetVariableByName() method.
Conor McCarthy (3):
kernelbase: Add stub for SetThreadDescription().
dxgi: Implement IDXGISwapChain3::ResizeBuffers1().
dxgi/tests: Add tests for IDXGISwapChain3::ResizeBuffers1().
Damjan Jovanovic (7):
comctl32: Test the treeview edit control EM_LIMITTEXT.
comctl32: Implement treeview edit control EM_SETLIMITTEXT.
comctl32: Test treeview text trimming after label editing is complete.
comctl32: Test text buffer passed to TVN_ENDLABELEDIT is always MAX_PATH chars long.
comctl32: Test overwriting of pszText contents in TVN_ENDLABELEDIT.
comctl32: Test overwriting of pszText pointer in TVN_ENDLABELEDIT.
comctl32: Implement treeview edit control text trimming and overwriting.
Derek Lesho (1):
winevulkan: Mark members of required structs as required recursively.
Dmitry Timoshkov (2):
kernelbase: Implement EqualDomainSid.
wineconsole: Fix "Select all" functionality in USER backend.
Erich Hoover (2):
qmgr: Call the notification callback when jobs complete.
msvcrt: Fix scanf file locking when returning EOF.
Fabian Maurer (6):
comctl32/tests: Add combo tests for WM_CTLCOLOR*.
user32/tests: Add combo tests for WM_CTLCOLOR*.
comctl32/combo: Properly handle WM_CTLCOLOR* messages.
user32/combo: Properly handle WM_CTLCOLOR* messages.
comctl32/edit: In EM_POSFROMCHAR return correct position for empty lines.
user32/edit: In EM_POSFROMCHAR return correct position for empty lines.
François Gouget (5):
comctl32/listbox: Do no limit item height to 255.
kernel32/tests: Windows 10 dropped support for GetConsoleFontInfo().
kernel32: Match the Windows 10 1709+ GetConsoleFontInfo().
kernel32/tests: Windows 10 dropped support for SetConsoleFont().
kernel32: Match the Windows 10 1709+ SetConsoleFont() implementation.
Gabriel Ivăncescu (17):
jscript: Set the DISPID to DISPID_UNKNOWN if unknown.
jscript: Also clear the thread_id if the script state is set to Closed.
vbscript: Store global variables in an array.
vbscript: Get rid of ident_map.
jscript: Use standard list for the queued code.
jscript: Implement script persistence.
jscript/tests: Use integers instead of booleans for counting call expectations.
jscript/tests: Add tests for pending and executed code persistence.
vbscript: Release the code list when the script is closed.
vbscript: Avoid special casing the global function when compiling a function's variables.
vbscript: Implement script persistence.
vbscript: Store the compiled classes list head into vbscode_t.
vbscript: Store the compiled functions list head into vbscode_t.
vbscript: Append to the global lists when the code is executed, rather than compiled.
vbscript: Change release_dynamic_vars to release a single variable.
vbscript/tests: Use integers instead of booleans for counting call expectations.
vbscript/tests: Add tests for pending and executed code persistence.
Hans Leidekker (2):
bcrypt: Avoid recreating cipher handles when the initialization vector doesn't change.
shell32: Fix definitions for FOLDERID_ProgramFilesX64 and FOLDERID_ProgramFilesCommonX64 on 64-bit.
Huw D. M. Davies (1):
user32: Remove unused GetAsyncKeyState() driver entry.
Jacek Caban (36):
vbscript: Support assigning to object default value.
vbscript: Store global functions in an array.
vbscript: Replace existing function for duplicated functions.
vbscript: Allow arbitrary number of arguments in builtin functions.
vbscript: Add Replace function implementation.
vbscript: Don't allow changing script state when script site is not set.
vbscript: Support changing script state to SCRIPTSTATE_INITIALIZED.
vbscript: Fix parsing call expressions.
vbscript: Lookup this object in lookup_identifier only if it's an actual VBScript object.
vbscript: Store only VBScript this objects in execution context.
vbscript: Clean up lookup_identifier.
msvcrt: Use %ls format for wchar strings in _wassert.
vbscript: Store global static arrays together with global variables.
xmllite: Update current pointer after reader_skipn call.
vbscript: Fix destroying safearrays in release_exec.
winemac.drv: Make sure that NSMiniaturizableWindowMask style mask is set before calling miniaturize.
scrrun: Rewrite text stream to use read ahead buffer.
scrrun: Add ITextStream::ReadLine implementation.
scrrun/tests: Add ITextStream::ReadLine tests.
scrrun/tests: Add test of lost trailing byte in unicode srteam.
vbscript: Move detach_global_objects call to VBScript destructor.
jscript/tests: Use wchar string literals instead of a2bstr helper.
widl: Don't use fixed size buffer in ctl2_encode_name.
widl: Don't use fixed size buffer in ctl2_encode_string.
widl: Use strmake in get_name.
configure: Get rid of no longer needed __builtin_clz check.
jscript: Treat only ASCII digits as digits.
vbscript: Treat only ASCII digits as digits.
msvcrt/tests: Add iswdigit tests.
vbscript: Always treat keywords after dot as identifiers.
winegcc: Add support for -Wl,-delayload argument.
makedep: Use -Wl,-delayload option for winebuild delayimports.
mshtml: Fix checks for digit characters.
oleaut32: Fix checks for digit characters.
shlwapi: Fix PathUndecorate[AW] implementation.
makedep: Use -Wl,-delayload on cross targets when supported by linker.
Jeff Smith (3):
msrle32: Return expected flags from GetInfo.
ucrtbase: Strftime returns 4-digit timezone for %z.
ucrtbase: Strftime %y works for years 0 to 9999.
João Diogo Ferreira (2):
kernel32: Move Get/SetUserGeoID() to after the geoinfo struct.
kernel32: Handle GEOCLASS_REGION in Get/SetUserGeoID().
Liam Middlebrook (6):
d3dx11: Add D3DX11SaveTextureToFileA/W() stub.
winevulkan: Don't add alias structs to struct-extensions list.
winevulkan: Update to VK spec version 1.1.113.
winevulkan: Update to VK spec version 1.1.114.
winevulkan: Update to VK spec version 1.1.117.
winevulkan: Update to VK spec version 1.1.126.
Louis Lenders (1):
wine.inf: Add value for DigitalProductId.
Martin Storsjo (1):
kernel32: Add a special case to EnumProcessModules for the local process.
Matteo Bruni (9):
d3dcompiler: Always expect D3D_COMPILER_VERSION to be defined.
include: Define D3D_COMPILER_VERSION if it's not already defined.
include: Expose MinPrecision field on d3dcompiler version >= 46.
d3dcompiler: Initialize MinPrecision when it exists.
d3dcompiler: Fix a couple of failure return values in >= 46 D3DReflect().
d3dcompiler/tests: Add d3dcompiler_47 tests.
d3dcompiler/tests: Add a small test for MinPrecision.
d3dcompiler/tests: Clean up test_reflection_desc_ps_output() a bit.
d3d10/tests: Add reflection test.
Micah N Gorrell (1):
ole32: Obtain stream size regardless of current position.
Michael Stefaniuc (19):
vbscript: Remove redundant NULL checks before SysFreeString().
dmstyle: Rename IDirectMusicTrack8Impl to audition_track.
dmstyle: Rename IDirectMusicTrack8Impl to chord_track.
dmstyle: Rename IDirectMusicTrack8Impl to command_track.
dmstyle: Rename IDirectMusicTrack8Impl to motif_track.
dmstyle: Rename IDirectMusicTrack8Impl to mute_track.
dmstyle: Rename IDirectMusicTrack8Impl to style_track.
dmcompos: Rename IDirectMusicTrack8Impl to chordmap_track.
dmcompos: Rename IDirectMusicTrack8Impl to signpost_track.
dmime: Rename IDirectMusicTrack8Impl to lyrics_track.
dmime: Rename IDirectMusicTrack8Impl to paramcontrol_track.
dmime: Rename IDirectMusicTrack8Impl to segment_track.
dmime: Rename IDirectMusicTrack8Impl to sequence_track.
dmime: Rename IDirectMusicTrack8Impl to sysex_track.
dmime: Rename IDirectMusicTrack8Impl to tempo_track.
dmime: Rename IDirectMusicTrack8Impl to wave_track.
dmscript: Rename IDirectMusicTrack8Impl to script_track.
d3d9/tests: Actually test a return value.
d3dx9: Remove redundant NULL check before heap_free().
Nikolay Sivov (35):
propsys/tests: Merge test files.
propsys: Add a semi-stub for PSCreatePropertyStoreFromObject().
comsvcs/tests: Rename test file.
comsvcs: Add a stub for "new" moniker.
comsvcs: Implement display name parsing for "new" moniker.
comsvcs: Implement Hash() for "new" moniker.
comsvcs: Implement IsSystemMoniker() for "new" moniker.
comsvcs: Implement Inverse() for "new" moniker.
ole32: Support BIND_OPTS3 in bind context.
mf: Add MFCreateVideoRendererActivate().
mfreadwrite/tests: Add some tests for "any"-stream requests.
comsvcs: Add GetTimeOfLastChange() for "new" moniker.
comsvcs: Add Enum() for "new" moniker.
comsvcs: Implement IPersistStream methods for "new" moniker.
comsvcs: Accept progid's when creating "new" monikers.
mfreadwrite: Use separate helpers for sync/async ReadSample().
mfreadwrite: Track source state in reader.
mfreadwrite: Return earlier on ReadSample() is stream is deselected.
ole32/tests: Remove Win9x workarounds from moniker tests.
shell32: Remove "stub" from traces.
ole32: Remove "stub" from traces.
msxml3: Remove "stub" from traces.
rpcss: Make initialization helper easier to extend.
rpcss: Implement interface to return sequential identifiers.
ole32: Reimplement CoGetCurrentProcess() to use global counter from rpcss.
ole32: Add separate enumerator implementation for IEnumSTATPROPSETSTG.
comsvcs: Implement BindToObject() for "new" moniker.
comsvcs/tests: Add some tests for "new" moniker interfaction with bind context.
comsvcs/tests: Get rid of global variable.
comsvcs: Add Reduce() for "new" moniker.
comsvcs: Add IROTData stub for "new" moniker.
comsvcs: Support progid in "new" moniker serialization stream.
comsvcs/tests: Remove traces from tests.
ole32: Add separate IEnumSTATPROPSTG implementation.
ole32: Return optional name in IEnumSTATPROPSTG::Next().
Paul Gofman (8):
d3dx9: Correctly handle NULL constant state for objects on 64 bit arch.
ddraw/tests: Add tests for alpha component in surface format conversions.
kernel32: Output a message in GetVolumeInformationW() when device has no read access.
wined3d: Check if destination texture has GPU access in glsl_blitter_supported().
wined3d: Use software decompression for converting from compressed format.
wined3d: Fixup alpha component in wined3d_texture_gl_upload_data().
ddraw/tests: Also test format conversion alpha for sysmem textures.
ddraw/tests: Backport test_surface_format_conversion_alpha() for ddraw4.
Piotr Caban (12):
msvcrt: Improve printf %I format support.
msvcrt: Enable printf %z, %t and %j formats.
msvcrt: Use %ls format for wchar strings in DoMessageBox.
ntdll: Work around futimens weak linking problem in set_file_times.
user32: Include png.h only if SONAME_LIBPNG is defined.
windowscodecs: Include png.h only if SONAME_LIBPNG is defined.
winebus: Reference PDOs added to DEVICE_RELATIONS structure.
winebus: Fix DEVICE_RELATIONS content on device removal.
ntoskrnl.exe: Store device state in volatile key.
ucrtbase: Set invalid parameter handler for all misc tests.
ucrtbase: Clean up strftime tests.
msvcrt: Call invalid parameter handler in strftime.
Rémi Bernon (21):
user32/tests: Wait and flush messages after window creation.
user32/tests: Add some wparam mask to message sequences for w1064v1809.
user32/tests: Update SetActiveWindow(0) test result for w1064v1809.
user32/tests: Skip tests expecting ascii VK wparam on non-us keyboards.
user32/tests: Add optional flags for alternative sequence on w1064v1809.
user32/tests: Flush remaining events before starting a new sequence.
user32/tests: Increase test_timers count tolerance on Windows.
user32/tests: Tweak test result for w1064v1809.
user32/tests: Synchronize with the SendMessageTimeout thread.
user32/tests: Close event at the end of the test_WaitForInputIdle test.
user32/tests: Ignore WM_WININICHANGE message in test sequences.
user32/tests: Make the test_PeekMessage3 timer fire less often.
user32/tests: Synchronize with other thread between SendMessage calls.
user32/tests: Wait longer for injected mouse event to take effect.
user32/tests: Add optional messages to test sequences.
dnsapi: Increase buffer size to fix format-overflow warning.
oleaut32: Increase buffer size to fix format-overflow warning.
winevdm: Increase buffer size to fix format-overflow warning.
opencl: Define CL_TARGET_OPENCL_VERSION 220 to fix a header warning.
winealsa.drv: Increase buffer size to fix format-overflow warning.
winmm: Fix int-to-pointer and pointer-to-int casts warnings.
Sven Baars (6):
shell32: Fix a memory leak (Valgrind).
urlmon/tests: Fix a test failure on Windows XP.
wintrust/tests: Initialize cbStruct in the ObjectTrust tests.
gdi32/tests: Update expected ExtCreateRegion behavior to represent newer Windows.
gdi32/tests: Remove some Win9x workarounds from the clipping tests.
d3dcompiler/tests: Fix some d3dcompiler_47 test failures on Windows 8.
Vijay Kiran Kamuju (1):
include: Add missing FOLDERID's to knownfolders.h.
Vincent Povirk (3):
mscoree: Update Wine Mono to 4.9.4.
Revert "mscoree: Call mono_thread_manage in GC Unsafe mode.".
msi: Use integers internally for MSIDBOPEN constants.
Zebediah Figura (56):
strmbase/transform: Reimplement IQualityControl for the source pin.
ntoskrnl.exe: Pass the correct output size to IoBuildDeviceIoControlRequest().
http.sys: Factor out get_connection().
http.sys: Allow receiving entity body data.
httpapi: Implement HttpReceiveRequestEntityBody().
d3d9/tests: Reorder two occlusion query tests to work around a timeout with llvmpipe.
d3d8/tests: Flush events after sending SC_MAXIMIZE.
userenv: Fix a copy-paste error.
userenv: Use wide character string literals.
userenv: Set the ProgramFiles(x86) and CommonProgramFiles(x86) environment variables.
userenv: Add a set_env_var() helper.
ntdll: Set the ProgramFiles(x86) and CommonProgramFiles(x86) environment variables.
ntoskrnl.exe: Implement many more properties in IoGetDeviceProperty().
ntoskrnl.exe: Stub IRP_MN_QUERY_CAPABILITIES for root-enumerated devices.
ntoskrnl.exe: Implement IRP_MN_QUERY_DEVICE_RELATIONS for root-enumerated devices.
ntoskrnl.exe: Trace the call to AddDevice().
ntdll: Fix a typo.
winebus.inf: Add new INF file and copy it to the INF directory.
winebus.sys: Implement AddDevice().
wineboot: Create a root-enumerated device object for winebus.
wine.inf: Remove registration for the winebus service.
winebus.sys: Initialize and teardown the HID backends while the bus FDO is still extant.
ntoskrnl.exe: IoInvalidateDeviceRelations() receives the parent PDO.
ntoskrnl.exe: BusRelations is also used when devices are removed.
winebus.sys: Stop creating a setupapi device.
d3d9/tests: Add another flush to work around an intermittent test failure on fvwm2.
wined3d: Introduce wined3d_stateblock_set_viewport().
d3d9: Handle stateblocks in d3d9_device_SetViewport().
d3d8: Handle stateblocks in d3d8_device_SetViewport().
ddraw: Handle stateblocks in d3d_device7_SetViewport().
configure: Install winebus.inf.
setupapi: Fix setting filepart in SetupCopyOEMInfW().
setupapi: Set the device class in SetupDiBuildDriverInfoList().
setupapi: Set the DeviceDesc value in SetupDiInstallDevice().
wined3d: Introduce wined3d_stateblock_set_scissor_rect().
d3d9: Handle stateblocks in d3d9_device_SetScissorRect().
wined3d: Introduce wined3d_stateblock_set_index_buffer().
d3d9: Handle stateblocks in d3d9_device_SetIndices().
wined3d: Introduce wined3d_stateblock_set_base_vertex_index().
d3d8: Handle stateblocks in d3d8_device_SetIndices().
wined3d: Introduce wined3d_stateblock_set_stream_source().
d3d9: Handle stateblocks in d3d9_device_SetStreamSource().
d3d8: Handle stateblocks in d3d8_device_SetStreamSource().
wined3d: Introduce wined3d_stateblock_set_stream_source_freq().
d3d9: Handle stateblocks in d3d9_device_SetStreamSourceFreq().
advapi32/tests: Remove a todo_wine.
wined3d: Introduce wined3d_stateblock_set_light().
d3d9: Handle stateblocks in d3d9_device_SetLight().
d3d8: Handle stateblocks in d3d8_device_SetLight().
ddraw: Handle stateblocks in d3d_device7_SetLight().
ddraw/tests: Expand test_coop_level_d3d_state().
wined3d: Also reset the device state to the default in wined3d_device_uninit_3d().
wined3d: Introduce wined3d_stateblock_set_light_enable().
d3d9: Handle stateblocks in d3d9_device_LightEnable().
d3d8: Handle stateblocks in d3d8_device_LightEnable().
ddraw: Handle stateblocks in d3d_device7_LightEnable().
Zhiyi Zhang (8):
winex11.drv: Introduce is_virtual_desktop().
winex11.drv: Use a separate virtual desktop display device handler.
winex11.drv: Get virtual desktop size limit from the host primary display.
winex11.drv: Move the desktop fullscreen check after desktop init.
winex11.drv: Fix NoRes mode handler having an empty mode.
user32/tests: Fix test failures on multiple monitor setup.
user32/tests: Fix monitor test failures on some systems.
d3d8: Fix incorrect types.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.19 is now available.
What's new in this release (see below for details):
- A number of additional VBScript features.
- More stateblock support in WineD3D.
- Some fixes for ARM64 support.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.19.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.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 4.19 (total 41):
14026 Installshield Wizard does not exit after it finishes
17289 Slingplayer 2.0 installer fails
23934 Multiple games and applications depend on kernel32.CreateProcess to prioritize the working directory over the system search path (Stronghold Kingdoms loops after update, installers fail to find tools)
26552 Wine sets the resolution incorrectly on widescreen monitors
30911 Trivial Pursuit Unhinged fails to load
32147 Notepad .Net toolbar does not draw
32148 Notepad .Net does not exit cleanly
32151 Notepad .Net continually runs at ~70% CPU
34460 Tabbing between editboxes does not work in Tweet Attacks Pro
34666 In The Adventures Of Lomax some graphic elements flicker, disappear or are garbled
35380 Trivial Pursuit Unhinged: reports an audio error and exits
35479 Metatrader 5 hangs when scanning for Tester agents
35506 Space Hack: The mouse pointer is hard to control
35798 TeamViewer 9.0.26297 NI crashes on startup when using 'run only' option (one time use)
35801 Tweet Attacks hang when entering invalid login details
35901 ImpotRapide 2013 (.NET 4.0 app) installer crashes with Mono
36388 Problems with Russian localization in page setup dialog
37861 BOINC detects incomplete GPU details
37878 boincmgr: No text in cancel dialog in NT 6.0-6.2 modes
38795 Netgear Powerline 3.1 update check fails on second run
38821 MetaEditor 5: MQL5 Reference window doesn't load in a WOW64 wineprefix
38930 Betfair Poker log-in window is blank
40140 4K YouTube to MP3 crashes while downloading videos for some time
40360 Jack Keane 2 shadow corruption
40364 Broken geometry in Indiana Jones and the Emperor's Tomb
40777 The Moment of Silence launcher unusable (displays only black)
41369 UIAnimation (Windows Animation Manager / UIAnimation.dll) is missing in Wine
41741 The Adventures of Lomax demo crash on startup.
44221 Netgear Powerline: *** stack smashing detected ***: explorer.exe terminated
44231 External links in Slingplayer's help file open iexplore multiple times
45310 Closing Ableton Live 9 Lite wil crash into unimplemented function KERNEL32.dll.MoveFileTransactedW
46914 CompressonatorGUI 3.1 installer crashes in Win10 mode (Advanced Installer Module bug, incorrect usage of kernel32.Wow64RevertWow64FsRedirection)
46995 Rekordbox 5.3.0 installer (32-bit process under WoW64) fails to load 32-bit code dlls with WoW64 filesystem redirection disabled
47075 32-bit LAVFilters 0.74.x installer fails to register 64-bit AX codec/filters in Wow64 environment (32-bit regsvr32.exe needs to support 64-bit dll registration and vice versa by re-exec with proper bitness)
47509 Touhou 15.5:Antinomy of Common Flowers stopped running after upgrading the Wine version from 4.10 to 4.12.2
47912 Rockstar Games Launcher installer crashes after disabling WoW64 redirection
47956 IGMP source specific multicast does not create join requests for source
47967 Wine fails to find application DLLs when the working directory is not the application directory
47979 NtCreateFile incorrectly returns STATUS_OBJECT_NAME_NOT_FOUND when RootDirectory is populated
47986 R-Studio (file recovery tool) wants ntoskrnl.exe.IoCreateUnprotectedSymbolicLink
48009 Broken rendering in Sniper Elite V2
----------------------------------------------------------------
Changes since 4.18:
Akihiro Sagawa (4):
d2d1/tests: Add some DPI tests.
d2d1: Don't update device context DPI values when changing targets.
d2d1: Improve bitmap creation DPI handling.
po: Update Japanese translation.
Alex Henrie (4):
ntoskrnl: Implement IoCreateUnprotectedSymbolicLink.
ntdll: Implement NtPowerInformation(SystemBatteryState) on Linux.
kernel32/tests: Add tests for GetSystemPowerStatus.
kernel32: Implement GetSystemPowerStatus on top of NtPowerInformation.
Alexandre Julliard (34):
ntdll: Initialize Unix codepage early during startup.
kernel32: Retrieve the Unix codepage from ntdll.
kernelbase: Fix variable name aliasing issue.
kernel32: Add the new image path to the dll path for a new process.
notepad: Fix parsing of quoted command line.
ntdll: Always add path separator when looking for a relative path name.
kernel32: Move current directory initialization to ntdll.
kernel32: Move process name initialization to ntdll.
kernel32: Move Unix environment initialization to ntdll.
kernel32: Move registry environment initialization to ntdll.
kernel32: Move additional environment initialization to ntdll.
kernel32: Move image path name initialization to ntdll.
kernel32: Move Unicode argv initialization to ntdll.
kernel32: Move command line initialization to ntdll.
kernel32: Move dll load path initialization to ntdll.
kernelbase: Fix fault address printing for the PE build.
ntdll: Fix unwinding of leaf functions on ARM64.
ntdll: Hardcode address space limits for ARM platforms.
winex11: Also catch X errors from XF86VidModeSetGammaRamp().
atlthunk: Add support for ARM64.
oleaut32: Fix handling of VARIANT parameters in DispCallFunc() on ARM64.
msvcrt/tests: Fix signed char issues.
kernel32/tests: Enable the ExitProcess() test on ARM64.
setupapi: Define .inf section names for ARM platforms.
wine.inf: Add ARM64 sections.
ole32/tests: Increase a timeout.
psapi/tests: Increase some timeouts.
rpcrt4/tests: Increase some timeouts.
msvcrt/tests: Fix more signed char issues.
msvcrt: Reimplement strcmp/strncmp to get consistent return values.
msvcirt/tests: Fix some signed char issues.
oleaut32: Fix scope of a local array variable.
webservices: Use _control87() instead of directly manipulating the FPU register.
msvcrt: Implement _control87() and _statusfp() for ARM64.
Alistair Leslie-Hughes (13):
dplayx: Copy the correct Short name variable.
dpnet: Initialize size before call to RegGetValueW (Coverity).
wmvcore: IWMReader GetOutputCount return zero outputs.
wmvcore: IWMProfile3 GetStreamCount return zero streams.
oledb32: Support milliseconds when converting BSTR -> DBTIMESTAMP.
dinput/tests: Remove unrequired pointer checks (Coverity).
dinput: Detect more buttons as non-joysticks.
uianimation: Add typelib resource.
uianimation/tests: Add initial tests.
dmband: Simplify DllGetClassObject.
uianimation/tests: Add IUIAnimationTimer test.
uianimation/tests: Add more tests.
ntdll: Fix compile error on macos.
Ambrož Bizjak (1):
ucrtbase: Implement t and j printf length modifiers.
Andrew Eikum (11):
xinput: Make device hotplugging thread-safe.
xinput: Consolidate new device setup.
xinput: Clear instance data when a controller is hotplugged.
xinput: Get rid of redundant connected boolean.
mmdevapi/tests: Avoid race condition in capture test.
mmdevapi/tests: Use discontinuity flag to detect broken win7 behavior.
mmdevapi: Set data pointer to NULL on IAudioCaptureClient::GetBuffer failure.
mmdevapi: Return E_INVALIDARG for invalid share mode argument.
dxgi: Sort reported output modes.
advapi32: Add EventRegister and EventUnregister tests.
ntdll: Add missing spec file entry for EtwEventWriteString.
Austin English (1):
ntoskrnl.exe: Quiet a verbose FIXME.
Brendan Shanks (2):
kernel32/tests: Test loading system DLLs with WoW64 redirection disabled.
ntdll: Enable WoW64 filesystem redirection when loading libraries.
Byeong-Sik Jeon (1):
po: Update Korean tranlation.
Connor McAdams (3):
d3d10: Move private effect functions to effect.c.
d3d10: Move debug_d3d10_driver_type() to d3d10_main.c.
d3d10: Move debug_d3d10_device_state_types() to stateblock.c.
Conor McCarthy (3):
dxgi/tests: Mark as todo the containing output test if a secondary monitor will cause failure.
dxgi: Do not warn about ignoring a null refresh rate.
dxgi: Add support for DXGI_SCALING_NONE.
Daniel Lehman (3):
msvcrt/tests: Fix _lseek arguments.
msvcrt: Set errno in _lseeki64.
wine.inf: Add Dynamic DST for US time zones.
Dmitry Timoshkov (1):
vbscript/tests: Add some tests for IRegExp2::Replace().
Erich Hoover (1):
msvcrt: Fix fscanf return when EOF is immediately after an end of line.
Fabian Maurer (3):
ws2_32: Handle more IGMP socket options.
find: First implementation.
find: Prevent hang by properly checking for EOF.
François Gouget (6):
comctl32/tests: Avoid an unneeded lstrlenW() call.
mshtml: Fix the spelling of some variable and field names.
mshtml/tests: Fix the spelling of an ok() message.
mshtml/tests: Fix the name of an unused function parameter.
msi/tests: Fix the case of an ok() message.
msi: Fix the spelling of a comment.
Gijs Vermeulen (1):
faultrep/tests: Fix some memory leaks (Valgrind).
Hans Leidekker (5):
msi/tests: Add missing UnpublishFeatures actions.
msi/tests: Fix test failures.
msi/tests: Run the package tests from a temporary directory.
msi/tests: Remove workarounds for Windows 2000.
shell32: Improve the stub for SHGetPropertyStoreForWindow.
Henri Verbeet (1):
ntdll: Properly handle 0 returns from unw_step().
Jacek Caban (31):
include: Avoid macro redefinition when wchar.h is included after stdint.h.
vbscript: Implement String function.
vbscript: Implement RegExp.Replace.
vbscript: Improve exec_script debug traces.
vbscript: Fix array reference handling in do_icall.
vbscript: Add LBound function implementation.
vbscript: Move sign expression to a separated rule.
vbscript: Introduce separated struct for call expressions.
vbscript: Allow any unary expression after call keyword.
vbcript: Allow any call expression in call and assign statements.
vbscript: Support non-member calls in compiler.
vbscript: Factor out variant_call.
vbscript: Support calling VARIANT in interpreter.
vbscript/tests: Add more call tests.
vbscript: Ignore parentheses in call expression.
vbscript: Always pass arguments inside parentheses by value.
vbscript: Use wide char literals for lexer keywords.
vbscript: Add support for parsing with statement.
vbscript: Add support for interpreting statements.
vbscript/tests: Add with statement tests.
jscript: Use _ltow_s instead of int_to_string.
vbscript: Support VT_EMPTY in stack_pop_bool.
vbscript: Silence BuiltinDisp::QueryInterface(IID_IDispatchEx) warning.
vbscript/tests: Introduce get_dispid helper.
vbscript: Support DISP_E_EXCEPTION Invoke[Ex] return value.
vbscript: Add support for parameterized set statements.
vbscript: Allow 'with' as an identifier.
vbscript: Add parser support for redim statement.
vbscript: Add interpreter support for redim statement.
vbscript/tests: Add redim statement tests.
vbscript: Support using function return value in expressions.
Jeff Smith (1):
kernel32: Quote first command line arg in process paramenters.
Louis Lenders (10):
include: Set threading model on UIAnimation* interfaces.
include: Add restrictederrorinfo.idl.
uianimation: Register interfaces.
uianimation: Add IUIAnimationManager stubbed interface.
uianimation: Add IUIAnimationTimer stubbed interface.
uianimation: Add IUIAnimationTransitionFactory stubbed interface.
uianimation: Add IUIAnimationTransitionLibrary stubbed interface.
uianimation: Implement IUIAnimationManager::CreateStoryboard.
uianimation: Implement IUIAnimationManager::CreateAnimationVariable.
httpapi: Add stub for HttpReceiveRequestEntityBody.
Matteo Bruni (4):
d3dx9: Return an error if no fallback format is found.
d3dx9: Turn unimplemented interface ERR into a WARN.
wined3d: Introduce a separate use_legacy_fragment_output() helper.
wined3d: Limit GLSL version to 1.30 when OpenGL 3 is not supported.
Michael Müller (1):
crypt32: Add MS root CA 2010.
Michael Stefaniuc (7):
comctl32/tests: Constify some string holding variables / fields.
comctl32/tests: Simplify comparison with empty string.
comctl32/tests: Get rid of variables holding empty strings.
comctl32/tests: Don't read past the end of the buffer.
dmsynth: Use a wchar string literal instead of a temp variable.
mfreadwrite: Use wchar string literals instead of temp variables.
t2embed: Use a wchar string literal instead of a temp variable.
Nikolay Sivov (12):
dwrite/tests: Relax tests that fail on some Win10 versions.
t2embed/tests: Fix some test failures on Win10.
comdlg32/tests: Use win_skip() instead when appropriate.
gdiplus: Trace GpRectF arguments.
kernel32/tests: Fix some test failures on Win10.
wscript/tests: Fix test failures on Win10.
vbscript/tests: Fix tests failures on Win10.
shell32/tests: Relax some tests to fix failures on Win10.
ole32/tests: Add some more tests for interface redirection handling.
ole32: Do not pass around untyped context section pointers.
ole32: Use interface redirection section too when looking for modules in CoGetClassObject().
po: Fix Russian strings for page setup dialog.
Paul Gofman (15):
user32: Fix coords in WINDOWPOS for WM_NCCALCSIZE sent from SetWindowPos().
d3d9/tests: Factor out wait_query() function.
wined3d: Issue texture barrier before using a texture attached to FBO.
wined3d: Do not allow resource to be bound as SRV and RTV at the same time.
d3d8: Fix stream data skip count in convert_to_wined3d_declaration().
d3dx9: Don't pass usage flags for staging texture in D3DXCreateCubeTextureFromFileInMemoryEx().
d3dx9: Factor our check_texture_requirements() function.
d3dx9: Use check_texture_requirements() in D3DXCheckCubeTextureRequirements() with correct resource type.
d3dx9: Use check_texture_requirements() in D3DXCheckVolumeTextureRequirements() with correct resource type.
d3dx9: Don't pass usage flags for staging texture in D3DXCreateVolumeTextureFromFileInMemoryEx().
ddraw: Fix vertex buffer offset in d3d_execute_buffer_execute().
d3d11: Mind DSV flags when checking for conflicting SRV.
d3d11/tests: Add tests for binding resource as both SRV and DSV.
d3d11/tests: Require D3D_FEATURE_LEVEL_11_0 for using DSV flags.
wined3d: Return TRUE for NULL SRV format from wined3d_dsv_srv_conflict().
Piotr Caban (13):
ucrtbase: Implement %G format for strftime.
msvcrt: Don't use strcspn from C-library.
msvcrt: Add _mbsspn_l implementation.
msvcrt: Add _mbscspn_l implementation.
msvcrt: Don't use strstr from C-library.
ntdll: Use SIZE_T to store passed buffer size in sprintf.
msvcrt: Cleanup sprintf tests.
regedit: Fix double free error in GetValueName.
msvcrt: Simplify printf tests table.
msvcrt: Fix test failures on Windows 10.
msvcrt: Move more printf tests to table.
msvcrt: Add printf rounding tests.
msvcrt: Add printf meaningless digits tests.
Roman Pišl (3):
rstrtmgr: Add RM_FILTER_ACTION definition.
rstrtmgr: Fake API implementation by returning success.
rstrtmgr: Add stubs RmAddFilter and RmRemoveFilter.
Rémi Bernon (4):
user32/tests: Update input test result for w1064v1809.
user32/tests: Do not expect char vkey to return the same char everywhere.
user32/tests: Do not expect ToAscii with 'A' vkey to return 'a' on non-us keyboards.
user32/tests: Skip some tests with inconsistent results with non-us kbd.
Serge Gautherie (1):
atl: Fix a MSVC x64 printf warning.
Sven Baars (13):
mf: Leave instead of enter a critical section.
scrobj: Fix some leaks on error paths (Coverity).
scrobj/tests: Don't set site to NULL before it has been freed (Valgrind).
scrobj: Add a missing return value check (Coverity).
webservices: Fix some leaks on error paths (Coverity).
msvcp120: Add a helper for tr2_sys__Equivalent.
msvcp140: Add an _Equivalent implementation that allows for directories.
winmm: Pass the device to WINMM_Pause directly.
wininet/tests: Fix some test failures on Windows.
mstask/tests: Wait a bit longer for tasks to start and terminate.
wininet/tests: Skip some FTP tests when no connection can be made.
ntdll/tests: Fix some test failures on Windows 10.
ole32/tests: Fix some test failures on Windows XP.
Vijay Kiran Kamuju (4):
ntdll: Fix the SYSTEM_MODULE struct field names.
setupapi/tests: Remove win_9x checks.
ucrtbase: Implement %g format for strftime.
ucrtbase/tests: Add tests for strftime formats %r and %V.
Vincent Povirk (4):
regsvr32: Re-exec as 32-bit or 64-bit if necessary.
windowscodecs/tests: Expect success from IWICStream_Commit.
windowscodecs: Implement IWICStream_Commit.
mscoree: Call mono_thread_manage in GC Unsafe mode.
Zebediah Figura (70):
psapi/tests: Increase the GetPerformanceInfo() margins again.
psapi/tests: Remove an unreliable test.
qwave: Don't test the last error in the successful case.
advapi32/tests: Use unique names for each created service.
quartz/tests: Add more tests for stream start time.
quartz/tests: Add more tests for seeking.
quartz/filtergraph: Correctly implement IMediaSeeking::GetStopPosition().
quartz/filtergraph: Remove the no longer used "stop_position" field from IFilterGraphImpl.
quartz/filtergraph: Correctly handle AM_SEEKING_ReturnTime in IMediaSeeking::SetPositions().
wined3d: Introduce wined3d_stateblock_set_sampler_state().
d3d9: Handle stateblocks in d3d9_device_SetSamplerState().
wined3d: Introduce wined3d_stateblock_set_texture_stage_state().
d3d9: Handle stateblocks in d3d9_device_SetTextureStageState().
d3d8: Handle stateblocks in d3d8_device_SetTextureStageState().
quartz/filtergraph: Iterate filters directly in IMediaSeeking::SetPositions().
quartz/filtergraph: Store the current position and return it in IMediaSeeking::GetCurrentPosition().
quartz/filtergraph: Set the current position in IMediaFilter::Stop().
quartz/filtergraph: Pause the graph even if AM_SEEKING_NoFlush is used.
quartz/filtergraph: Clarify stream time tracking.
strmbase: Return S_FALSE from IBaseFilter::Pause() when performing asynchronous state change.
quartz/videorenderer: Get rid of hEvent.
strmbase: Introduce renderer_init_stream().
quartz/videorenderer: Use the renderer_init_stream() callback.
strmbase: Get rid of the "vtbl" parameter to strmbase_renderer_init().
ddraw: Track the primary stateblock state locally.
ddraw: Handle stateblocks in d3d_device7_SetRenderState().
ddraw: Handle stateblocks in d3d_device7_SetTextureStageState().
strmbase: Move strmbase_renderer_init() to avoid forward declarations.
strmbase: Get rid of the BaseRenderer typedef.
strmbase: Get rid of the BaseRendererFuncTable typedef.
strmbase: Rename the "pFuncsTable" field of struct strmbase_filter to "ops".
strmbase: Introduce filter state callbacks.
strmbase/transform: Use base filter state change methods.
advapi32/tests: Clean up tests for duplicate service names.
advapi32/tests: Accept another value for the default service pre-shutdown timeout.
advapi32/tests: Clean up double NotifyServiceStatusChange() tests.
comsvcs/tests: Increase the timeout in the implicit MTA test.
msctf/tests: Simplify ITfThreadMgrEventSink refcounting tests.
msctf/tests: Don't test calls to ITextStoreACP::GetStatus().
msctf/tests: Trace method calls more completely and only when WINETEST_DEBUG is set.
ole32/tests: Adjust timing in test_CoWaitForMultipleHandles().
gameux/tests: Get rid of registry value tests.
crypt32/tests: Clean up test_format_object().
strmbase/renderer: Use base filter state change methods.
strmbase: Pass a strmbase_pin pointer to QualityControlImpl_Create().
strmbase: Retrieve the filter clock from the pin pointer.
qcap/audiorecord: Use strmbase state change methods.
qedit/samplegrabber: Use strmbase state change methods.
d3d9: Release the recording stateblock before calling wined3d_device_reset().
d3d8: Reset the stateblock state before calling wined3d_device_reset().
ddraw: Reset the stateblock state before calling wined3d_device_reset().
wined3d: Introduce wined3d_stateblock_set_texture().
d3d9: Handle stateblocks in d3d9_device_SetTexture().
d3d8: Handle stateblocks in d3d8_device_SetTexture().
ddraw: Handle stateblocks in d3d_device7_SetTexture().
kernel32/tests: Fix some codepage tests under Windows 10.
wined3d: Introduce wined3d_stateblock_set_transform().
d3d9: Handle stateblocks in d3d9_device_SetTransform().
d3d8: Handle stateblocks in d3d8_device_SetTransform().
ddraw: Handle stateblocks in d3d_device7_SetTransform().
wined3d: Introduce wined3d_stateblock_set_clip_plane().
d3d9: Handle stateblocks in d3d9_device_SetClipPlane().
d3d8: Handle stateblocks in d3d8_device_SetClipPlane().
ddraw: Handle stateblocks in d3d_device7_SetClipPlane().
wined3d: Introduce wined3d_stateblock_set_material().
d3d9: Handle stateblocks in d3d9_device_SetMaterial().
d3d8: Handle stateblocks in d3d8_device_SetMaterial().
ddraw: Handle stateblocks in d3d_device7_SetMaterial().
quartz/tests: Relax some more timeouts.
qedit/mediadet: Check for failure from IEnumPins::Next().
Zhiyi Zhang (10):
gdi32: Support multiple monitors in D3DKMTOpenAdapterFromGdiDisplayName.
gdi32: Add D3DKMTSetVidPnSourceOwner and D3DKMTCheckVidPnExclusiveOwnership stubs.
winex11.drv: Implement X11DRV_D3DKMTSetVidPnSourceOwner.
winex11.drv: Implement X11DRV_D3DKMTCheckVidPnExclusiveOwnership.
dxgi: Implement dxgi_output_ReleaseOwnership().
dxgi: Implement dxgi_output_TakeOwnership().
winex11.drv: Call XFlush() right after XUngrabServer().
winex11.drv: Use underscore style for struct x11drv_display_device_handler.
winex11.drv: Retrieve virtual and primary monitor rectangles from SetupAPI.
winex11.drv: Handle display device events in the desktop thread.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.18 is now available.
What's new in this release (see below for details):
- Many new VBScript functions.
- A number of cleanups and improvements in Quartz.
- Fixes for several test failures.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.18.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.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 4.18 (total 38):
10440 Lego Island 2 has black screen at start (audio but no video, application window loses focus to quartz video window)
24983 Multiple applications need support for DXTn texture compression in D3DXLoadSurfaceFromMemory() (Space Rangers 2, Memento Mori, fr-043)
25486 Lego Stunt Rally: 3d scene is black
32174 Applicaton crashes after paste of the clipboard
33848 InstallShield fails to install any files on NTFS / FAT32 partitions, while others can...
35223 King's Bounty Crossworlds crashes in the new campaign when entering the sea tower on the first island
35585 Castlevania: Lords of Shadow 2 demo endless loading screen without native d3dx9_36 (support for scaling of DXTn textures in d3dx9 missing)
37883 RebelBetting (.NET 4.5 app) fails to load with Wine-Mono
38940 RebelBetting 6.x (.NET 4.5 app) crashes on exit (ole32.Context_CC_ContextCallback too stubby)
40740 Broken Sword: The Angel of Death demo needs IDirectSoundFXI3DL2Reverb interface
41936 The Witcher 2: Assassins of Kings - menus and subtitles rendered incorrectly (with built-in d3dx9)
42979 Age of Empires hangs for several seconds between screens when CSMT is enabled
43497 Grandia II Anniversary Edition - Black screen
44540 Imperium GBR close unexpectly with native quartz.dll (DirectX9 Feb 2010 redist) and dsound.dll
46279 Multiple applications need msvcr120.dll.?_Yield@_Context@details@Concurrency@@SAXXZ (Darkest Dungeon, Noita, Amazon Kindle for PC)
46560 Smoke not rendering properly in Castlevania: Lords of Shadow 2
47192 Halo 2: PS4 controller no longer registers inputs
47234 Wine fails to properly parse and import some of the standard root certificates
47295 Halo 2: Game freezes during startup
47309 Multiple WinML tools from Windows 10 SDK ( 10.0.17763.x) crash on startup, requiring several api-ms-win-crt-private-l1-1-0.dll._o_* API functions (mlgen, winmdidl)
47395 Wolf RPG Editor hangs on exit
47615 _putws outputs NULs, other wchar.h functions don't
47676 Logos Bible Softare no longer loads due to crash
47751 x64dbg crashes in get_current_context / InterlockedCompareExchange
47755 Installation of Atmel Studio 7 crashes with a Program Error
47764 World of Warcraft - Keyboard troubles
47782 Segmentation fault and exceptions using ManagementClass
47813 Itch.io: Warning or error when launching a game (GetFileInformationByHandleEx for FileAttributeTagInfo unimplemented)
47822 Transcendence crashes on exit
47833 FindFirstFileExW seems to be missing FILE_OPEN_FOR_BACKUP_INTENT flag to NtOpenFile
47862 Art of Murder - Cards of Destiny main character and NPCs have texture corruption
47868 test_notify() dsound:dsound test is unreliable
47870 dwrite:layout fails in the Arabic locale
47880 Need for Speed: Carbon - Autosculpt causes geometry corruption and GL_INVALID_OPERATION error
47886 rpcrt4:server crashes on Windows
47891 advapi32:services regression
47911 quartz:vmr9 tests crash on Windows 7
47918 Blur: cars have no wheels when Wine is compiled with Ryzen optimisations
----------------------------------------------------------------
Changes since 4.17:
Akihiro Sagawa (1):
ntdll: Add exception handling around DbgBreakPoint.
Alex Henrie (1):
winex11: Copy icon color table in 256-color mode (Valgrind).
Alexandre Julliard (17):
kernel32: Add set_ntstatus() helper.
ntdll: Implement RtlSetSearchPathMode().
ntdll: Implement RtlGetSearchPath().
kernel32: Use RtlGetSearchPath() in SearchPathW() implementation.
kernel32: Move Get/SetDllDirectory() implementation to ntdll.
kernel32: Move dll path functions to ntdll.
kernel32: Move exe path functions to ntdll.
kernel32: Move LoadLibrary functions to kernelbase.
kernel32: Move SearchPath functions to kernelbase.
kernel32: Move system locale enumeration functions to kernelbase.
make_unicode: Avoid duplicate lead bytes.
winebuild: Add support for excluding a specific CPU architecture.
ntoskrnl: Export some functions on all architecture except i386.
msvcrt: Export some functions on all architecture except i386.
ntdll: Disallow changing DEP flags on 64-bit.
programs: Make all program entrypoints cdecl.
libport: Add codepage 28601 (Latin/Thai).
Alistair Leslie-Hughes (17):
include: Allow building against dmusic.
dmime: Improved tracing of the DMUS_OBJECTDESC structure.
dsound/tests: Add some GetStatus checks.
dmime: Always set a minimum timeout in IDirectMusicPerformance8::SetNotificationHandle.
dpnet: Report no programs found in IDirectPlay8LobbyClient EnumLocalPrograms.
dsound/tests: Allow more time for an event to be signalled.
dmime/tests: Add a notification_type test.
include: Add space sim direct input defines.
dmime/tests: Break out of loop if we fail to get segment pointer.
dinput/tests: Add checks for Acquire/Unacquire.
dinput: Don't treat Stylus devices as joysticks.
kernel32: FindFirstFileExW needs to open the directory with FILE_OPEN_FOR_BACKUP_INTENT flag.
wininet/tests: Add setting Authorization header override tests.
wshom.ocx: Correct out parameter for _NewEnum.
include: Add SpSharedRecognizer coclass and support interfaces.
include: Added sapiaut.idl.
include: Add COM_DECLSPEC_NOTHROW define.
Andrew Eikum (1):
xinput: Check for NULL argument in XInputGetState.
Andrey Gusev (1):
d3dcompiler: Add missing defines, enums and declarations.
Brendan Shanks (4):
kernel32/tests: Add tests for named pipes in PIPE_NOWAIT mode.
server: Don't block when reading from named pipes in PIPE_NOWAIT mode.
server: Don't block when writing to named pipes in PIPE_NOWAIT mode.
server: Don't block ConnectNamedPipe for pipe in PIPE_NOWAIT mode.
Christian Costa (1):
d3dx9: Correctly align texture dimensions to block size in D3DXCheckTextureRequirements().
Dmitry Timoshkov (8):
winspool: Add support for level 1 printer info to GetPrinter.
wineps: Add version resource.
wshom.ocx: Actually wait for process termination in IWshShell3::Run().
ieframe: Implement InternetExplorer typelib methods.
wininet: Fix off by 1 error when parsing time.
wineps.drv: Don't clear DM_PAPERWIDTH | DM_PAPERLENGTH flags.
winspool: Implement IsValidDevmodeW.
ieframe: Implement InternetExplorer::get_Busy().
Evgeny Litvinenko (1):
ntdll: Solaris requires sys/regset.h.
Felix Hädicke (1):
msvcrt: Use memmove() instead of memcpy() puts_clbk_str().
François Gouget (5):
msg711.acm: Fix the spelling of the copyright notice.
mshtml: Fix the spelling of some comments.
mmdevapi/tests: Fix the spelling of ok() messages.
mfplat/tests: Fix the spelling of a comment.
winspool.drv/tests: Avoid an unneeded strlen() call.
Gabriel Ivăncescu (3):
msscript.ocx: Move set_script_state to the top.
msscript.ocx: Implement IScriptControl::Run.
msscript.ocx/tests: Add tests for IScriptControl::Run.
Gijs Vermeulen (8):
kernel32/tests: Fix some console tests on newer Win10.
msvcp110: Add more exports.
scrrun/tests: Make test_clone more descriptive.
scrrun/tests: Fix DriveCollection clone tests when there's only one drive.
msvcrt: Add Concurrency::details::_Context::_Yield stub.
advapi32/tests: Fix test_process_security with non-English locale.
wined3d: Add default case in wined3d_calculate_fog_factor.
mscoree: Support loading assemblies from path specified in config file.
Hans Leidekker (8):
bcrypt: Implement BCryptEnumAlgorithms.
wbemprox: Implement Win32_QuickFixEngineering.
bcrypt: Avoid recreating the hash on every iteration in BCryptDeriveKeyPBKDF2.
winhttp/tests: Fix some test failures.
winhttp: Propagate request errors in request_wait.
winhttp/tests: Fix more test failures.
secur32/tests: Fix test failures.
wininet/tests: Fix FTP test failures.
Huw D. M. Davies (1):
winegcc: Add a missing break.
Jacek Caban (41):
scrrun: Add support for TristateUseDefault text stream format.
vbscript: Add Day function implementation.
vbscript: Add Month function implementation.
vbscript: Add Year function implementation.
vbscript: Add Hour function implementation.
vbscript: Add Minute function implementation.
vbscript: Add Second function implementation.
vbscript: Store entire EXCEPINFO in script context.
vbscript: Add err.description implementation.
vbscript: Add err.source implementation.
vbscript: Add err.helpfile and err.helpcontext implementation.
vbscript: Add err.raise function implementation.
vbscript/tests: Add err.raise tests.
vbscript: Move OnEnterScript/OnLeaveScript calls to exec_script.
vbscript: Call OnScriptError for runtime errors.
vbscript: Call OnScriptError for compile errors.
vbscript/tests: Add more tests.
ucrtbase: Use -norelay for __stdio_common_vsprintf.
msvcr: Use -norelay for _vsnprintf.
server: Reselect read queue before write queue in pipe_end_write.
kernel32/tests: Add message mode non-blocking pipe test.
kernelbase: Update SetNamedPipeHandleState debug trace.
vbscript: Factor out invoke_vbdisp.
vbscript: Don't use IDispatchEx for internal calls.
vbscript: Create class description for procedure object in compiler.
vbscript: Introduce new type for object with builtin functions.
vbscript: Factor out detach_global_objects.
vbscript: Introduce get_builtin_id.
vbscript: Use separated IDispatch implementation for objects exposing builtin functions.
vbscript: Don't use ITypeInfo for builtin function dispids.
vbscript: Get rid of no longer needed ITypeInfo in BuiltinDisp.
vbscript/tests: Added Err object IDispatch tests.
vbscript: Use global object property to expose Err object.
vbscript: Fix NULL IDispatch handling in get_disp_value.
vbscript: Create script context in CreateInstance.
vbscript: Store safety options only in script context.
vbscript: Store lcid only in script context.
vbscript: Store script site only in script context.
vbscript: Move create_script_disp call to SetScriptSite.
vbscript: Move init_global call to CreateInstance.
vbscript/tests: Add more named items tests.
Jeff Smith (3):
crypt32/tests: Tidy up unexpected length failure messages in base64.
crypt32: Fix CryptBinaryToString return value on short base64 buffer.
crypt32: Make CryptBinaryToStringA fill short base64 buffer correctly.
Joseph Kogut (8):
ncrypt: Add NCryptEnumAlgorithms stub.
ncrypt: Add NCryptEnumKeys stub.
ncrypt: Add NCryptFreeBuffer stub.
ncrypt: Add NCrypt{Get,Set}Property stubs.
ncrypt: Add NCryptImportKey stub.
ncrypt: Add NCryptDeleteKey stub.
ncrypt: Add NCryptIsAlgSupported stub.
iphlpapi: Report success in NotifyIpInterfaceChange.
João Diogo Ferreira (1):
winnls.h: Add element GEOCLASS_ALL to enum SYSGEOCLASS.
Ken Thomases (1):
winemac: Fix redirection of OpenGL extension functions.
Kevin Puetz (1):
msvcp: Use fput[w]c in basic_filebuf_char_overflow.
Martin Storsjo (1):
msvcrt: Fix the layout of threadlocaleinfostruct for ucrt.
Matteo Bruni (7):
d3dx9: WARN when the file doesn't exist in D3DXCreateTextureFromFileExW().
d3dx9: Add a trace to D3DXCreateBuffer.
user32: Don't go past the end of the animated cursor data.
d3d11: Set context to NULL in CreateDeferredContext() stub.
include: Get rid of raster caps bits not available in the SDK version of d3d9caps.h.
maintainers: Drop Sebastian Lackner as a maintainer.
d3dx9: Fix pitch passed to DXTn [de]compression functions.
Nikita Morozkin (1):
advapi32: Stub SetPrivateObjectSecurityEx().
Nikolay Sivov (36):
include: Add Media Session capabilities flags definition.
wined3d: Fail UAV creation for resources without corresponding bind flag.
mf: Partially implement topology cloning.
mf: Implement initial support for starting media sources within a session.
include: Add IDWriteFontSet3 definition.
include: Move DWRITE_GLYPH_IMAGE_FORMATS definition to dcommon.h.
mf: Subscribe to media stream events for current presentation.
mfplat: Unify event method traces format.
mfplat: Remove unnecessary typedef.
mfreadwrite: Remove unnecessary typedef.
mf: Keep media source state based on raised events.
mf: Add async command for session pause.
mf: Add async command for stopping the session.
mf: Unify trace formats for session methods.
mf: Rearrange topology queueing logic to simplify status notifications.
mf: Send MF_TOPOSTATUS_STARTED_SOURCE status notification after all sources were started successfully.
mf: Set presentation clock for sinks, subscribe to sink events.
mf: Return earlier for clock state change calls when time source is not set.
mf: Add IMFLocalMFTRegistration stub.
mfplat: Add MFTRegisterLocalByCLSID() stub.
mf: Add RegisterMFTs() implementation.
mf: Clone node connections when cloning topology.
mf: Add IMFMediaSourceTopologyProvider for sequencer source stub.
dwrite/tests: Remove test failing on RTL locales.
dwrite: Add a stub for IDWriteTextFormat3.
dwrite: Update to IDWriteFontCollection3.
dwrite: Update to IDWriteFontFamily2.
mf/tests: Use separate session instance for events tests.
mf: Copy preferred types when cloning nodes.
mf: Adjust sample grabber sink flags in rateless mode.
mf/tests: Add a test for SAR time source.
dwrite: Update to IDWriteFontFaceReference1.
dwrite: Update to IDWriteFontFallback1.
dwrite: Update matches list to IDWriteFontList2.
dwrite: Update font family object to use IDWriteFontList2.
include: Add some more MF reader/writer API definitions.
Owen Rudge (1):
wininet/tests: Fix http tests to reflect current state of winehq test server.
Paul Gofman (5):
wined3d: Support zero row pitch in wined3d_texture_gl_upload_data().
gdi32: Collapse relative paths inside true type fonts file names in registry.
wined3d: Factor out wined3d_texture_gl_upload_bo() function.
wined3d: Pass correct map size in wined3d_texture_gl_upload_data().
wined3d: Upload 3d GL textures per-slice when conversion is involved.
Piotr Caban (10):
kernel32: Don't use uninitialized ofs->szPathName in OpenFile.
msvcrt: Fix _putws implementation.
msvcrt: Don't write past buffer in strftime.
msvcrt: Add wcrtomb_s implementation.
msvcrt: Add wcrtomb_s tests.
winebus.sys: Make device_id string more similar to native.
ntdll: Try to handle write watches while we're on the signal stack (x86_64).
kernel32: Add write watch test on OVERLAPPED structure.
msvcrt/tests: Add overlapped memory move sprintf test.
msvcrt: Return time since CRT initialization in clock function.
Rafał Mużyło (1):
x3daudio: Fix lib exports.
Rémi Bernon (1):
wined3d: Add GPU information for Intel UHD Graphics 620.
Sven Baars (14):
msi/tests: Fix a test failure on Windows XP.
kernel32/tests: Fix a test failure on Windows XP.
wbemprox/tests: Fix a memory leak (Valgrind).
wbemprox: Fix a string leak (Valgrind).
wbemprox/tests: Remove some unused variables.
wbemprox: Fix a leak on error path (Coverity).
wbemprox: Fix multiple leaks in parse_path (Coverity).
scrrun/tests: Fix some test failures on Windows 2003.
comctl32/tests: Prevent some test failures by moving the cursor away from the window.
ucrtbase: Don't differentiate for 64-bit in __fpe_flt_rounds.
advapi32/tests: Remove a superfluous CloseServiceHandle call (Coverity).
kernel32/tests: Skip some tests when NtSetInformationProcess is denied access.
kernel32/tests: Remove a test that shows inconsistent results.
ddraw/tests: Fix some test failures on 64-bit Windows.
Vijay Kiran Kamuju (8):
msvcrt: Implement %R format for strftime.
msvcrt: Implement %D format for strftime.
msvcrt: Implement %F format for strftime.
msvcrt: Implement %C format for strftime.
msvcrt: Implement %e format for strftime.
msvcrt: Implement %h format for strftime.
msvcrt: Implement %n and %t formats for strftime.
msvcrt: Implement %u format for strftime.
Zebediah Figura (87):
strmbase: Set the filter debug info only if valid.
quartz/tests: Add some tests for video renderer pin connection.
quartz/tests: Add some tests for allocator negotiation on the video renderer filter.
quartz/tests: Add some tests for video renderer filter states.
quartz/tests: Add some tests for flushing on the video renderer.
quartz/tests: Add tests for sample presentation time for the video renderer.
winegstreamer: Initialize COM on the callback dispatcher thread.
wined3d: Introduce wined3d_stateblock_set_vs_consts_i().
d3d9: Handle stateblocks in d3d9_device_SetVertexShaderConstantI().
wined3d: Introduce wined3d_stateblock_set_vs_consts_b().
d3d9: Handle stateblocks in d3d9_device_SetVertexShaderConstantB().
wined3d: Introduce wined3d_stateblock_set_vertex_shader().
d3d9: Handle stateblocks in d3d9_device_SetVertexShader().
wined3d: Introduce wined3d_stateblock_set_vertex_declaration().
d3d9: Handle stateblocks in d3d9_device_SetVertexDeclaration().
d3d9: Handle stateblocks in d3d9_device_SetFVF().
d3d8: Handle stateblocks in d3d8_device_SetVertexShader().
wined3d: Introduce wined3d_stateblock_set_pixel_shader().
d3d9: Handle stateblocks in d3d9_device_SetPixelShader().
d3d8: Handle stateblocks in d3d8_device_SetPixelShader().
wined3d: Introduce wined3d_stateblock_set_ps_consts_f().
d3d9: Handle stateblocks in d3d9_device_SetPixelShaderConstantF().
d3d8: Handle stateblocks in d3d8_device_SetPixelShaderConstant().
quartz/tests: Add some tests for IPin::EndOfStream() on the video renderer.
strmbase: Don't send EC_COMPLETE in IBaseFilter::Run().
strmbase: Add a callback to expose renderer pin interfaces.
quartz/videorenderer: Add a stub IOverlay interface to the sink pin.
quartz/videorenderer: Implement IOverlay::GetWindowHandle().
quartz/tests: Add a test for filter graph threading.
quartz/filtergraph: Create filters on a separate thread if requested.
strmbase: Send WM_CLOSE instead of calling DestroyWindow() directly.
quartz/videorenderer: Create the window on the same thread as the filter.
quartz/vmr9: Create the window on the same thread as the filter.
wined3d: Introduce wined3d_stateblock_set_ps_consts_i().
d3d9: Handle stateblocks in d3d9_device_SetPixelShaderConstantI().
wined3d: Introduce wined3d_stateblock_set_ps_consts_b().
d3d9: Handle stateblocks in d3d9_device_SetPixelShaderConstantB().
strmbase: Move tracking of the stream start time to the renderer.
quartz/tests: Add some tests for VMR7 pin connection.
quartz/tests: Add some tests for VMR9 pin connection.
quartz/vmr9: Add a stub IOverlay interface to the sink pin.
quartz/vmr9: Implement IOverlay::GetWindowHandle().
advapi32/tests: Use unique service names in test_wow64().
widl: Write pointer classes for explicitly declared arrays only if they are top-level parameters.
widl: Also compute buffer size for non-ref arrays.
strmbase: Introduce a helper to trace reference time.
strmbase: Introduce a helper to more thoroughly trace media type.
quartz: Use strmbase_dump_media_type() where appropriate.
qcap: Use strmbase_dump_media_type() where appropriate.
winegstreamer: Use strmbase_dump_media_type() where appropriate.
strmbase: Fix implementation of IVideoWindow::get_Caption().
quartz/tests: Add tests for IVideoWindow on the video renderer.
strmbase: IVideoWindow::SetWindowForeground takes OATRUE, not TRUE.
strmbase: Correctly implement IVideoWindow::put_Owner().
strmbase: Do not activate the window when changing its position.
strmbase: IVideoWindow::get_AutoShow() returns OATRUE, not TRUE.
strmbase: IVideoWindow::get_Visible() returns OATRUE, not TRUE.
strmbase: Don't move or activate the window in IVideoWindow::put_WindowStyle().
strmbase: Properly implement IVideoWindow::get_WindowState().
strmbase: More properly implement IVideoWindow::SetWindowForeground().
strmbase: Avoid leaking references to the sink's peer in IVideoWindow::SetWindowForeground().
quartz/tests: Bail out if connecting returns E_FAIL.
quartz/tests: Filter out extraneous messages in test_video_window_messages().
quartz/tests: Wait longer in test_render_with_multithread().
quartz/tests: Increase the timeout in test_media_event().
quartz/filtergraph: Ensure that the thread has a message queue before posting messages to it.
include: Add more wininet error codes.
wininet/tests: Handle ERROR_INTERNET_SEC_CERT_WEAK_SIGNATURE on newer 11.x versions.
strmbase: Get rid of the unused BaseWindowImpl_GetDefaultRect() function.
strmbase: Get rid of the "pfnPossiblyEatMessage" callback.
strmbase: Get rid of BaseWindowImpl_OnReceiveMessage().
strmbase: Get rid of the "pfnOnReceiveMessage" callback.
strmbase: Properly implement IVideoWindow::get_WindowStyle().
gdi32: Implement GetCharWidthFloat().
strmbase: Get rid of the "pfnGetClassWindowStyles" callback.
strmbase: Get rid of BaseWindowImpl_OnSize().
strmbase: Get rid of the unused "hInstance" field of the BaseWindow structure.
quartz/videorenderer: Get the window DC in VideoRenderer_SendSampleData().
strmbase: Get rid of the unused "hDC" field of the BaseWindow structure.
quartz/tests: Relax system clock timing tests a bit.
qcap/tests: Fix a double Release().
quartz/videorenderer: Get rid of CreateRenderingSubsystem().
strmbase: Get rid of the unused "lock" parameter to BaseControlWindow_Init().
wined3d: Introduce wined3d_stateblock_set_render_state().
wined3d: Introduce wined3d_stateblock_set_blend_factor().
d3d9: Handle stateblocks in d3d9_device_SetRenderState().
d3d8: Handle stateblocks in d3d8_device_SetRenderState().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.17 is now available.
What's new in this release (see below for details):
- New version of the Mono engine with upstream fixes.
- Support for DXTn compressed textures.
- Initial version of the Windows Script runtime library.
- Support for XRandR device change notifications.
- Support for generating RSA keys.
- Stubless proxies support on ARM64.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.17.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.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 4.17 (total 14):
24701 Vampire the Masquerade bloodlines hanging with Out of adapter memory
35561 Some MSYS2 commands generate a stackdump (queued user APC not executed)
36313 valgrind shows a possible leak in propsys/tests/propstore.c
39026 Wrong key mapping in virtualdub
39934 AppCAD graphics corruption
43842 Cached Authorization cause wrong username/password to be used
44394 Game “Civilization 4” is aborted because of unhandled exception.
46404 Shed installer - text overflow in browse-for-folder dialog
47706 ntdll: Compiler warnings regression on x86_64 [stable]
47736 __ASM_CFI not working on mac
47752 commit "winex11.drv: Wake up the display on user input." introduced severe performance issues with atomic modesetting kernel drivers
47766 PathAllocCanonicalize treats path segments start with dots wrong.
47769 Royal Quest: fails to start with LdrInitializeThunk "gaxomofy.dll" failed to initialize, aborting
47779 iCloud refuses to install: "Your computer is missing Media features."
----------------------------------------------------------------
Changes since 4.16:
Akihiro Sagawa (1):
dwrite: Prefer Windows platform names regardless of record order.
Alex Henrie (13):
ntdll: Avoid dead initialization (scan-build).
user32: Avoid dead initialization (scan-build).
dbghelp: Avoid dead assignment (scan-build).
glu32: Avoid dead assignment (scan-build).
crypt32: Factor out sprintf calls in trust_status_to_str (scan-build).
winex11: Avoid dead assignment (scan-build).
windowscodecs: Avoid dead assignment (scan-build).
ntdll: Ensure that performance information is initialized (scan-build).
wined3d: Avoid dead assignment (scan-build).
include: Rename Reserved1 to SystemStatusFlag in SYSTEM_POWER_STATUS.
include: Add constants needed for SYSTEM_POWER_STATUS.
include: Add Tag field to SYSTEM_BATTERY_STATE.
ntdll/tests: Add tests for NtPowerInformation(SystemBatteryState).
Alexandre Julliard (30):
ntdll: Don't use virtual_uninterrupted_read_memory() for invalid %gs check.
kernel32: Move some path functions to kernelbase.
kernel32: Move some locale functions to kernelbase.
ntdll: Fix usage of libunwind on x86-64 on non-macOS platforms.
ntdll: Don't send the first chance debug event twice.
ntdll: Send first chance debug event while on signal stack on i386.
kernelbase: Don't round thread stack guaranteed size when it is zero.
psapi: Avoid using forwards.
include: Import uchar.h from MinGW.
ntdll: Avoid server call when possible in NtSetContextThread() on ARM64.
ntdll: Send first chance debug event while on signal stack on ARM64.
winegcc: Add ARRAY_SIZE macro.
winegcc: Add --wine-objdir and --winebuild options for the Wine build.
winegcc: Always search the standard include dirs.
winegcc: Pass all linker arguments also when testing link options.
include: Remove no longer needed dependency on setjmp.h.
kernel32: Move some handle functions to kernelbase.
kernel32: Move delay-load functions to kernelbase.
kernel32: Move file time functions to kernelbase.
kernel32: Move NUMA-related functions to kernelbase.
kernel32: Move some misc functions to kernelbase.
oleaut32: Split DispCallFunc() into platform-specific functions.
oleaut32: Implement DispCallFunc() for ARM64.
make_specfiles: Don't add forwards to the api-ms-* dlls.
oleaut32: Return value pointer needs to be in x8 on ARM64.
rpcrt4: Add stubless proxy support for ARM64.
winegcc: Update __stdcall defines for ARM platforms.
winegcc: Centralize argument parsing into the main switch.
kernelbase: Use set_ntstatus() in more places.
msvcrt: Move vtbl wrappers together with the other functions.
Alistair Leslie-Hughes (6):
wininet: Pass correct server name when retrieving username information.
wininet: Update session username/password when cached credentials are used.
wininet: Clear cached credentials in INTERNET_OPTION_END_BROWSER_SESSION.
wininet: Use username/password parameters over cached credentials.
bcrypt: Fix key_asymmetric_init function for macos.
dsound: Primary buffer doesn't support flag DSBCAPS_CTRLFX.
Andrew Eikum (3):
winex11.drv: Throttle calls to XResetScreenSaver.
winebus.sys: Fix build without Linux event support.
msvcrt: Implement %T format for strftime.
Brendan Shanks (3):
user32/tests: Test GetWindowInfo error conditions and incorrect cbSize.
user32: Fix behavior of GetWindowInfo(0, NULL).
d2d1: Only create shader resource views for drawable bitmaps.
Charles Davis (1):
include: Pick up the ms_hook_prologue attribute for Clang, too.
Dmitry Timoshkov (7):
rpcrt4: Implement wait_for_incoming_data() for named pipes transport.
rpcrt4: Implement NdrAsyncServerCall.
rpcrt4: Implement RpcAsyncCompleteCall for server side.
shell32: Return S_OK from IDropTargetHelper::Show().
rpcrt4: Remove FIXME about RPC_CONTEXT_HANDLE_FLAGS from NDRSContextMarshall2 and NDRSContextUnmarshall2.
rpcrt4: Perform the INITOUT phase in NdrAsyncServerCall instead of RpcAsyncCompleteCall.
rpcrt4: Reimplement rpcrt4_conn_np_wait_for_incoming_data() using asynchronous read with zero sized buffer.
Fabian Maurer (1):
shell32: Prevent text truncation inside the old "browse folder" dialog.
François Gouget (11):
ieframe/tests: Fix the name of an unused function parameter.
ieframe/tests: Fix the spelling of an ok() message.
glu32: Fix the spelling of some comments.
gdiplus: Fix a function name in a FIXME() message.
gdi32: Fix the spelling of some comments.
winmm: Avoid a couple of unneeded lstrlenW() calls.
kernel32/tests: Fix the spelling of the exerciseServer() function name.
jscript/tests: Fix the spelling and slightly reword an ok() message.
kernel32/tests: Fix the spelling of three ok() messages and comments.
dxerr9: Fix the spelling of some error messages.
jscript/tests: Fix the spelling of a couple of jscript ok() messages.
Gabriel Ivăncescu (7):
vbscript: Add support for the SCRIPTTEXT_ISEXPRESSION flag in ParseScriptText.
vbscript/tests: Add tests for ParseScriptText with the SCRIPTTEXT_ISEXPRESSION flag.
vbscript: Add support for the SCRIPTPROC_ISEXPRESSION flag in ParseProcedureText.
vbscript/tests: Add test for ParseProcedureText with the SCRIPTPROC_ISEXPRESSION flag.
vbscript: Handle NULL code text in ParseScriptText and ParseProcedureText.
msscript.ocx: Partially implement IScriptControl::ExecuteStatement.
msscript.ocx/tests: Add tests for IScriptControl::ExecuteStatement.
Hans Leidekker (14):
wbemprox: Add support for CIM_REAL32 values.
wbemprox: Implement Win32_BIOS.CurrentLanguage.
wbemprox: Implement more Win32_OperatingSystem properties.
wbemprox: Implement more Win32_PhysicalMemory properties.
wbemprox: Implement Win32_WinSAT.
wbemprox: Avoid a crash when a class is not implemented.
wbemprox: Map CIM_UINT16 and CIM_UINT32 to VT_I4 by default.
wbemprox: Implement Win32_DisplayControllerConfiguration.
bcrypt: Add support for generating RSA keys.
bcrypt: Implement BCryptSignHash.
webservices: Simplify WsAddressMessage.
webservices: Add support for writing WS_ENUM_TYPE values.
webservices: Add support for mapped HTTP headers.
ws2_32: Call the completion routine in GetAddrInfoExW.
Henri Verbeet (15):
wined3d: Add GPU information for AMD VEGA12.
wined3d: More accurately determine whether a separate sRGB texture is required.
wined3d: Explicitly initialise sRGB format info.
wined3d: Retrieve the supported sample counts for Vulkan formats.
wined3d: Initialise the multi-sample draw location for the Vulkan adapter.
wined3d: Use wined3d_resource_gl_legacy_map_flags() in wined3d_buffer_gl_map().
wined3d: Derive the GL bind point for buffer object maps from the bind flags.
wined3d: Use explicit flushing in wined3d_context_gl_unmap_bo_address().
wined3d: Move the "buffer_object" field from struct wined3d_buffer_gl to struct wined3d_buffer.
wined3d: Use wined3d_context_map_bo_address() in wined3d_buffer_gl_map().
wined3d: Merge wined3d_buffer_gl_map() and buffer_resource_sub_resource_map().
wined3d: Merge wined3d_buffer_gl_unmap() and buffer_resource_sub_resource_unmap().
wined3d: Make the adapter responsible for clearing UAVs.
wined3d: Make the adapter responsible for copying between buffer objects.
wined3d: Handle typeless formats in surface_cpu_blt().
Jacek Caban (34):
jscript: Use wide-char literals in lexer.
scrobj: Add partial DllInstall implementation.
scrobj/tests: Add scriptlet tests.
scrobj: Add scriptlet factory stub implementation.
scrobj: Add beginning scriptlet parser implementation.
scrobj: Add registration element parser.
scrobj: Add public element parser implementation.
scrobj: Add script element parser partial implementation.
scrobj: Suport scriptlet registration.
scrobj: Add stub IActiveScriptSite implementation.
scrobj: Add IActiveScriptSiteWindow stub implementation.
scrobj: Add IServiceProvider stub implementation.
scrobj: Create script engine instances for script hosts.
kernel32/tests: Enable debug break exception race tests on i386 Wine.
winegcc: Use -print-libgcc-file-name to find libgcc.
scrobj: Add scriptlet instance stub implementation.
scrobj: Parse scripts in DllInstall.
scrobj: Create script hosts for scriptlet instance.
scrobj: Implement GetItemInfo.
scrobj: Run scripts when creating a scriptlet instance.
ole32: Lock spies list when iterating it.
ole32/tests: Add more initialization spies tests.
include: Add threadpoolapiset.h file.
msscript.ocx: Fix VARIANT access.
scrobj: Zero initialize scriptlet instance.
scrobj: Add property element parser support.
scrobj/tests: Add property element tests.
scrobj: Store script dispatch in script host.
scrobj: Lookup object members implementations in scripts when createating scriptlet instance.
scrobj: Add GetDispID implementation.
scrobj: Add InvokeEx implementation.
scrobj: Use ReadValueChunk to read script body.
scrobj: Improve debug traces.
scrobj: Ignore processing instructions in scriptlet files.
Jactry Zeng (3):
msscript/tests: Initialize custom engine for global.
msscript: Cache state of IActiveScript in ScriptHost struct.
msscript: Partially implement IScriptControl::AddCode().
Jeff Smith (1):
kernelbase: Fix PathAllocCanonicalize handling segments that contain dots.
Ken Thomases (2):
ntdll: Fix the Mac build with SDKs older than 10.14.
include: Always generate CFI directives on macOS.
Kevin Puetz (4):
winbase.h: Add GetFinalPathNameByHandle declaration.
atlbase.h: Add AtlComModuleRevokeClassObjects declaration.
winegcc: Correctly pass the '-' file name (stdin) to the compiler.
oleaut32: Fix RegisterTypeLib prototype.
Matteo Bruni (15):
d3dx9: Simplify unsupported format check.
d3dx9: Relax a block alignment check.
d3dx9/tests: Add a test for loading surfaces not divisible by the block size.
d3dx9/tests: Add a test for loading a texture smaller than the block size.
d3dx9/tests: Add a test with a larger DXT5 texture.
d3dx9/tests: Add more tests loading misaligned block textures.
d3dx9/tests: Add even more tests for misaligned block textures.
d3dx9: Add traces to filtering functions.
d3dx9: Handle compressed surfaces in D3DXLoadSurfaceFromMemory.
d3dx9/tests: Improve tests to check for DXTn fallback formats.
d3dx9: Move the source rect alignment check into the condition for simple copy.
d3dx9: Handle non-zero source rect position in D3DXLoadSurfaceFromMemory().
d3dx9: Implement DXTn compression for offset destination rect.
d3dx9: Don't pass the D3DLOCK_DISCARD flag when mapping a texture.
d3dx9: Compute the correct source rect in D3DXLoadSurfaceFromFileInMemory().
Michael Müller (1):
wine.inf: Create the WindowsMediaVersion key and set its default value.
Michael Stefaniuc (1):
widl: Add the ARRAY_SIZE() macro.
Nikolay Sivov (12):
d3d10_1/tests: Add a test for creating SRV for resource without D3D10_BIND_SHADER_RESOURCE.
d3d10core/tests: Add a test for creating SRV for resource without D3D10_BIND_SHADER_RESOURCE.
d3d11/tests: Add a test for creating SRV for resource without D3D11_BIND_SHADER_RESOURCE.
dwrite: Sort localized strings by locale name.
mfplat: Add Media Session attributes for tracing.
mf: Add stub implementation for standard quality manager.
mf: Create topology loader of session creation.
mf: Create quality manager on session creation.
mf: Remove fixme trace for partially handled functionality.
wined3d: Fail SRV creation for resources without corresponding bind flag.
mf: Fix stream IID loader should be testing for.
mf: Add initial async implementation of SetTopology().
Paul Gofman (1):
wined3d: Allow loading buffers mapped through system memory.
Piotr Caban (9):
winebus.sys: Stop deviceloop_thread to avoid crash on driver unload.
winebus.sys: Stop device report threads to avoid crash on driver unload.
ntdll: Ignore ExceptionFlags changes done by exception handlers.
mountmgr.sys: Null terminate serial_search_paths and parallel_search_paths tables.
mountmgr.sys: Always add all user-defined ports.
winebus.sys: Don't do anything in udev_driver_unload if udev was not initialized.
winebus.sys: Don't do anything in iohid_driver_unload if iohid was not initialized.
winebus.sys: Stop SDL deviceloop_thread to avoid crash on driver unload.
msxml3: Don't return NULL namespace and local name in saxreader callbacks.
Rémi Bernon (6):
winex11.drv: Destroy old clipping message window if it has been replaced.
ntoskrnl.exe: Use case-insensitive driver name comparison.
ntoskrnl.exe: Update the interface if it is already in the tree.
winebus.sys: Use the SDL joystick index as device id instead of instance id.
winebus.sys: Report the native product string for some Xbox gamepads.
winex11.drv: Handle FocusIn/NotifyGrab and FocusOut/NotifyUngrab events.
Sebastian Lackner (1):
ntdll: Execute queued APCs before starting a process.
Sven Baars (6):
httpapi: Fix a memory leak (Valgrind).
httpapi/tests: Initialize response_buffer to 0 (Valgrind).
httpapi/tests: Cancel a pending receive request (Valgrind).
msi: Fix a leak on error path (Coverity).
kernelbase: Fix a leak on error path (Coverity).
httpapi/tests: Use CancelIo to avoid a test failure on Windows XP.
Vincent Povirk (1):
mscoree: Update Wine Mono to 4.9.3.
Zebediah Figura (53):
winegstreamer: Store the pin media type directly.
winegstreamer: Improve some trace messages.
winegstreamer: Use the "format" field to determine the subtype and bit depth.
winegstreamer: Factor out amt_from_gst_caps().
configure: Also try /usr/lib32/pkgconfig/ for the 32-bit PKG_CONFIG_PATH.
winegstreamer: Set lSampleSize in amt_from_gst_caps_audio().
winegstreamer: Set bFixedSizeSamples in amt_from_gst_caps_audio().
winegstreamer: Clear bTemporalCompression in amt_from_gst_caps_audio().
winegstreamer: Also set cbFormat when using WAVE_FORMAT_PCM.
user32: Return -1 from peek_message() on error.
server: Validate the filter window handle in get_message.
winegstreamer: Move more common pin initialization into create_pin().
winegstreamer: Introduce a callback for filter-specific initialization.
winegstreamer: Reimplement the WAVE parser ontop of the wavparse plugin.
winex11: Track the client colormap separately.
winegstreamer: Fix registration for the WAVE parser.
winegstreamer: Clear bFixedSizeSamples in amt_from_gst_caps_video().
winegstreamer: Set lSampleSize to 1 in amt_from_gst_caps_video().
winegstreamer: Don't set the source and target rects in amt_from_gst_caps_video().
winegstreamer: Reimplement the AVI splitter on top of the avidemux plugin.
winegstreamer: Reimplement the MPEG splitter on top of the mpegaudioparse plugin.
quartz: Get rid of the no longer used base parser.
wined3d: Fully clean up the device state in wined3d_device_uninit_3d().
wined3d: Reset the CS state before cleaning up the device state.
wineqtdecoder: Use BasePinImpl_QueryAccept() and BasePinImpl_EnumMediaTypes().
strmbase: Don't expose EnumMediaTypes_Construct().
strmbase: Get rid of the version fields from IEnumMediaTypesImpl.
strmbase: Get rid of the "enumMediaFunction" field from IEnumMediaTypesImpl.
strmbase: Get rid of the BasePin typedef.
strmbase: Rename pfnCheckMediaType() to pin_query_accept().
strmbase: Rename pfnGetMediaType() to pin_get_media_type().
strmbase: Pass an unsigned index to pin_get_media_type().
qcap/vfwcapture: Use more strmbase pin methods.
qcap/smartteefilter: Use BasePinImpl_EnumMediaTypes().
strmbase: Introduce BasePinImpl_QueryInterface().
strmbase: Use BasePinImpl_QueryInterface().
quartz: Use BasePinImpl_QueryInterface().
qcap: Use BasePinImpl_QueryInterface().
quartz/tests: Alter test.mpg to avoid some failures.
wined3d: Return a wined3d_stateblock from wined3d_device_begin_stateblock().
d3d9: Track the primary stateblock state locally.
d3d8: Track the primary stateblock state locally.
wined3d: Introduce wined3d_stateblock_set_vs_consts_f().
d3d9: Handle stateblocks in d3d9_device_SetVertexShaderConstantF().
d3d8: Handle stateblocks in d3d8_device_SetVertexShaderConstant().
ntdll: Implement NtQueryInformationFile(FileAttributeTagInformation).
kernelbase: Implement GetFileInformationByHandleEx(FileAttributeTagInfo).
strmbase: Don't execute OnStartStreaming() or OnStopStreaming() callbacks if the sink is unconnected.
quartz/tests: Add some tests for unconnected filter state change.
qcap/avico: Don't try to commit a NULL allocator in AVICompressor_Run().
qcap/tests: Add some tests for unconnected filter state change.
qcap/smartteefilter: Use strmbase filter state change methods.
strmbase: Rename "pConnectedTo" to "peer".
Zhiyi Zhang (12):
user32: Don't report mirrored slave monitors in EnumDisplayMonitors.
kernelbase: Comment out DECLSPEC_HOTPATCH for GetThreadLocale.
kernelbase/tests: Add more PathAllocCanonicalize tests.
gdi32/tests: Fix a test failure on Win10 1809.
gdi32/tests: Add CreateDC tests.
winex11.drv: Initialize display devices before getting primary desktop rectangle.
winex11.drv: Add virtual desktop display device handler.
winex11.drv: Support XRandR display device handler.
winex11.drv: Handle XRandR display device changes.
winemac.drv: Trace display device counts.
winex11.drv: Trace display device counts.
winex11.drv: Handle XRandR not reporting any providers.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.16 is now available.
What's new in this release (see below for details):
- More reliable mouse grabbing in games.
- Better cross-compilation support in WineGCC.
- Improved compatibility with Windows debuggers.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.16.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.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 4.16 (total 16):
22038 Art of Murder Cards of Destiny: some character models are plain white
26215 Super Meat Boy shows grey textures for some objects
41258 UE4 applications crash with "Assertion failed: Count >= 0" (Epic Games Launcher, Paragon)
44338 cmd: Brackets are no deliminiter in the condition part of the if command.
45560 Windows Sysinternals 'psping' v2.x tool, part of 'PsTools' crashes when trying to ping host (needs 'iphlpapi.ParseNetworkString')
46149 Multiple applications need ntdll.dll.RtlIpv4StringToAddress{A,W,ExA,ExW} implementation (Processhacker 2.x, Icinga 2 'check_ping')
46421 μTorrent has squares in it's update-dialog
46549 Multiple .NET 4.x applications and games using 'System.Net.HttpListener' class crash due incomplete httpapi implementation (PUBG Lite Launcher, SeeSnake HQ)
46983 type command in cmd.exe with two files and stdout redirect, behavior is different
47476 Rhinoceros 6 (.NET 4.x app) fails to verify online-license: System.EntryPointNotFoundException: Unable to find an entry point named 'HttpCloseRequestQueue' in DLL 'httpapi.dll'
47524 Hearthstone black screen
47629 PotPlayer 1.7: Crash when trying to play any file
47675 Wine builtin 'services.exe' uses invalid wait object for delayed autostart services
47693 ExHIBIT (Sample Project): Can't select menu item in the title screen
47709 Zoom Edit&Share 5.0.0.0: installer crashes starting with wine-3.19
47732 This is bad bug in wine.
----------------------------------------------------------------
Changes since 4.15:
Akihiro Sagawa (7):
msvcrt/tests: Restore the multibyte codepage after the tests.
msvcrt/tests: Add more tests for _mbsspn and _mbsspnp.
msvcrt: Fix _mbsspn implementation.
msvcrt: Reimplement _mbsspnp using _mbsspn.
ucrtbase: Add strtoimax and _strtoimax_l.
ucrtbase: Add strtoumax and _strtoumax_l.
dwrite: Avoid a magic constant.
Alex Henrie (10):
ntdll: Implement RtlIpv4StringToAddress(Ex)W.
ntdll: Implement RtlIpv4StringToAddress(Ex)A.
include: Add structures and constants needed for ParseNetworkString.
iphlpapi/tests: Add tests for ParseNetworkString.
include: Add ip2string.h.
iphlpapi: Implement ParseNetworkString for IPv4 addresses and services.
server: Fix use after free in add_committed_range (scan-build).
winedbg: Fix dependence on undefined left-shift behavior (scan-build).
gdi32: Handle HeapAlloc failure in SetEnhMetaFileBits (scan-build).
winex11: Factor out array access in ConvertAttribWGLtoGLX (scan-build).
Alexandre Julliard (40):
configure: Don't link to libunwind if not necessary.
kernel32: Move interlocked functions to kernelbase.
kernel32: Move file change notification functions to kernelbase.
kernel32: Move virtual memory functions to kernelbase.
kernel32: Move heap functions to kernelbase.
kernel32: Move memory resource functions to kernelbase.
kernel32: Move global/local memory functions to kernelbase.
kernel32: Move OS version functions to kernelbase.
kernel32: Move debugger functions to kernelbase.
kernel32: Move unhandled exception functions to kernelbase.
kernel32: Move QueryPerformanceCounter/Frequency functions to ntdll.
kernel32: Move environment functions to kernelbase.
kernel32: Move process startup information functions to kernelbase.
ntdll: Allocate environment blocks from the process heap.
ntdll: Add partial implementation for IOCTL_SERIAL_GET_PROPERTIES.
kernel32: Move ioctl functions to kernelbase.
kernel32: Move console functions to kernelbase.
winebuild: Add support for the -B option.
winegcc: Fix handling of the --sysroot flag when not building inside the Wine tree.
winegcc: Support the --target option like winebuild does.
winegcc: Forward the -B options to winebuild.
configure: Check for unw_step() instead of unw_getcontext().
ntdll: Use virtual_uninterrupted_read_memory() to read code inside signal handler on x86-64.
ntdll: Use a stack_layout structure to build exception data on x86-64.
ntdll: Use a stack_layout structure to build exception data on i386.
ntdll: Factor out setup_raise_exception() on i386.
ntdll: Handle single step exception in signal handler on i386.
ntdll: Handle alignment fault in signal handler on i386.
ntdll: Handle breakpoint interrupt in signal handler on i386.
ntdll: Handle invalid %gs fault in signal handler on i386.
ntdll: Handle page faults in signal handler on i386.
ntdll: Handle ATL thunk emulation in signal handler on i386.
ntdll: Remove no longer needed function argument from setup_raise_exception() on i386.
ntdll: Use a stack_layout structure to build exception data on ARM64.
ntdll: Factor out setup_raise_exception() on ARM64.
ntdll: Handle trap exception in signal handler on ARM64.
ntdll: Handle page fault in signal handler on ARM64.
ntdll: Remove no longer needed function argument from setup_raise_exception() on ARM64.
ntdll: Avoid calling init_handler() twice in signal handler on i386.
ntdll: Use virtual_uninterrupted_read_memory() to read code inside signal handler on i386.
Alistair Leslie-Hughes (11):
dsound: Trace all DSBCAPS values.
dsound/tests: Add effect parameters tests.
wbemprox: Return NULL on error (Coverity).
dsound: Trace each special effect as it's processed.
hhctrl.ocx: Simplify extracting the help filename (Coverity).
httpapi/tests: Assign to correct type (Coverity).
http.sys: Allocate enough memory including the NULL. (Coverity).
wineqtdecoder: Add missing header.
include: Add DSFX_I3DL2REVERB defines.
include: Correct DSFX_I3DL2REVERB_ROOM_MIN value.
wininet/tests: InternetQueryOption should return a valid value for username/password when using cached credentials.
Andrew Eikum (3):
ntoskrnl.exe: Add -norelay flag for _vsnprintf.
mmdevapi: Avoid reporting odd numbers of channels.
winebus.sys: Don't WARN about backends we didn't build.
Andrey Gusev (3):
wininet/tests: Remove LPVOID cast.
winhttp/tests: Remove LPVOID casts.
dxgi: Add IDXGIDevice3 stub.
Daniel Lehman (3):
wininet: Return error from HttpQueryInfo if number argument is invalid.
wininet: Support large downloads.
ntdll/tests: Adjust timing on RtlWaitOnAddress tests.
Dmitry Timoshkov (14):
rpcrt4: Return an exception code from NdrAsyncClientCall.
localspl: Remove useless NULL checks from AddMonitor trace.
localspl: AddMonitor should create registry entry for a monitor before initializing it.
localspl: Add support for monitors providing the MONITOR2 interface.
localspl: Unload monitor in DeleteMonitor.
localspl: Use the monitor handle returned by InitializePrintMonitor2.
localspl: Fix MONITOR2.cbSize calculation when converting from MONITOREX.
localspl: Fix MONITOR2 callback prototypes.
winsplp.h: Fix MONITORINIT definition.
localspl: Add MONITORREG stub callbacks for InitializePrintMonitor2.
localspl/tests: Add support for monitors providing the MONITOR2 interface.
ntdll/tests: Fix compilation with PSDK compiler.
ntdll: Implement RtlUnicodeToUTF8N.
ole32: Turn FIXME into a TRACE for clipboard backend of QueryGetData.
Evgeny Litvinenko (1):
aclocal.m4: Allow nesting WINE_TRY_SHLIB_FLAGS.
Fabian Maurer (1):
comctl32/syslink: Properly handle '\r'.
François Gouget (21):
comctl32: Typo and spelling fixes in comments.
advapi32/tests: Spelling fixes in a couple of comments.
advapi32/tests: Spelling tweaks in ok() messages.
widl: Fix a variable name in a comment.
cabinet: A spelling fix in a variable / field name.
libwine: Fully dereference the /proc/self/exe symbolic link.
libwine: Like Linux, NetBSD has /proc/self/exe.
tests: Add support for subtests.
msi/tests: Declare the custom subtest.
ntoskrnl/tests: Declare the driver subtest.
kernel32/tests: Avoid unneeded strlen*() calls.
comctl32/tests: Tweak an ok() message to avoid a spelling error.
d3d8/tests: Spelling fixes in ok() messages.
d3d9/tests: Spelling fixes in ok() messages and a comment.
d3d10/tests: Spelling fixes in ok() messages.
d3dx9_36/tests: Spelling fixes in ok() messages.
dinput8/tests: A spelling fix in a comment.
ddraw/tests: Spelling fixes in ok() messages.
ddrawex: Tweak the createDD() name to make CodeSpell happy.
winemac.drv: Avoid an unneeded lstrlenW() call.
dwrite: A couple of spelling fixes in comments.
Gabriel Ivăncescu (4):
kernel32/locale: Set whether we used the default char when using Unix codepage.
kernel32/locale: Don't fail with non-NULL args when the Unix codepage falls back to UTF-8.
vbscript/parser: Handle lack of newlines before certain End statements.
vbscript/tests: Test lack of newline parsing before End statements.
Gerald Pfeifer (1):
dwrite/tests: Silence a compiler warning in test_fontsetbuilder.
Hans Leidekker (7):
wbemprox: Strip curly brackets from path strings.
wbemprox: Support evaluating CIM_REFERENCE expressions.
wbemprox: Perform a case insensitive match on path components.
wbemprox: Implement Win32_LogicalDiskToPartition.
wbemprox: Implement Win32_DiskDriveToDiskPartition.
wbemprox: Fix index in fill_diskdrive and fill_diskpartition.
wbemprox: Add support for evaluating ASSOCIATORS OF queries.
Huw D. M. Davies (3):
wininet: Include limits.h to define UINT_MAX and ULONG_MAX.
configure: Fix argument type of unw_step().
configure: Fix libunwind warning logic.
Jacek Caban (8):
ntdll: Move setup_exception implementation.
ntdll: Factor out setup_raise_exception.
ntdll: Handle single step exception in setup_raise_exception on x86_64.
ntdll: Handle interrupt exceptions in signal handler on x86_64.
ntdll: Call virtual_handle_fault from signal handler on x86_64.
ntdll: Remove no longer needed func argument from setup_raise_exception.
ntdll: Call send_debug_event from debug handler on x86_64.
services: Use threadpool timers for services delay loading.
Jactry Zeng (2):
mfmediaengine: Add IMFMediaEngine stub.
mfmediaengine: Merge media_engine_attributes into media_engine struct.
Ken Thomases (1):
ntdll: On Mac, use the Mach API as preferred approach to get a thread's GS.base.
Kevin Puetz (1):
objbase.h: Fix StringFromIID declaration.
Kim Malmo (1):
po: Update Norwegian translation.
Marcus Meissner (1):
iphlpapi: Fixed size to MultiByteToWideChar.
Michael Stefaniuc (3):
strmbase: Don't cast from COM object to interface.
quartz: Don't cast from COM object to interface.
d3d10: Avoid casts from COM object to interface.
Naveen Narayanan (1):
libwine: Only link libi386 with the libraries that need it.
Piotr Caban (2):
msvcrt: Match broken multi-byte character with everything in _mbsspn.
wbemdisp: Handle NULL signatures in init_members.
Rémi Bernon (9):
winex11.drv: Do not react to keyboard grab focus events.
winex11.drv: Only grab or warp the cursor when keyboard isn't grabbed.
winex11.drv: Retry last ClipCursor when grab is released.
winex11.drv: Do not set clipping_cursor when clip window map state changes.
winex11.drv: Explicitly call XUngrabPointer when clipping is released.
winex11.drv: Only call XWarpPointer if we can get exclusive pointer grab.
dnsapi: Add DnsGetCacheDataTable stub.
user32/tests: Add RegisterRawInputDevices parameter validation tests.
user32: Add parameter validation for RegisterRawInputDevices.
Sven Baars (4):
quartz: Fix some memory leaks (Coverity).
quartz/tests: Fix a memory leak (Valgrind).
hidclass.sys: Fix some memory leaks on error path (Coverity).
winex11.drv: Fix a memory leak (Coverity).
Zebediah Figura (37):
amstream: Use shorter method names for the multimedia stream.
amstream: Move multimedia_stream_create() to avoid forward declarations.
amstream: Forward IMultiMediaStream::GetMediaStream() to the stream filter.
amstream: Don't keep track of streams in the multimedia stream object.
amstream/tests: Add some tests for IEnumMediaTypes.
amstream/tests: Add more tests for media types.
amstream: Move audio and ddraw streams into separate files.
amstream: Reimplement IPin::EnumMediaTypes() for the primary video stream.
amstream: Get rid of the DirectDrawMediaStreamImpl typedef.
amstream: Reimplement IMemInputPin locally for the DirectDraw stream.
amstream: Reimplement IPin locally for the DirectDraw stream.
amstream: Use shorter method names for DirectDraw stream methods.
amstream/tests: Also test pin information for the primary audio stream.
amstream: Reimplement IPin::EnumMediaTypes() for the primary audio stream.
amstream: Get rid of the AudioMediaStreamImpl typedef.
amstream: Reimplement IMemInputPin locally for the primary audio stream.
amstream: Reimplement IPin locally for the primary audio stream.
amstream: Use shorter names for primary audio stream methods.
winegstreamer: Use strmbase_source_init().
wineqtdecoder: Use strmbase_source_init().
strmbase: Get rid of the no longer used pin constructor and destructor helpers.
qcap/avimux: Use strmbase pin methods directly.
strmbase: Store the filter as a strmbase_filter pointer in the BasePin structure.
strmbase: Get rid of the "pCritSec" member of BasePin.
http.sys: Use the SOCKET type for Windows sockets.
winegstreamer: Get rid of the unused "gstpool" field from GSTOutPin.
winegstreamer: Get rid of the "isaud" and "isvid" fields of GstOutPin.
winegstreamer: Get rid of the GSTInPin structure.
winegstreamer: Get rid of the unused "discont" field from GstImpl.
winegstreamer: Handle GST_EVENT_RECONFIGURE.
winegstreamer: Don't activate our source pad immediately after connecting.
winegstreamer: Use the global HeapAlloc() wrappers.
strmbase: Get rid of the BaseOutputPin typedef.
strmbase: Get rid of the BaseOutputPinFuncTable typedef.
winegstreamer: Use BasePinImpl_QueryAccept() and BasePinImpl_EnumMediaTypes().
winegstreamer: Get rid of the GSTImpl typedef.
winegstreamer: Get rid of the GSTOutPin typedef.
Zhiyi Zhang (4):
winemac.drv: Fix build with older macOS SDKs.
comctl32/taskdialog: Use BCM_GETIDEALSIZE to calculate button size.
user32/tests: Remove an extraneous check.
user32/tests: Fix some msg test failures.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.15 is now available.
What's new in this release (see below for details):
- Initial implementation of the HTTP service.
- Stack unwinding support on ARM64.
- Better multi-monitor support on macOS.
- RichEdit control optimizations.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.15.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.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 4.15 (total 28):
22383 Dragon Age: Origins - massive flickering when StrictDrawOrdering is disabled
33834 user32: multiline edit control renders tabs not correctly using usp10
34830 rpcrt4:cstub fails and crashes on Windows 8
37781 Multiple Microsoft Redistributable/Component installers running in Windows 7 mode need dummy Windows Update Service (MS .NET Framework 4.5, MS VC++ 2015 Redist)
38245 Construct 2 can't create a localhost server (needs implementation of version 1 httpapi request queues)
40868 World of Warcraft 7 (Legion expansion beta realm version) client causes a lot of seh:RtlCaptureStackBackTrace stub noise in console
41752 Need For Speed Most Wanted 2012 Corrupted Models & Textures in Game
42681 Regression: Graphics/Texture no longer render correctly in Reflex Arena
43387 valgrind shows several definite leaks in dlls/windowscodecs/tests/metadata.c
44958 Epic Games crash reporter needs 'dbgeng.DebugCreate' to support IDebugClient5 interface
45420 Titanfall 2 Multiplayer mode stuck on Attempting Connection
45843 Battleye's BEDaisy.sys expects memory allocated by ExAllocatePoolWithTag to be executable
46315 Vypress Chat 2.1.9 MSI installer crashes without native jscript
47035 widl generates typelib file with enums multiply defined
47041 wire_marshal attribute ignored and the underlying type is used instead
47049 boolean type defined as 'unsigned char' rather than 'char'
47050 typedef'd anonymous structs typedef'd names are not used in interface methods
47101 Multiple 64-bit game and application crash reporting tools need x86_64 'ntdll.RtlCaptureStackBackTrace' implementation
47149 widl generates invalid C headers when user-defined structs also have const typedef'd names
47427 Glide wrapper - Configuration buttons misbehaving
47436 `winetricks -q dotnet30sp1` fails
47442 Quickbooks 2018 installer fails during Amyuni ABS PDF driver installation, reporting 'File not found.' (needs stub 'regini.exe')
47494 SuperTux: Fullscreen mode not working on MacOSX (Invalid monitor handle)
47523 EverQuest crashes on unimplemented function KERNEL32.dll.EnumSystemFirmwareTables since build Jul 12 2019
47563 Sforzando Sample Player works but GUI is blank (unusable)
47633 Guild Wars quits silently after the splash screen
47636 Multiple games text is upside down (affects Wizard101, Touhou, Unreal Tournament)
47661 SwanSoft CNC: Crashes when clicking "tools management" button
----------------------------------------------------------------
Changes since 4.14:
Akihiro Sagawa (5):
winex11.drv: Indicate whether the drop point is non-client area.
comctl32/tests: Add tests to show no NM_RELEASEDCAPTURE notifications in the updown control.
comctl32/updown: Suppress the NM_RELEASEDCAPTURE notification.
winemac.drv: Translate the WM_DROPFILES point into client coordinates whenever possible.
winemac.drv: Indicate whether the drop point is non-client area.
Alex Henrie (1):
ntdll/tests: Add more tests for RtlIpv4StringToAddress.
Alexandre Julliard (27):
ntdll: Move some exception definitions to winnt.h.
ntdll: Share dynamic exception table functions across platforms.
winedump: Add dumping for exception info for ARM64.
include: Add support for .seh asm annotations.
winecrt0: Add .seh annotations for x86_64.
kernel32: Add .seh annotations for x86_64.
ntdll: Add .seh annotations for x86_64.
oleaut32: Add .seh annotations for x86_64.
rpcrt4: Add .seh annotations for x86_64.
vcomp: Add .seh annotations for x86_64.
msvcrt: Simplify stack layout in __crtCapturePreviousContext().
d2d1: Make qsort() callback functions cdecl.
d3dx9: Make qsort() callback functions cdecl.
dsound: Make a qsort() callback function cdecl.
inetmib1: Make bsearch() callback functions cdecl.
mfplat: Make bsearch() callback functions cdecl.
ntdll: Run signal handlers on the signal stack on ARM64.
kernelbase: Implement SetThreadStackGuarantee().
ntdll: Take stack guarantee into account when handling stack overflows.
Revert "wine/asm.h: Quote stdcall decored symbols."
Revert "winebuild: Quote stdcall decored symbols."
kernelbase: Comment out DECLSPEC_HOTPATCH on stub functions.
ntdll: Implement RtlVirtualUnwind() for ARM64.
ntdll: Add a helper function for calling RtlVirtualUnwind() on x86-64.
configure: Add support for using an external libunwind.
ntdll: Implement stack unwinding on ARM64.
mfplat: Fix a GUID name.
Alistair Leslie-Hughes (7):
include: Add IDirectSoundFX interfaces.
include: Add more ListView macros.
dbgeng: Support interfaces IDebugClient2-7.
dsound: Add missing defines.
include: Allow compiling against IDirectSound*8 interfaces.
odbccp32: Correct error when driver cannot be found.
msi: Don't error when an ODBC Data Source fails to register.
Andrey Gusev (1):
twain_32: Add missing debugstr_a.
André Hentschel (1):
ntdll: Add RtlUnwindEx spec entry for ARM64.
Austin English (2):
mscoree/tests: Mark tests as todo_wine if mono is not available on the current platform.
regini: Add stub program.
Benedikt Bär (1):
ucrtbase: Add more functions for Star Citizen 3.6.1.
Bernhard Übelacker (2):
cmd.exe: Command type with multiple files should print filenames to stderr.
cmd.exe: Change parsing of the if command to avoid parsing the operators.
Brendan Shanks (2):
dinput/tests: Test for correct guidProduct.
dinput: Add "PIDVID" guidProduct and use for non-keyboards/mice.
Carlo Bramini (1):
hhctrl.ocx: Expand environment vars in file name.
Damjan Jovanovic (5):
start.exe: Unquote the title.
cmd.exe: If there is a title given through STARTUPINFO, use it.
start.exe: Pass the "show window" flags to CreateProcess() too.
start.exe: Launch all binaries through CreateProcess().
start.exe: Search PATH for the executable to launch.
Daniel Lehman (1):
wininet/tests: Fix typo in error message.
Dmitry Timoshkov (1):
rpcrt4: Add an exception handler to NdrAsyncClientCall.
Fabian Maurer (1):
find/tests: First tests.
François Gouget (6):
dbgeng: Fix the spelling of GetInterruptTimeout().
ntdll: Fix the spelling of StoragePortClassGuid.
ninput: Fix the name of MANIPULATION_VELOCITY's velocityExpansion field.
ntoskrnl.exe: Fix the name of CONFIGURATION_TYPE's MaximumType enum entry.
wdscore: Fix the name of the WdsIterate*() stubs.
api-*-advapi32-*: Fix the name of the ConvertToAutoInheritPrivateObjectSecurity() stub.
Gijs Vermeulen (1):
ucrtbase: Add _o__mbstrlen.
Gleb Smirnoff (1):
iphlpapi: Account for structs inpcb and tcpcb being unavailable for userland in FreeBSD 12.
Hans Leidekker (8):
ntdll: Read the chassis type from sysfs.
wbemprox: Store the element size in struct array.
wbemprox: Retrieve more properties from the SMBIOS table.
wbemprox/tests: Add tests for Win32_Baseboard.
wbemprox: Avoid evaluating row conditions twice.
wbemprox: Support boolean qualifier values.
wbemprox: Implement IWbemClassObject::GetQualifierSet.
wbemprox: Implement IWbemQualifierSet::GetNames.
Henri Verbeet (6):
wined3d: Introduce WINED3D_TEXTURE_DOWNLOADABLE.
wined3d: Introduce wined3d_colour_srgb_from_linear().
wined3d: Store the sRGB constants as wined3d_vec4 structures.
wined3d: Add support for sRGB formats to wined3d_format_convert_from_float().
wined3d: Create the default samplers in adapter_vk_init_3d().
wined3d: Initialise d3d_info after quirks are applied.
Huw D. M. Davies (6):
riched20: Clearly separate the selection setting functions.
riched20: Only invalidate the selection if it's not hidden.
riched20: Move release_font_cache() further up the file.
riched20: Allow the style to remain selected in the context.
riched20: Use PatBlt() instead of FillRect() to paint the background area.
riched20: Don't calculate the para numbering data if numbering is disabled.
Isira Seneviratne (2):
cabinet/tests: Alter string declaration to include null terminator.
jscript: Replace '%pure-parser' with '%define api.pure'.
Jacek Caban (21):
jscript: Support enumerating own properties.
jscript: Add Object.defineProperties implementation.
jscript: Support properties argument in Object.create.
mshtml/tests: Add Object.defineProperties tests.
jscript: Fix Object.defineProperty return value.
vbscript/tests: Fix tests on recent win10.
vbscript: Return correct error when builtin call argument count is invalid.
vbscript: Add Asc implementation.
vbscript: Fix handling null argument in CStr.
vbscript/tests: Fix tests on some Vista versions.
vbscript: Support arrays in VarType.
vbscript: Handle long/short distinction in interpreter.
vbscript: Rename OP_long expression to OP_int.
vbscript: Support unary + expressions.
winebuild: Don't include aliases in importlib .def files.
winebuild: Don't underscore local symbols in func_declaration.
mscvrt: Always provide float variants of math functions in importlib on x86.
wine/asm.h: Quote stdcall decored symbols.
winebuild: Quote stdcall decored symbols.
vbscript: Suport + sign in exponential literals.
kernel32/tests: Add exception handling race test.
Jactry Zeng (6):
mfplat: Implement MFCreateDXGIDeviceManager().
mfplat: Implement IMFDXGIDeviceManager::ResetDevice().
mfmediaengine: Add stub dll.
include: Add mfmediaengine.idl.
mfuuid: Import mfmediaengine.h.
mfmediaengine: Add MFMediaEngineClassFactory stub.
Jeff Smith (5):
d3drm: Implement d3drm_viewport2_GetCamera().
d3drm: Implement d3drm_viewport2_SetCamera().
d3drm: Implement d3drm_viewport2_GetPlane().
d3drm: Implement d3drm_viewport2_SetPlane().
d3drm: Initialise the front and back clip distances in d3drm_viewport2_Init().
Michael Müller (1):
wuauserv: Add dummy service.
Michael Stefaniuc (1):
msi/tests: Actually test two return values.
Naveen Narayanan (1):
wineoss: Fix the -lossaudio check.
Nikolay Sivov (2):
gdiplus: Add GdipRecordMetafileStreamI().
oleaut32: Reduce noise in SAFEARRAY traces.
Paul Gofman (1):
user32: Return correct showCmd from GetWindowPlacement() for other process window.
Piotr Caban (1):
msi: Fix component Action for shared components in CostFinalize.
Richard Pospesel (4):
widl: Store the "const" type qualifier inside the decl_spec_t structure.
widl: Fail compilation if an incomplete union or enum is used in a remoted field.
widl: Add the typedef to the type library if the aliasee is an anonymous UDT.
widl: Respect wire-marshal typedefs in type libraries.
Richard Yao (1):
advapi32: Add EventWriteString stub.
Rémi Bernon (5):
msctf/tests: Add multi-threaded apartment test for ITfSource_AdviseSink.
dinput/tests: Add test to validate interactions between dinput and raw input devices.
dinput8/tests: Add test to validate interactions between dinput8 and raw input devices.
dinput8/tests: Add window name and window class name test.
dbghelp: Prevent an invalid memory access when the search path element is empty.
Steven Bell (1):
kernel32: Add stub implementation of EnumSystemFirmwareTables.
Sven Baars (9):
wmp: Fix a crash in put_volume when basic_audio is NULL.
wmp: Fix some memory leaks on error path (Coverity).
wmp: Fix a playlist leak (Valgrind).
setupapi/tests: Fix a crash in the need_media tests.
setupapi: Fix a path leak (Valgrind).
setupapi: Fix an uninitialized variable warning (Valgrind).
ntoskrnl.exe: Don't use irp after it has been freed by IoCompleteRequest (Coverity).
msvfw32/tests: Add MCIWndCreate tests.
windowscodecs/tests: Fix a memory leak (Valgrind).
Zebediah Figura (85):
ntdll: Handle version 2 unwind info on x86_64.
ntdll: Handle UWOP_EPILOG directives in x86_64 unwind info.
widl: Fix nesting of functions, pointers, and arrays.
widl: Store the "inline" function specifier inside the decl_spec_t structure.
widl: Don't store the default pointer type in the type_t structure.
ntoskrnl.exe: Fix a typo in a debug trace.
ntoskrnl.exe: Implement ObQueryNameString().
ntoskrnl.exe: Make the driver object accessible by name while in its entry point.
services: Don't redirect the image file path for kernel drivers.
ntoskrnl.exe: Export InitializeSListHead().
httpapi: Stub HttpReceiveHttpRequest().
httpapi: Stub HttpSendHttpResponse().
httpapi: Stub HttpRemoveUrl().
widl: Track whether the type has been defined yet in the statement_t and var_t structures.
widl: Create exactly one type_t object per named structure type.
widl: Create exactly one type_t object per named union type.
widl: Create exactly one type_t object per named enum type.
ntoskrnl.exe: Implement IoInitializeRemoveLockEx().
ntoskrnl.exe: Implement IoAcquireRemoveLockEx().
ntoskrnl.exe: Implement IoReleaseRemoveLockEx().
ntoskrnl.exe: Implement IoReleaseRemoveLockAndWaitEx().
httpapi/tests: Add tests for version 1 request queues.
ntoskrnl.exe: Use a manual-reset event for remove locks.
ntoskrnl.exe: Don't signal the remove lock event unless the lock is in the removed state.
ntoskrnl.exe/tests: Add tests for remove locks.
widl: Check for redefinition of named user types.
widl: Generate a name for the encapsulated union type.
widl: Handle encapsulated unions in type libraries.
widl: Write public typedefs into the typelib if they are referenced directly.
http.sys: New stub driver.
http.sys: Create a stub request queue device.
http.sys: Create a skeletal request_queue object for each file opened.
httpapi: Implement HttpCreateHttpHandle().
hidclass.sys: Avoid freeing pool memory with HeapFree().
ntoskrnl.exe: Allocate pool memory from an executable heap.
ntoskrnl.exe: Stub IoRegisterBootDriverReinitialization().
ntoskrnl.exe: Set the IRP thread also for create and close requests.
ntoskrnl.exe: Implement IoGetRequestorProcess().
setupapi/tests: Add some tests for SPFILENOTIFY_STARTCOPY.
setupapi: Fix handling of FILEOP_SKIP from the SPFILENOTIFY_STARTCOPY callback.
http.sys: Allow associating a URL with the request queue.
httpapi: Implement HttpAddUrl().
httpapi: Implement HttpRemoveUrl().
http.sys: Listen for connections on addresses associated with each request queue.
http.sys: Receive data from connected sockets.
http.sys: Parse salient data from request headers.
http.sys: Stop receiving data as long as an unread request is available.
http.sys: Find a request queue to assign new HTTP requests to.
http.sys: Allow receiving parsed HTTP requests.
http.sys: Fill out unknown verbs.
http.sys: Fill out the raw URL.
http.sys: Fill out the cooked URL.
http.sys: Fill out the local and remote addresses.
http.sys: Fill out the request headers.
http.sys: Implement HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY.
strmbase: Get rid of the "debug_info" parameter to strmbase_filter_init().
strmbase: Zero-initialize the BaseRenderer structure in strmbase_renderer_init().
evr: Consistently use base renderer methods.
evr/tests: Add some tests for IEnumPins.
evr/tests: Add some tests for IBaseFilter::FindPin().
evr/tests: Add some tests for querying pin information.
http.sys: Assign a unique ID to each request.
http.sys: Keep track of pending IOCTL_HTTP_RECEIVE_REQUEST IRPs and satisfy them when possible.
http.sys: Send a 400 Bad Request response when an invalid request is received.
httpapi: Implement HttpReceiveHttpRequest().
strmbase: Get rid of the BaseFilterFuncTable typedef.
strmbase: Get rid of the BaseFilter typedef.
amstream: Get rid of the IMediaStreamFilterImpl typedef.
amstream: Use shorter names for IMediaStreamFilter methods.
amstream: Create the stream filter when the multimedia stream is created.
http.sys: Allow sending response data.
httpapi: Implement HttpSendHttpResponse().
httpapi: Start the http service in HttpInitialize().
httpapi: Implement HttpCreateServerSession() and HttpCloseServerSession().
httpapi: Implement HttpCreateUrlGroup() and HttpCloseUrlGroup().
httpapi: Partially implement HttpSetUrlGroupProperty().
httpapi: Implement HttpAddUrlToUrlGroup() and HttpRemoveUrlFromUrlGroup().
httpapi: Implement HttpCreateRequestQueue() and HttpCloseRequestQueue().
httpapi/tests: Add some tests for version 2 request queues.
httpapi: Prefer the builtin version.
amstream/tests: Separate and expand tests for IAMMultiMediaStream::AddMediaStream().
amstream/tests: Add some tests for IAMMultiMediaStream::Initialize().
amstream/tests: Link to strmiids and uuid.
amstream: Rename amstream.c to multimedia.c.
amstream: Get rid of the IAMMultiMediaStreamImpl typedef.
Zhiyi Zhang (12):
user32: Wait for graphics driver to be ready in EnumDisplayDevicesW.
winex11.drv: Add xrandr_get_screen_resources() helper.
winex11.drv: Make screen helpers independent of Xinerama.
msctf: Check TF_GetThreadMgr error in DocumentMgr_Destructor.
d3d9/tests: Add a test for stencil reference value truncation.
wined3d: Truncate stencil reference values to the stencil component size.
winemac.drv: Add GPU initialization functions.
winemac.drv: Support GPU initialization via Metal.
winemac.drv: Add adapter initialization functions.
winemac.drv: Add monitor initialization functions.
winemac.drv: Handle display device change events.
winemac.drv: Use generic EnumDisplayMonitors and GetMonitorInfo.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 4.0.2 is now available.
What's new in this release (see below for details):
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0.2.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0.2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.0.2 (total 66):
15934 Can't see Worms 2 intro films as they play (mciavi32 missing support to MCI_MCIAVI_PLAY_FULLSCREEN)
18099 No keyboard response in Super Mario 3 remake
19098 Regedit randomly crashes when deleting registry keys
21403 Shiva Editor/Evochron: Mercenary refuse to run with built-in dinput/dinput8.dll
23455 FileAlyzer 1.6.0.4, Affinity-installer-1.6.5.123 can't load PE images (needs imagehlp.ImageLoad and imagehlp.ImageUnload implementation)
26445 URLDownloadToFileW does not support FTP URLs
28847 LabChart Reader 7.x crashes due to missing wmvcore 'IWMProfileManager2', CLSID '{7a924e51-73c1-494d-8019-23d37ed9b89a}'
33845 Warframe (Steam) updater fails to replace 'Launcher.exe', reports sharing violation
33904 Face Noir demo crashes on start without native d3dx9_36 ('D3DXLoadSkinMeshFromXof' must return 'ID3DXSkinInfo' interface even with no skinning info present)
36764 Rogue Squadron 3D 1.3: Unable to setup controller in-game
37784 wine-mono does not appear in "wine uninstaller" list on a 64-bit prefix
37871 GOG.com downloader (.NET 3.5 app) wants wininet.GetUrlCacheConfigInfoA/W implementation
38087 Settlers III: mouse not working on start screen and menu (after fixing raw input bug 33479)
43356 Mass Effect (1) Steam freezes since Steam Update from 8th of July 2017
43411 Older directx games (The Sims, Revenant) - Screen not redrawing properly (needs Set/GetClipStatus implementation)
44423 Office 2007/2010 32bit - links not working
45429 Inno Setup v5.x based game-installers using 'wintb' plugin fail with: 'Runtime error 229 at <address>' (Win7+ ITaskbarList3 ThumbBar/Thumbnail semi-stubs needed)
45543 Multiple games and applications crash in dwrite due to invalid index access to cluster array (Rekordbox 5.3.0, SpellForce 3)
45703 Microsoft Office 365 applications crash on startup (Microsoft AppV ISV virtual filesystem technology requires several native and core API to be hot-patchable)
45878 Aruba digital signature crashes on missing hid.dll.HidD_FlushQueue
46019 Multiple NSIS 2.x based installers fail due to invalid module handle passed to 'kernel32.FreeLibrary', causing code dll unmapped as data dll (Adobe Digital Editions 4.5.x, ConceptDraw Office 4)
46115 Cursor in unity games moving down and to the right one pixel on any mouse interaction
46187 Windows PowerShell Core 6.2 Preview 2 for ARM32 crashes due to unhandled trap_no 0 (write watch access causes SIGSEGV)
46189 Windows PowerShell Core 6.2 Preview 2 for ARM32 crashes due to ntdll 'set_cpu_context' not restoring Thumb mode during return from exception handling
46316 Hauppauge Capture version 36187 crashes during install
46371 FFXI + Ashita random crash ingame
46579 F.E.A.R. 2: Project Origin screen is completely light grey while playing intro movie
46626 UPlay fails to start : "Error at hooking API LoadStringA" (UPlay's hooking engine can't handle ENDBR32 instruction inserted at non-hotpatch API entries due to distro build environments '-fcf-protection')
46706 Eventide H9 Control crashes on unimplemented function bthprops.cpl.BluetoothFindDeviceClose
46711 Since 3.3 other HID devices than Joysticks not supported anymore
46712 Atelier Firis config tool crashes with "Unhandled page fault on execute access"
46713 School days HQ occasional divide by zero
46721 Two quotes together (in outer quotes) not parsed correctly in argv
46754 Multiple application installers fail in VBscripts due to IWshEnvironment::Item property returning BSTR with embedded null terminator (PostgreSQL 9.3)
46761 BigNox VM VirtualBox Support Driver 'YSDrv.sys' (part of NoxPlayer 6.x) crashes on unimplemented function ntoskrnl.exe.MmBuildMdlForNonPagedPool
46772 Creo Elements/Direct Modeling Express 6.0 installer fails with VBScript parser error: parser_lex '_' not followed by newline
46800 LINE (Powered by Naver): LINE v5.12.XXX series crashes after few seconds
46807 The Sims hangs when opening menus
46811 Inquisitor: black screen after start in fullscreen mode
46812 PS4 Remote Play installer 2.8.x fails, claims 'You need the Media Feature Pack' (MsiGetDatabaseState is called from a custom action)
46845 Freelancer: character glitches in cutscenes after loading a saved game
46848 PTC Mathcad Prime 3.0 Web installer crashes on unimplemented function api-ms-win-crt-convert-l1-1-0.dll.wctrans
46863 If prefix contains "windows" drive information not available in 64-bit prefix
46881 Power World Simulator installer needs unimplemented function msi.dll.MsiSourceListForceResolutionW
46894 SIMATIC WinCC V15.1 Runtime installer (.NET 4.0) fails in CoreLib::GetPhysicalMemoryAmountWmi() (missing 'DeviceLocator' property of 'Win32_PhysicalMemory' WMI class)
46895 SIMATIC WinCC V15.1 Runtime installer (.NET 4.0) fails due to missing 'OperatingSystemSKU' property of 'Win32_OperatingSystem' WMI class
46899 SIMATIC WinCC V15.1 Runtime installer: user can't accept license terms (richedit20 ITextRange::ScrollIntoView lacks handling of 'tomEnd')
46902 SIMATIC WinCC V15.1 Runtime installer: S7Inst64.exe sub-installer crashes on unimplemented function msvcr110.dll._wcsnset_s
46903 SIMATIC WinCC V15.1 Runtime installer: AdHocSigner.exe tool crashes on unimplemented functions mssign32.dll.SignerSignEx and SignerFreeSignerContext
46906 SIMATIC WinCC V15.1 Runtime installer: SeCon tool 'SeCon_Win32.exe' crashes due to hnetcfg 'INetFwRules::get__NewEnum' not initializing out parameter
46908 Support msvcp mtx_init 'mtx_try' flag (0x2) to create a mutex object that supports test and return
46909 Missing (black) textures in Black & White
46923 X-Tension, X-Beyond The Frontier: Dynamic light breaks after opening up a menu
46928 Atelier Firis config tool doesn't show up when launched through Steam
46939 propvarutil.h: missing extern "C"
46953 Watch_Dogs crashes after intro
46971 Multiple Steam games crash with Wine 4.6 (Steam Game Overlay Renderer hook engine requires several API to be hot-patchable) (Sniper Elite V2, Sniper Elite 3, Brawlhalla)
46989 Grand Prix Legends: Wheel (Wheel, Gas, Brake) axes inputs aren't recognized
46996 Improvements to the 7.1 and 5.1 to stereo conversion
47009 msi x64 installation file created by Visual Studio cannot be uninstalled
47022 Multiple performance monitor applications fail to display system physical/committed virtual memory usage (Sysinternals Process Explorer v16.x, builtin Taskmgr)
47031 widl generates invalid typelib when importing types from multiple typelibs
47051 Microsoft Excel 2016 (Office 365) crashes on startup (Microsoft AppV ISV virtual filesystem technology requires kernel32.CreateActCtxW to be hot-patchable)
47065 Vocaloid 5 (.NET 4.x app) crashes on startup (needs 'Win32_OperatingSystem' WMI class 'SystemDrive' property)
47183 Grand Prix Legends: Only the first two axes are recognized
47262 compile error: ‘for’ loop initial declarations are only allowed in C99 mode
----------------------------------------------------------------
Changes since 4.0.1:
Alexandre Julliard (2):
kernel32: Validate handle before freeing a LOAD_LIBRARY_AS_DATAFILE module.
ntdll: Check for time conversion error to silence a compiler warning.
Alistair Leslie-Hughes (7):
regedit: Grow the buffer when modifying a DWORD value.
urlmon: Pass unescaped URLs to InternetOpenUrl in ftp protocol handler.
hid: Implement HidD_FlushQueue().
dinput: Ensure Cursor is visible on config dialog.
dinput: Allow enumeration of joysticks with DirectX 3.
dinput: Handle setting DIPROP_CALIBRATIONMODE mode in generic implementation.
vbscript: Move variable declaration outside of for.
Andrey Gusev (2):
dxgi: Add DECLSPEC_HOTPATCH to d3d11_swapchain_Present().
setupapi: Add DECLSPEC_HOTPATCH to SetupDiEnumDeviceInfo().
André Hentschel (5):
ntdll: Add stub for RtlInstallFunctionTableCallback on ARM/ARM64.
ntdll: Adjust PC according to THUMB/ARM flag.
kernel32: Add forward for RtlInstallFunctionTableCallback on ARM/ARM64.
include: Fix vararg standard call types for ARM.
ntdll: Translate signal to trap when trap code is 0 on ARM.
Austin English (1):
propvarutil.h: Add extern "C" if __cplusplus is defined.
Brendan McGrath (1):
kernel32: Allow double quote style escape in argv.
Bruno Jesus (1):
mciavi32: Add Support for MCI_MCIAVI_PLAY_FULLSCREEN.
Claudio Fontana (1):
kernel32: Allow empty profile section and key name strings.
Dmitry Timoshkov (1):
wininet: Return proper cache path from GetUrlCacheConfigInfo.
Gijs Vermeulen (8):
wmvcore: Upgrade to IWMProfileManager2.
ntoskrnl.exe: Add MmBuildMdlForNonPagedPool stub.
msvcr120: Add [to]wctrans.
hnetcfg: Initialize INetFwRules::get__NewEnum out parameter.
msvcrt: Implement _wcsnset_s.
mssign32: Add SignerSignEx stub.
mssign32: Implement SignerFreeSignerContext.
riched20: Handle tomEnd in ITextRange::ScrollIntoView.
Hans Leidekker (3):
wbemprox: Implement Win32_PhysicalMemory.DeviceLocator.
wbemprox: Implement Win32_OperatingSystem.OperatingSystemSKU.
wbemprox: Implement Win32_OperatingSystem.SystemDrive.
Henri Verbeet (1):
wined3d: Also update the "src_texture_gl" pointer when using a staging texture in the blitter.
Józef Kucia (1):
dxgi: Do not forward d3d11_swapchain_Present() to d3d11_swapchain_Present1().
Louis Lenders (8):
bthprops.cpl: Add BluetoothFindDeviceClose stub.
explorerframe: Return S_OK in ITaskbarList3 SetThumbnailTooltip method.
explorerframe: Return S_OK in ITaskbarList3 ThumbBarAddButtons.
explorerframe: Return S_OK in ITaskbarList3 ThumbBarUpdateButtons method.
msi: Add MsiSourceListForceResolution{A,W} stub.
ntdll: Add DECLSPEC_HOTPATCH to NtQueryDirectoryFile.
ntdll: Add DECLSPEC_HOTPATCH to NtQueryValueKey.
kernel32: Add DECLSPEC_HOTPATCH to CreateActCtx.
Mark Jansen (1):
imagehlp/tests: Add tests for ImageLoad, ImageUnload, GetImageUnusedHeaderBytes.
Matteo Bruni (8):
d3d9: Release system memory wined3d buffer only after the draw buffer is destroyed.
d3d8: Release system memory wined3d buffer only after the draw buffer is destroyed.
d3d9: Return failure in CheckDeviceFormat() for unsupported adapter formats.
d3d8: Return failure in CheckDeviceFormat() for unsupported adapter formats.
wined3d: Set display mode to a suitable adapter format.
d3d9: Validate vertex stride in Draw[Indexed]PrimitiveUP().
d3d8: Validate vertex stride in Draw[Indexed]PrimitiveUP().
wined3d: Avoid a GCC 8 warning.
Michael Müller (2):
imagehlp: Implement ImageLoad and cleanup ImageUnload.
d3dx9/tests: Add initial tests for dummy skin info interface.
Nikola Pavlica (2):
dsound: Revised 5.1 to stereo downmix.
dsound: Added 7.1 to stereo downmix.
Nikolay Sivov (4):
user32: Do not touch some of the values on 64-bit with SetWindowLong().
user32: Make GetWindowLong() fail for some values on 64-bit.
wshom.ocx: Fix string length returned from Check returned BSTR length.
dwrite/layout: Fix invalid index access to cluster array.
Paul Gofman (4):
ddraw: Deny adding the same light to viewports multiple times.
ddraw: Fix ddraw[1-4] light activation / deactivation.
ddraw: Improve d3d_device7_GetClipStatus() stub.
xaudio2_7: Also preserve %ebx in call_on_voice_processing_pass_start().
Piotr Caban (5):
msvcrt: Don't detect overflow in atol implementation.
msvcrt: Use correct locale when comparing strings in getenv.
msvcp90: Add support for more creation flags in _Mtx class.
msvcp140: Don't forward __ExceptionPtrDestroy to msvcr120.
msvcr110: Fix __crtGetShowWindowMode implementation.
Sebastian Lackner (4):
server: Improve handling of cursor position clipping for empty rectangle.
winex11: Forward all clipping requests to the right thread.
dinput: Do not wait for hook thread startup in IDirectInput8::Initialize.
dinput: Avoid deadlock when CS are acquired in different order.
Thomas J. Moore (1):
ntdll: Also try to stat() the drive root.
Tim Schumacher (2):
winejoystick: Add support for wheel axes.
dinput: Map wheel, gas, and brake axes as well.
Vijay Kiran Kamuju (3):
d3dx9: Generate ID3DXSkinInfo in D3DXLoadSkinMeshFromXof() when needed.
ntdll: Report system information SystemPerformanceInformation info class.
wpcap: Fix compile warnings for redefinition of PCAP_OPENFLAG_PROMISCUOUS.
Vincent Povirk (1):
uninstaller: Re-exec as 64-bit in wow64.
Vlad Bespalov (1):
user32: Make LoadString[AW] patchable.
Zebediah Figura (12):
mshtml: Open pages in the native browser in HlinkTarget_Navigate().
vbscript: Handle carriage return in more places.
hid: Fix length argument to GetOverlappedResult().
msi/tests: Test calling more functions from custom actions.
msi: Return MSIDBSTATE_ERROR when MsiGetDatabaseState() is called from a custom action.
msi: Fix handling of architecture in MSIREG_{Open, Delete}UninstallKey().
winebus.sys: Retrieve hidraw device strings from the parent USB device.
hid: Implement HidD_GetIndexedString().
devenum: Return S_FALSE from CreateClassEnumerator() if no devices exist.
d3d9/tests: Add more tests for reset state after DrawIndexedPrimitiveUP().
d3d8/tests: Port test_draw_primitive() from d3d9.
widl: Correctly set the import library offset for all imported types.
Zhiyi Zhang (2):
kernel32: Open replaced file without GENERIC_WRITE in ReplaceFileW().
dinput: Fix a possible deadlock at exit.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 4.14 is now available.
What's new in this release (see below for details):
- New version of the Mono engine with upstream updates.
- PE dlls no longer rely on the MinGW runtime.
- Exception handling fixes on ARM64.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.14.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.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 4.14 (total 18):
34749 Eleusis Demo needs native dotnet40
39129 Cygwin's dash.exe crashes during installation
45449 Add diagnostic 'mscoree.dll.CorGetSvc' stub (NGEN client) to hint at broken Microsoft .NET Frameworks installation (Wine-Mono not uninstalled and/or 'mscoree.dll' placeholders not removed prior install)
46195 Multiple Windows 10 ARM64 apps need ntdll 'set_cpu_context' implementation (Windows PowerShell Core 6.2)
47074 World War Z crashes after intro logos due to unimplemented D3DKMTQueryStatistics
47514 AviUtl: Can't add a file to the ExEdit dialog after the first drop.
47546 Touhou 14-17 experience Spell Name and Music Room text issues starting in Wine 4.1
47561 Crash starting Rak24u Program
47564 Database mistmatch on brazillian timezone (America/Sao_Paulo)
47578 Omni-NFS 4.13's XLPD Server crashes on unimplemented function ntoskrnl.exe.MmIsThisAnNtAsSystem
47586 The Sims 1 visually freezes after alt-tabbing when in fullscreen mode
47594 Star Control Origins: very slow on new game. (a few minutes per frame)
47601 Process Hacker calls unimplemented ntoskrnl.exe functions SePrivilegeCheck and SeLocateProcessImageName
47605 Star citizen needs api-ms-win-crt-private-l1-1-0.dll._o_getenv
47611 LizardSystems Wi-Fi Scanner needs wlanui.dll to start
47612 LizardSystems Terminal Services Manager needs Ex functions from wtsapi32.dll
47616 LizardSystems Terminal Services Manager needs utildll.dll to start
47622 Wine 4.13 doesn't start Adobe Digital Editions 2 - works with 4.12.1
----------------------------------------------------------------
Changes since 4.13:
Akihiro Sagawa (2):
shell32/tests: Add DragQueryPoint tests.
shell32: Fix return value for DragQueryPoint.
Alex Henrie (12):
ntoskrnl: Add MmIsThisAnNtAsSystem().
ntoskrnl: Add stub for SePrivilegeCheck.
ntoskrnl: Add stub for SeLocateProcessImageName.
kernel32: Silence FIXME about FIND_FIRST_EX_LARGE_FETCH.
wtsapi32: Add stubs for WTSEnumerateProcessesEx[AW].
include: Add WTS_SESSION_INFO_1[AW].
wtsapi32: Add stubs for WTSEnumerateSessionsEx[AW].
wtsapi32: Add stubs for WTSOpenServerEx[AW].
include: Add WTS_TYPE_CLASS.
wtsapi32: Implement WTSFreeMemoryEx[AW].
wlanui: Add DLL.
utildll: Add DLL.
Alexandre Julliard (23):
makefiles: Default to an msvcrt build for static libraries.
wpcap: Avoid deprecated pcap_lookupdev().
ntdll: Reimplement thread initialization in assembler on ARM64.
ntdll: Silence FIXME for LdrResolveDelayLoadedAPI().
kernel32: Reimplement fiber switching in assembly.
kernel32: Move thread functions to kernelbase.
kernel32: Move thread pool functions to kernelbase.
kernel32: Move fiber functions to kernelbase.
kernel32: Move more thread functions to kernelbase.
kernel32: Move some process functions to kernelbase.
kernel32: Move process/thread attribute list functions to kernelbase.
kernel32: Move file handle functions to kernelbase.
kernel32: Move some file name functions to kernelbase.
kernel32: Move some module functions to kernelbase.
kernel32: Move some directory functions to kernelbase.
ntdll: Add support for saving/restoring FPU state on ARM64.
ntdll: Use the exception fault code to detect write access on ARM64.
ntdll: Preserve the stack red zone on ARM64.
ntdll: Save the context from the caller stack frame in RtlCaptureContext() on ARM64.
ntdll: Implement setting the thread context on ARM64.
ntdll: Don't run exception handlers on the signal stack on ARM64.
ntdll: Fix support for breakpoint exceptions on ARM64.
wineboot: Only use cpuid on platforms where it makes sense.
Alexey Prokhin (1):
xinput: Fix vibration capabilities.
Alistair Leslie-Hughes (5):
include: Define ADDRINFOT explicitly.
include: Add IDebugClient2-7 interfaces.
include: Complete dbgeng interfaces.
include: Added tpcshrd.h.
comctl32/listview: Don't report current item state in change notification when state change wasn't requested.
Andrew Eikum (2):
hid: Fix looking up report in HidP_GetValueCaps.
winebus.sys: Report device revision number for hidraw, too.
Benedikt Bär (1):
ucrtbase: Link missing functions to msvcrt that are needed by api-ms-win-crt-private-l1-1-0.
Charles Davis (1):
configure: Add a missing comma.
Conor McCarthy (1):
wldap32: Use ldap_memvfree() to free array allocated by libldap.
Dmitry Timoshkov (1):
msxml3: Register various XML character conversion routines if libxml2 doesn't support them.
Dridi Boukelmoune (1):
powrprof: Add PowerReadFriendlyName() stub.
François Gouget (18):
usp10/tests: A spelling fix in an ok() message.
setupapi/tests: A spelling fix in an ok() message.
windowscodecs/tests: A couple of spelling fixes in comments.
ntdll/tests: A spelling fix in a comment.
msscript.ocx: A spelling fix in a comment.
jscript/tests: A spelling fix in an ok() message.
kernel32/tests: A couple of spelling fixes in ok() call messages.
jscript: A spelling fix in a comment.
hidclass.sys: A spelling fix in an ERR() message.
dplayx: A spelling fix in a FIXME() message.
comctl32: A spelling fix in a TRACE() message.
advpack: A spelling fix in a comment.
winex11.drv: A spelling fix and slight rewording in a comment.
wlanapi/tests: Spelling fixes in ok() messages.
msvcrt: A spelling fix in a comment.
server: A spelling and slight rewording fix in a comment.
ntdll: Add a trailing '\n' to a TRACE().
jscript: Add a trailing '\n' to a WARN() message.
Gijs Vermeulen (7):
wmp: Improve playlist creation.
wmp: Implement IWMPPlaylist::get_count.
wmp: Fake success in IWMPPlaylist::appendItem.
wmp: Implement IWMPPlaylist::[get|put]_name.
wmp/tests: Add some IWMPPlaylist tests.
wine.inf: Update E. South America Standard Time.
wmp: Fix memory leak in IWMP[Media|Playlist]::put_name.
Henri Verbeet (49):
wined3d: Pass a wined3d_context_gl structure to context_set_current().
wined3d: Return a wined3d_context_gl structure from context_get_current().
wined3d: Use d3d_info to determine BGRA vertex support in context_update_stream_info().
wined3d: Get rid of the float16 fallback in context_update_stream_info().
wined3d: Use d3d_info to determine whether shader outputs need interpolation qualifiers.
wined3d: Store sRGB read control support in struct wined3d_d3d_info.
wined3d: Store sRGB write control support in struct wined3d_d3d_info.
wined3d: Store clip control support in struct wined3d_d3d_info.
wined3d: Store fixed-function alpha test support in struct wined3d_d3d_info.
wined3d: Store the maximum number of "compat" varyings in struct wined3d_d3d_limits.
wined3d: Use the format info to determine the A8_UNORM output swizzle in find_ps_compile_args().
wined3d: Move the "gl_info" field from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the "level" field from struct wined3d_context to struct wined3d_context_gl.
wined3d: Invalidate the relevant sampler when unloading a currently bound texture.
wined3d: Get rid of the "dirtyArray" field from struct wined3d_context.
wined3d: Make the adapter responsible for swapchain creation and destruction.
wined3d: Introduce a structure for Vulkan context information.
wined3d: Setup and tear down the shader backend for the Vulkan adapter.
wined3d: Upload buffer ranges through buffer ops.
wined3d: Download buffer ranges through buffer ops.
wined3d: Make the adapter responsible for buffer creation and destruction.
wined3d: Don't call wined3d_texture_prepare_location() with a NULL context in wined3d_texture_update_desc().
wined3d: Make the adapter responsible for render target view creation and destruction.
wined3d: Make the adapter responsible for shader resource view creation and destruction.
wined3d: Make the adapter responsible for unordered access view creation and destruction.
ddraw/tests: Add a test for reported surface caps.
wined3d: Never report WINEDDSCAPS_ALPHA, WINEDDSCAPS_SYSTEMMEMORY and WINEDDSCAPS_VISIBLE.
wined3d: Always report WINEDDSCAPS_TEXTURE, WINEDDSCAPS_ZBUFFER and WINEDDSCAPS_MIPMAP.
wined3d: Report WINEDDSCAPS_BACKBUFFER and WINEDDSCAPS_FRONTBUFFER only on 3D devices.
wined3d: Report a few more ddraw surface caps on 3D devices.
wined3d: Make the adapter responsible for texture creation and destruction.
wined3d: Introduce a separate structure for OpenGL swapchain information.
wined3d: Move the backup window from struct wined3d_swapchain to struct wined3d_swapchain_gl.
wined3d: Move the context array from struct wined3d_swapchain to struct wined3d_swapchain_gl.
wined3d: Get rid of a redundant NULL check in wined3d_context_gl_acquire() (Coverity).
ddraw/tests: Fix some test failures on 64-bit ddraw.
dxgi/tests: Introduce create_window().
ddraw: Release the wined3d mutex on error paths in ddraw_surface7_Blt().
wined3d: Make the adapter responsible for sampler creation and destruction.
wined3d: Introduce a separate structure for OpenGL sampler information.
wined3d: Make the adapter responsible for query creation and destruction.
wined3d: Make the adapter responsible for flushes.
wined3d: Set WINED3D_BLT_RAW for raw blits in cpu_blitter_blit().
wined3d: Implement 3D texture clears in surface_cpu_blt_colour_fill().
wined3d: Introduce wined3d_resource_prepare_sysmem().
wined3d: Introduce wined3d_buffer_ops.buffer_prepare_location().
wined3d: Introduce wined3d_texture_ops.texture_prepare_location().
wined3d: Map/unmap bo addresses through the adapter.
wined3d: Merge wined3d_texture_upload_data() and wined3d_texture_gl_upload_data().
Huw D. M. Davies (3):
user32: Don't query the nonclient metrics unless the font info is required.
riched20: Move handling of EM_SETCHARFORMAT to a helper function.
riched20: Don't force an update when styles are changed.
Jacek Caban (34):
stdlib.h: Forward strtoll to _strtoi64.
stdio.h: Use __acrt_iob_func to access standard stream files.
winegcc: Use imported crt DLL instead of msvcrt if specified.
d3d9x: Build with ucrtbase.
gdiplus: Build with ucrtbase.
vbscript: Build with ucrtbase.
dsound: Build with ucrtbase.
winecrt0: Add __delayLoadHelper2.
winecrt0: Add DllMainCRTStartup.
msvcr70: Provide floating point function wrappers in importlib.
winegcc: Use -nodefaultlibs -nostartfiles for builtin DLLs.
kernel32/tests: Improve timeout handling in debugger tests.
server: Report only one debug event per process at the time.
jscript: Support VT_UI1 and VT_I1 types.
jscript: Allow 0x strings with explicit radix 16 in parseInt.
jscript: Add support for parametrized compound assignments.
msvcrt: Use __iob_func instead of __p__iob in __acrt_iob_func implementation.
msvcrt: Export __p__iob only on i386.
msvcrt: Avoid conflict with mingw __iob_func declaration.
include/msvcrt: Add corecrt.h header.
include/msvcrt: Include corecrt.h instead of crtdefs.h.
mshtml/tests: Fix events.html on some win10 versions.
mshtml/tests: Fix SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION tests on recent IE11 versions.
mshtml: Support semicolon in UA compatible string.
mshtml/tests: Fix XHR tests on some IE versions.
kernel32/tests: Add single step and debug service tests.
jscript: Introduce function vtbl and use it for toString implementation.
jscript: Move function destructor implementation into vtbl.
jscript: Move function call implementation into vtbl.
jscript: Move value_proc to BuiltinFunction struct.
jscript: Introduce InterpretedFunction struct.
jscript: Move function name to NativeFunction.
jscript: Implement Function.prototype.bind.
mshtml: Add Function.prototype.bind tests.
Józef Kucia (2):
wined3d: Fix memory leak in wined3d_swapchain_state_create() (Coverity).
winevulkan: Pull in bitmask dependencies for function parameters.
Kai Krakow (1):
wined3d: Add GPU information for NVIDIA GTX 1660 Ti.
Kristján Gerhardsson (2):
wined3d: Add GPU information for AMD VEGA20.
wined3d: Add GPU information for a few more Intel KBL GPUs.
Matteo Bruni (9):
d3dx9: Get rid of unused unlock_surface() argument.
d3dx9/tests: Make the pixels array static.
d3dcompiler/tests: Get rid of redundant "failed" in test strings.
d3dcompiler/tests: Trace the test index in test_fail() checks.
wined3d: Fix color mask 1-3 state setting.
wined3d: Get rid of wined3d_max_compat_varyings().
wined3d: Clean up fallback paths in wined3d_surface_blt().
wined3d: Get rid of surface_blt_special() fallback in wined3d_surface_blt().
wined3d: Allow cross-swapchain blits in the supported cases.
Michael Stefaniuc (5):
ntdll: Remove useless cast to self.
d3d12/tests: Remove useless casts to self.
dxgi/tests: Remove useless casts to self.
gdi32/tests: Remove useless casts to self.
gdi32: Remove useless casts to self.
Naveen Narayanan (1):
ntdll: Set pthread stack guard size to 0 for NetBSD.
Nikolay Sivov (4):
dwrite: Add recent script properties.
kernel32/tests: Add some tests for setting file times.
ntdll/tests: Add some tests for setting file times.
ntdll: Ignore -1 time value same as 0 when setting file times.
Paul Gofman (6):
d3dx9: Pass rectangle to {lock|unlock}_surface().
ddraw: Return DDERR_SURFACELOST from _GetAttachedSurface() if surface is lost.
ddraw: Restore complex attached surfaces when restoring surface.
ddraw/tests: Test restoring attached surface for ddraw4.
ddraw/tests: Test restoring attached surface for ddraw2.
ddraw/tests: Test restoring attached surface for ddraw1.
Peter Dons Tychsen (1):
msvcrt: Do not use casting in min/max constants.
Richard Pospesel (11):
widl: Change struct _var_t's type member to a struct _decl_spec_t.
widl: Refactor to have array type's element use decl_spec_t rather than type_t.
widl: Refactor to have pointer type's ref use decl_spec_t rather than type_t.
widl: Bump MIDL version to 5.2.202 to avoid RPC_X_WRONG_STUB_VERSION exception in ObjectStublessClient.
widl: Use type_function_get_args() instead of type_get_function_args().
widl: Use type_pointer_get_default_fc() in declare_var().
widl: Store the aliasee as a decl_spec_t structure.
widl: Pass a decl_spec_t to write_type_v().
widl: Pass a decl_spec_t to write_type_left().
widl: Pass a decl_spec_t to type_new_array().
widl: Pass a decl_spec_t to type_new_alias().
Rémi Bernon (9):
ntdll: Add alloc_type parameter to virtual_map_section and top_down to map_image.
ntdll: Directly call internal functions from APC handler.
ntdll: Change zero_bits parameter type to ULONG_PTR for NtMapViewOfSection and NtAllocateVirtualMemory.
ntdll/tests: Factor WoW64 checks and add is_win64 constant.
ntdll/tests: Use MEM_TOP_DOWN parameter to consistently fail zero_bits tests.
ntdll/tests: Update zero_bits > 31 test case to validate bitmask behavior.
ntdll: Use custom internal zero_bits_64 parameter format.
ntdll: Implement zero_bits parameter in virtual alloc functions.
winex11.drv: Print the FocusIn/FocusOut mode in trace message.
Vincent Povirk (2):
mscoree: Update Wine Mono to 4.9.2.
mscoree: Add diagnostic CorGetSvc stub.
Zebediah Figura (40):
wined3d: Inhibit the screensaver while a full-screen application has focus.
qcap: Share source with strmbase.
winegstreamer: Share source with strmbase.
wineqtdecoder: Share source with strmbase.
strmbase: Build with msvcrt.
wineqtdecoder: Fix build.
ntoskrnl.exe/tests: Add some tests for file objects.
ntoskrnl.exe/tests: Add some tests for IRP return values.
ntoskrnl.exe: Always set the IRP return size.
quartz/filtergraph: Remove type tracing from IGraphBuilder::AddSourceFilter().
quartz: Remove unnecessary tracing from GetClassMediaFile().
quartz: Always try to detect a file by extension first.
quartz: Simplify error handling in GetClassMediaFile().
quartz: Simplify error handling in process_pattern_string().
quartz: Use file APIs directly in get_media_type().
quartz: Get rid of GetFileSourceFilter() and CreateFilterInstanceAndLoadFile().
quartz/tests: Add some tests for IGraphBuilder::AddSourceFilter().
include: Add NTSTATUS severity macros.
ntoskrnl.exe: Set the IRP output buffer unless the status has both high bits set.
d3dcompiler: Get rid of the superfluous "variable" rule.
d3dcompiler: Store the arguments to a hlsl_ir_constructor as a fixed array.
d3dcompiler: Remove redundant components_count_expr_list() function.
d3dcompiler/tests: Simplify test_fail().
d3dcompiler/tests: Add a couple more tests for complex initializers.
d3dcompiler: Use the documented YYABORT macro.
d3dcompiler: Parse initializer lists using a variable-size array.
d3dcompiler: Use new_cast() in implicit_conversion().
d3dcompiler: Introduce a new_unary_expr() helper.
d3dcompiler: Introduce a new_binary_expr() helper.
widl: Get rid of fix_incomplete().
widl: Use type_function_get_args() in more places.
widl: Move the "idx" parameter from struct func_details to var_t.
d3dcompiler: Get rid of the "node" field from struct hlsl_ir_function_decl.
d3dcompiler: Get rid of the "node" field from struct hlsl_ir_var.
widl: Introduce type_iface_get_async_iface().
widl: Use type_iface_get_inherit() in check_async_uuid().
widl: Introduce type_array_{get,set}_ptr_tfsoff().
widl: Use the type_type field to track whether the type is an alias.
mscorwks: Prefer the native version.
widl: Store the type for casts and sizeof() expressions as a decl_spec_t.
Zhiyi Zhang (1):
msctf: Add ITfContextOwnerCompositionServices stub.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.13 is now available.
What's new in this release (see below for details):
- Support for Passport HTTP redirects.
- A bunch of header updates.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.13.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.13.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.13 (total 15):
35345 Multiple applications and games fail to enumerate display/monitor driver properties in registry using setupapi (Evoland (Steam), NVIDIA GeForce Experience 3.x)
39152 Monitor Test 3.2 fails to enumerate video devices/drivers in registry ('HKLM\\HARDWARE\\DeviceMap\\VIDEO', PnP Manager)
43286 WSARecvMsg wrongly forbids NULL control buffers (Qt 5.7.0 based: Cannot read UDP packets: "errno 90, (Message too long)")
46607 For Honor crash on "double free or corruption"
46763 Second Sight:bad performance
47029 A.R.E.S. Extinction Agenda 1.x (.NET 2.0, XNA 3.1 game) crashes during intro (needs IWMPMedia::put_name implementation)
47356 By default only echo errors
47411 TreeSize Free Portable exits silently on startup due to missing shell32.SHMultiFileProperties stub
47432 bcrypt always chooses ECB mode when using AES, even if a program indicates otherwise.
47437 Final Fantasy XIV 5.0 crashes on startup when using xaudio2_8.dll
47445 compile error: ‘AT_NO_AUTOMOUNT’ undeclared
47452 Ren'py unable to create displays in Wine 4.11
47473 armv7hl compile fails due to non-AAPCS variadic function calls
47479 Many D3D11 games show black or white screen with Wine 4.12.1 (Darkula by Locomalito, Magic the Gathering Arena, Battle.net, EVE Online, World of Warships)
47519 Amazon Workspaces - ABNT2 keyboard dont recognize characters
----------------------------------------------------------------
Changes since 4.12.1:
Alistair Leslie-Hughes (31):
include: Add define SS_PORT.
include: Add more defines in sal.h.
include: Add MENUGETOBJECTINFO.
include: Add UI_ANIMATION_KEYFRAME_STORYBOARD_START constant.
include: Add UI_E_* defines.
include: Add gesture defines.
include: Add recovery defines.
include: Add IPreviewHandlerFrame interface declaration.
include: Add Network Address Control defines.
msvcrt: Add strupr_s declaration.
include: Add filter.idl.
include: Added thumbcache.idl.
include: Add PF_INET6 define.
include: Correct LVINSERTMARK define.
include: Use macro SNDMSG to send messages.
include: Added missing Header_* defines.
include: Added missing Button_* defines.
include: Added Pager_* defines.
include: Added missing ListView_* defines.
include: Added Animate_IsPlaying define.
include: Added missing MonthCal_* defines.
include: Added missing DateTime_* defines.
include: Added missing ComboBox_* defines.
include: Added missing Edit_* defines.
include: Add some missing declarations.
include: Add tchar defines.
include: Define ADDRINFOT.
include: Added LVITEMINDEX.
include: Add missing D3DKMT typedefs.
gdi32: Add D3DKMTQueryStatistics stub.
include: Implement InlineIsEqualGUID.
Andrew Eikum (2):
msctf: Accept ITfUIElementSink in ThreadMgr AdviseSink.
msctf: Accept ITfInputProcessorProfileActivationSink in ThreadMgr AdviseSink.
André Hentschel (1):
kernel32/tests: Don't test functions directly when reporting GetLastError().
Austin English (1):
shell32: Add SHMultiFileProperties stub.
Charles Davis (4):
ntdll: Implement RtlCaptureStackBackTrace() for x86_64.
ntdll: Move SetThreadExecutionState() implementation to ntdll.
ntdll: Stub power request APIs.
kernel32: Forward power request functions to ntdll.
Conor McCarthy (7):
wined3d: Track windows styles per-swapchain.
dxgi: Implement d3d12_swapchain_ResizeTarget().
dxgi: Implement d3d12_swapchain_GetFullscreenState().
dxgi: Implement d3d12_swapchain_SetFullscreenState().
dxgi/tests: Run test_resize_target() on d3d12 as well.
dxgi/tests: Run test_set_fullscreen() on d3d12 as well.
dbghelp: Return NULL instead of IMAGE_NO_MAP when PE file mapping fails.
Damjan Jovanovic (3):
ws2_32: WSARecvMsg allows a NULL control buffer when no control messages arrive.
ws2_32: Implement IP_PKTINFO on *BSDs, which only have IP_RECVDSTADDR instead.
ws2_32: Avoid data corruption of WSAPROTOCOL_INFO in ws_protocol_info().
François Gouget (1):
xaudio2: Fix the optional FAudio functions check.
Gabriel Ivăncescu (1):
ntdll: Define AT_NO_AUTOMOUNT if needed.
Gerald Pfeifer (1):
windowscodecs: Move from_sRGB_component into the same section as its sole sole user.
Gijs Vermeulen (5):
wmp/tests: Add more IWMPMedia name handling tests.
wmp: Implement IWMPMedia::put/get_name.
wmp: Return E_POINTER when p is NULL in return_bstr.
wmp: Fake success in IWMPMedia::getItemInfo.
wmp: Add IWMPPlaylist stub.
Hans Leidekker (6):
winhttp: Also trace the buffer pointer in WinHttpSendRequest.
winhttp: Implement WINHTTP_QUERY_REQUEST_METHOD.
winhttp: Handle Passport redirects.
winhttp: Set last error for invalid and unimplemented header queries.
oledb32: Add support for DBTYPE_VARIANT -> DBTYPE_DATE conversion.
oledb32: Remove unnecessary casts.
Henri Verbeet (20):
wined3d: Acquire a context for the front buffer in swapchain_gl_present().
wined3d: Acquire front-buffer contexts when blitting to the drawable in texture2d_blt_fbo().
wined3d: Don't acquire a context in wined3d_texture_load_drawable().
wined3d: Pass a wined3d_context_gl structure to arbfp_free_ffpshader().
wined3d: Pass a wined3d_context structure to wined3d_vertex_pipe_ops.vp_enable().
wined3d: Setup/restore fullscreen window state inside wined3d.
wined3d: Filter messages per-window instead of per-device.
wined3d: Move the "desc" field from struct wined3d_swapchain to struct wined3d_swapchain_state.
wined3d: Pass a wined3d_context_gl structure to arbfp_free_blit_shader().
wined3d: Pass a wined3d_context_gl structure to atifs_free_ffpshader().
wined3d: Store a wined3d_context_gl structure in struct glsl_ffp_destroy_ctx.
wined3d: Pass a wined3d_context_gl structure to glsl_free_blitter_program().
wined3d: Pass a wined3d_context structure to fragment_pipeline.enable_extension().
wined3d: Rename wined3d_window_state_restore_from_fullscreen() to wined3d_swapchain_state_restore_from_fullscreen().
wined3d: Replace wined3d_swapchain_resize_target() with wined3d_swapchain_state_resize_target().
wined3d: Pass a wined3d_context_gl structure to wined3d_sampler_desc_from_sampler_states().
wined3d: Pass a wined3d_context_gl structure to swapchain_gl_set_swap_interval().
wined3d: Pass a wined3d_context_gl structure to texture_download_data_slow_path().
wined3d: Pass a wined3d_context_gl structure to wined3d_shader_resource_view_gl_bind().
wined3d: Use d3d_info to determine BGRA vertex support in wined3d_buffer_load().
Huw D. M. Davies (2):
gdi32: Use the correct type for the final parameter of FSOpenResourceFile().
shell32: On macOS don't link against CoreServices.
Jacek Caban (1):
winegcc: Always mark executables as nx compat.
Jeff Smith (4):
d3drm: Check for NULL pointer in d3drm_viewport2_GetDevice().
d3drm: Check for NULL pointer in d3drm_viewport2_GetDirect3DViewport().
d3drm: Return error if setting viewport field-of-view to zero or negative value.
d3drm: Correct parameter count of several interface defines.
Józef Kucia (2):
dxgi: Obey image count limits for Vulkan swapchains.
wined3d: Add support for GL_EXT_texture_shadow_lod.
Kristján Gerhardsson (1):
wined3d: Add GPU information for various Mac GPUs.
Martin Storsjo (4):
msvcrt: Provide the fmaf function on i386.
msvcrt: Provide the fmal function using the existing fma implementation.
msvcrt: Implement the fdim functions.
msvcrt: Implement the tgamma functions.
Nikolay Sivov (5):
kernel32/nls: Add LOCALE_SPERCENT locale data.
kernel32/nls: Add LOCALE_SPERMILLE data.
kernel32/nls: Add percent formatting values.
kernel32/nls: Add locale data for positive and negative infinity.
kernel32: Support FileBasicInfo case in SetFileInformationByHandle().
Qian Hong (1):
advapi32: Initialize the LsaLookupSids() LSA_TRANSLATED_NAME.Name string properly.
Serge Gautherie (1):
kernel32/tests: Test QueryFullProcessImageNameW() flags.
Zebediah Figura (12):
d3dcompiler: Parse type name strings.
mscorwks: New DLL.
include: Add strongname.h.
mscoree: Fix the signature for StrongNameSignatureVerification[Ex]().
mscoree: Fake success from StrongNameSignatureVerificationEx().
services: Fix the arguments to is_root_pnp_service().
secur32: Use RtlComputeCrc32().
dbghelp: Use RtlComputeCrc32().
mspatcha: Use RtlComputeCrc32().
mspatcha: Use the standard max() and min() macros.
mfplat/tests: Link to uuid.
mfplat: Implement CreatePropertyStore().
Zhiyi Zhang (4):
dxgi/tests: Test output after using Alt+Enter to switch fullscreen.
dxgi: Fix possible null output from d3d11_swapchain_GetFullscreenState.
setupapi: Support full path enumerator in SetupDiGetClassDevs.
winex11.drv: Add DriverDateData registry property to display adapters.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.12.1 is now available.
What's new in this release (see below for details):
- Fixes for broken 64-bit prefix initialization.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.12.1.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.12.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.12.1 (total 5):
46473 Settlers IV History Edition
47403 ALT+TAB results in a sticky ALT in the application when switching back
47464 64-bit WINEPREFIX creation/update fails with Wine 4.12 (wineboot crashes after building as PE file)
47467 WINEPREFIX creation/update: setupapi fails to register several dlls after building as PE file starting with Wine 4.12
47468 LINE 5.x launcher crashes on startup
----------------------------------------------------------------
Changes since 4.12:
Alexandre Julliard (5):
wineboot: Fix do_cpuid() calling convention.
kernel32: Set the path environment variables according to the WoW64 environment.
include: Make sure the JUMP_BUFFER structure is correctly aligned on x86-64
gdi32: Make GDI driver functions cdecl.
d3dcompiler: Make varargs functions WINAPIV.
Henri Verbeet (1):
wined3d: Handle context acquisition failure in wined3d_device_create_primary_opengl_context_cs().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.12 is now available.
What's new in this release (see below for details):
- Still more DLLs are built as PE files by default.
- Support for Plug & Play device drivers.
- Better support for the Visual Studio remote debugger.
- More support for enumerating display devices.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.12.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.12.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.12 (total 27):
18490 Multiple games fail to set pixel format on D3D device context created on desktop window (Empire: Total War, Napoleon: Total War, Utopia City)
21378 lego digital designer crashes on scrolling
27576 RT Se7en Lite installer hangs
31260 Tomb Raider 4 Broken Lighting
31737 Need For Speed Hot Pursuit (2010): Gamepad is not configured
34978 Many applications need a EnumDisplayDevicesW implementation for multi-monitor environment support (DisplayFusion, Turbo Tax 2012, WPF 4.x .NET apps, CEFv3 apps, VS Code < 1.16.0)
35413 err:module:import_dll Library libgcc_s_sjlj-1.dll not found needed by mono-2.0
36061 winedbg crash dialog shows a leak in imm32
37709 All Qt5 based applications have broken menu/combos positioning in multiple monitor setup due to GetMonitorInfo() returning the same hard-coded device name for all monitors
38421 Windows Media Player 9 & 10: mp3 sound plays too fast
41608 Golden Krone Hotel fails to launch (InitializeProcThreadAttributeList is a stub)
42374 Hardwood Solitaire can not connect to his server
45656 Acronis Storage Filter Management Driver 'fltsrv.sys' crashes on unimplemented function 'ntoskrnl.exe.KeBugCheckEx' in 'CrashOnError' mode
47013 winebus.sys: hidraw_set_feature_report buffer too small for some devices in SteelSeries Engine
47014 Multiple kernel drivers need 'ntoskrnl.exe.ExInitializePagedLookasideList' implementation (Norton 360/Symantec Eraser Control Driver)
47017 Symantec Eraser Control Driver 'eeCtrl64.sys' (Norton 360) crashes on unimplemented function ntoskrnl.exe.IoGetStackLimits
47340 Adobe Acrobat Reader DC crashes on startup with corefonts installed
47352 Levelhead: Can't connect to game's network
47367 Some WPF 4.x apps from Windows 10 SDK (10.0.17763.x) spam console with fixme:d3d:wined3d_driver_info_init Unhandled OS version 6.3, reporting Win 8. (WinVer set to 'Windows 8.1')
47385 Overwatch crashes on unimplemented function mfreadwrite.dll.MFCreateSinkWriterFromURL
47392 Drakensang Online crashes when exiting fullscreen
47399 Mozart 11-13 crashes on startup
47410 Regression in 4.10, Dune 2000 installer crashes in winevdm
47418 Quickbooks 2018 installer crashes on Validating Install
47424 DataTransferLength in SCSI_PASS_THROUGH and SCSI_PASS_THROUGH_DIRECT *must* have return value
47431 Multiple applications and games show too high CPU usage and UI slowness/lag with wine-4.11-84-g074abfe097 (EnumDisplayMonitors implementation uses expensive registry accesses)
47443 compile error: undefined reference to `clock_gettime'
----------------------------------------------------------------
Changes since 4.11:
Alexandre Julliard (127):
t2embed: Build with msvcrt.
tapi32: Build with msvcrt.
taskschd: Build with msvcrt.
tdh: Build with msvcrt.
tdi.sys: Build with msvcrt.
toolhelp: Build with msvcrt.
traffic: Build with msvcrt.
twain: Build with msvcrt.
twain_32: Build with msvcrt.
typelib: Build with msvcrt.
uianimation: Build with msvcrt.
uianimationcore: Build with msvcrt.
uiribbon: Build with msvcrt.
updspapi: Build with msvcrt.
url: Build with msvcrt.
urlmon: Build with msvcrt.
ntdll: Try to use the name of the PE file also when loading .so builtin.
advapi32: Move more event log stubs to ntdll.
advapi32: Move SHA1 implementation to ntdll.
advapi32: Move MD4 implementation to ntdll.
advapi32: Move MD5 implementation to ntdll.
usbd.sys: Build with msvcrt.
user.exe: Build with msvcrt.
userenv: Build with msvcrt.
usp10: Build with msvcrt.
uxtheme: Build with msvcrt.
vbscript: Build with msvcrt.
vcomp: Build with msvcrt.
vdhcp.vxd: Build with msvcrt.
vdmdbg: Build with msvcrt.
ver: Build with msvcrt.
version: Build with msvcrt.
virtdisk: Build with msvcrt.
vmm.vxd: Build with msvcrt.
vnbt.vxd: Build with msvcrt.
vnetbios.vxd: Build with msvcrt.
vssapi: Build with msvcrt.
vtdapi.vxd: Build with msvcrt.
vulkan-1: Build with msvcrt.
vwin32.vxd: Build with msvcrt.
advapi32: Move registry functions to kernelbase.
advapi32: Move sid functions to kernelbase.
advapi32: Move token functions to kernelbase.
advapi32: Move security descriptor functions to kernelbase.
advapi32: Move access control functions to kernelbase.
advapi32: Move performance stubs to kernelbase.
winebuild: Set the default entry point also for Windows builds.
w32skrnl: Build with msvcrt.
w32sys: Build with msvcrt.
wbemdisp: Build with msvcrt.
wdscore: Build with msvcrt.
webservices: Build with msvcrt.
wer: Build with msvcrt.
wevtapi: Build with msvcrt.
wiaservc: Build with msvcrt.
wimgapi: Build with msvcrt.
win32s16: Build with msvcrt.
win87em: Build with msvcrt.
windebug: Build with msvcrt.
windowscodecsext: Build with msvcrt.
winehid.sys: Build with msvcrt.
winemapi: Build with msvcrt.
include: Implement some inline functions in C instead of assembly.
wineps16.drv: Build with msvcrt.
wing: Build with msvcrt.
wing32: Build with msvcrt.
winnls: Build with msvcrt.
winnls32: Build with msvcrt.
winscard: Build with msvcrt.
winsock: Build with msvcrt.
winsta: Build with msvcrt.
wintab: Build with msvcrt.
wintab32: Build with msvcrt.
wintrust: Build with msvcrt.
wlanapi: Build with msvcrt.
wmasf: Build with msvcrt.
wmiutils: Build with msvcrt.
wmp: Build with msvcrt.
wmphoto: Build with msvcrt.
wmvcore: Build with msvcrt.
wow32: Build with msvcrt.
wpc: Build with msvcrt.
wsdapi: Build with msvcrt.
wshom.ocx: Build with msvcrt.
wsnmp32: Build with msvcrt.
wsock32: Build with msvcrt.
wtsapi32: Build with msvcrt.
wuapi: Build with msvcrt.
wuaueng: Build with msvcrt.
xinput1: Build with msvcrt.
xmllite: Build with msvcrt.
xolehlp: Build with msvcrt.
xpsprint: Build with msvcrt.
xpssvcs: Build with msvcrt.
kernelbase: Get rid of some string helper functions.
kernel32: Move lstr* string functions to kernelbase.
kernel32: Move event functions to kernelbase.
kernel32: Move mutex functions to kernelbase.
kernel32: Move semaphore functions to kernelbase.
kernel32: Move waitable timer functions to kernelbase.
kernel32: Move timer queue functions to kernelbase.
kernel32: Move critical section functions to kernelbase.
kernel32: Move file mapping functions to kernelbase.
kernel32: Move condition variable functions to kernelbase.
kernel32: Move I/O completion functions to kernelbase.
kernel32: Move named pipe functions to kernelbase.
kernel32: Move wait functions to kernelbase.
include: Avoid depending on wine/port.h.
d3d8: Build with msvcrt.
d3d9: Build with msvcrt.
d3d11: Build with msvcrt.
ddraw: Build with msvcrt.
ntdll: Initialize filesystem redirects before kernel32 is loaded.
d3dcompiler: Copy the C preprocessor source into d3dcompiler_43.
d3dcompiler: Build with msvcrt.
wpp: Get rid of the no longer needed callbacks.
kernelbase: Forward functions directly to ntdll where possible.
kernel32: Move resource functions to kernelbase.
kernel32: Move activation context functions to kernelbase.
configure: Error on unused command line argument to catch unknown options with clang.
wineboot: Avoid using getopt_long().
kernel32: Set environment variables for the various Wine paths.
wineps.drv: Build with msvcrt.
wineboot: Build with msvcrt.
setupapi: Build with msvcrt.
appwiz.cpl: Build with msvcrt.
mscoree: Build with msvcrt.
Alistair Leslie-Hughes (5):
wininet: Support QueryOption INTERNET_OPTION_ERROR_MASK for http.
wininet: Always set last error in HttpQueryInfoW.
wininet: Always set last error in InternetReadFile.
include: Complete IMimeHeaderTable/IMimeEnumHeaderRows interfaces.
winebus.sys: Increase buffer size to match max length available.
André Hentschel (1):
kernelbase: Return on failed allocation (Coverity).
Dmitry Timoshkov (3):
ntdll: Add '-norelay' flag for _vsnprintf().
msvcrt: Add '-norelay' flag for _vsnprintf().
msvcrt: Fix handling of dst == src in wcscpy_s.
Ethan Lee (2):
xaudio2: Add TRACE functions to CreateAudioReverb/CreateAudioVolumeMeter.
xaudio2: Export functions by ordinal.
Fabian Maurer (2):
kernel32/tests: Add sxs tests.
ntdll: Check the activation context before looking for the module basename.
Hans Leidekker (10):
wbemprox: Add support for parsing ASSOCIATORS OF queries.
include: Use WS_ prefix with struct timeval.
ntdll: Support NtQuerySystemInformation(SystemFirmwareTableInformation) on macOS.
ntdll: Fix sysfs path for the product name.
ntdll: Use a common structure for the SMBIOS table entry header.
ntdll: Use the machine ID for the system UUID on Linux.
wbemprox: Retrieve the system UUID from the SMBIOS table.
wbemprox: Build with msvcrt.
bcrypt: Ignore the size parameter in BCRYPT_CHAINING_MODE setters.
wbemprox: Add support for CIM_REFERENCE.
Henri Verbeet (50):
wined3d: Pass a wined3d_context_gl structure to find_arb_ps_compile_args().
wined3d: Pass a wined3d_context_gl structure to find_arb_vs_compile_args().
wined3d: Pass a wined3d_context_gl structure to wined3d_buffer_gl_bind().
wined3d: Pass a wined3d_context_gl structure to wined3d_buffer_gl_create_buffer_object().
wined3d: Move texture2d_load_drawable() to texture.c.
wined3d: Pass a wined3d_context_gl structure to wined3d_buffer_gl_destroy_buffer_object().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_load_program_resources().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_init_transform_feedback().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_ffp_vertex_normalmatrix_uniform().
wined3d: Move texture2d_load_renderbuffer() to texture.c.
wined3d: Pass a wined3d_context_gl structure to shader_glsl_ffp_vertex_texmatrix_uniform().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_ffp_vertex_material_uniform().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_ffp_vertex_lightambient_uniform().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_ffp_vertex_light_uniform().
wined3d: Handle Windows 8.1 in wined3d_driver_info_init().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_pointsize_uniform().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_load_fog_uniform().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_clip_plane_uniform().
wined3d: Pass a wined3d_context_gl structure to shader_generate_glsl_declarations().
wined3d: Explicitly handle Windows 2 & 3 in wined3d_driver_info_init().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_generate_pshader().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_generate_vshader().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_generate_hull_shader().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_generate_domain_shader().
wined3d: Use Windows 7 as fallback driver version in wined3d_driver_info_init().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_generate_geometry_shader().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_generate_compute_shader().
wined3d: Pass a wined3d_context_gl structure to find_glsl_pshader().
wined3d: Pass a wined3d_context_gl structure to find_glsl_vshader().
ddraw: Use wined3d_bit_scan() in viewport_alloc_active_light_index().
wined3d: Pass a wined3d_context_gl structure to find_glsl_hull_shader().
wined3d: Pass a wined3d_context_gl structure to find_glsl_domain_shader().
wined3d: Pass a wined3d_context_gl structure to find_glsl_geometry_shader().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_generate_ffp_fragment_shader().
wined3d: Unhook swapchains in swapchain_cleanup().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_find_ffp_fragment_shader().
wined3d: Pass a wined3d_context_gl structure to shader_glsl_compile_compute_shader().
wined3d: Pass a wined3d_context_gl structure to find_glsl_compute_shader().
wined3d: Pass a wined3d_context_gl structure to set_glsl_compute_shader_program().
wined3d: Also try to create a depth/stencil buffer for WINED3D_NO3D devices in swapchain_init().
wined3d: Pass a wined3d_context_gl structure to set_glsl_shader_program().
wined3d: Pass a wined3d_context_gl structure to glsl_blitter_get_program().
wined3d: Pass a wined3d_context_gl structure to nvts_activate_dimensions().
wined3d: Pass a wined3d_context_gl structure to wined3d_query_create_buffer_object().
wined3d: Try harder to reuse the current context.
wined3d: Pass a wined3d_context_gl structure to wined3d_query_destroy_buffer_object().
wined3d: Pass a wined3d_context_gl structure to wined3d_query_buffer_queue_result().
wined3d: Pass a wined3d_context_gl structure to wined3d_so_statistics_query_end().
wined3d: Pass a wined3d_context_gl structure to wined3d_pipeline_statistics_query_end().
wined3d: Merge wined3d_texture_download_data() and wined3d_texture_gl_download_data().
Jacek Caban (27):
ntoskrnl.exe: Implement IoGetStackLimits.
ntoskrnl.exe: Implement ExInitializePagedLookasideList.
ntoskrnl.exe: Implement ExDeletePagedLookasideList.
tdi.sys: Fix EXTRADLLFLAGS.
ntoskrnl.exe: Implement KeBugCheck and KeBugCheckEx.
mshtml/tests: Fix comment tests on recent IE versions.
mshtml/tests: Introduce set_body_html helper.
mshtml/tests: Merge text range tests.
mshtml/tests: Rename elements.js to dom.js.
mshtml/tests: Improve tests exception handling.
mshtml: Include URL pathname and query in test traces.
winedbg: Move continue_on_first_exception handling out of dbg_attach_debuggee.
winedbg: Set auto attach event after processing the first exception.
msxml3: Fix string length handling in I[VB]SAXContentHandler::characters.
ntdll: Move null terminating result to pf_vsnprintf callers.
ntdll: Implement _snprintf_s and _vsnprintf_s.
kernel32/tests: Add more debugger tests.
server: Fix debug event order in generate_startup_debug_events.
kernel32: Terminate process in unhandled exception handler.
ntdll: Implement DbgUiIssueRemoteBreakin.
kernel32: Reimplement DebugBreakProcess on top of DbgUiIssueRemoteBreakin.
winternl.h: Remove inline DbgBreakPoint version.
kernel32: Use DebugBreakProcess in DebugActiveProcess.
server: Remove no longer needed break_process.
server: Rename cpu_type_t to client_cpu_t.
winmm: Use condition variable to sleep in timer thread.
winmm: Build with msvcrt.
Jactry Zeng (4):
d3d8/tests: Add tests for 32-bit depth format support.
d3d9/tests: Add tests for 32-bit depth format support.
ddraw/tests: Add tests for 32-bit depth format support.
wined3d: Drop support for WINED3DFMT_D32_UNORM.
Jeff Smith (2):
d3drm: CreateViewport checks for non-NULL viewport pointer first.
d3drm: Fix reference leak in d3drm_viewport2_Clear().
Justin Martin (1):
d3d9: Implement d3d9_device_CreateRenderTargetEx().
Józef Kucia (2):
d3d12/tests: Add test for creating swapchain on desktop window.
dxgi: Forbid creating D3D12 swapchains on desktop window.
Ken Thomases (1):
gdi32: Also accept "\\.\DISPLAY<n>" devices names with <n> other than 1 as display devices.
Marcus Meissner (1):
mshtml: Fixed buffer size to WideCharToMultiByte.
Michael Müller (1):
wininet: Allow to set INTERNET_OPTION_HTTP_DECODING on sessions and connections.
Nikolay Sivov (20):
mfplat: Improve PROPVARIANT arguments traces.
mfplat: Add MF_LOW_LATENCY attribute GUID.
mfreadwrite: Add MFCreateSinkWriterFromURL() stub.
mshtml: Add IDocumentRange stub.
user32/tests: Use SendInput() directly.
user32/tests: Add another test for KEYEVENTF_UNICODE mode.
server: Use KEYEVENTF_UNICODE mode only when virtual key code was not specified.
mfplat: Trace MF_PD_DURATION guid.
mshtml: Add IHTMLDOMRange stub.
strmbase: Remove unused function.
dwrite: Remove unused functions.
shlwapi: Remove unused function.
d2d1: Remove unused function.
devenum: Don't free uninitialized pointer value.
kernel32: Remove unused functions.
quartz: Remove unused function.
d3d10core/tests: Use d3d10 enumeration types.
winegstreamer: Add stub Video Processor MFT.
mf: Return clock rate as session rate.
mf: Fix method name.
Paul Gofman (6):
ddraw: Factor out fixup_texture_alpha_op() function.
ddraw: Set _TSS_ALPHA_OP to _SELECT_ARG1 in case of NULL texture in fixup_texture_alpha_op().
d3d9/tests: Test sample and texture dimensions mismatch.
wined3d: Do not modify shader register maps in backends.
wined3d: Fixup 3D sampler when sampling 2D texture for PS models 2 and 3.
wined3d: Fixup 2D sampler when sampling 3D texture for PS models 2 and 3.
Zebediah Figura (61):
strmbase: Add default implementations of filter state change methods.
quartz/filesource: Use strmbase filter state change methods.
quartz/tests: Add more tests for standard media samples.
quartz/memallocator: Clear some sample properties when freeing the sample.
quartz/memallocator: Set the sample end time only if the start time is valid.
quartz/memallocator: Forbid setting the start media time without setting the end time.
quartz/memallocator: Avoid using a magic value for the start media time.
quartz/memallocator: Return S_OK when clearing the media type.
quartz/memallocator: Set the AM_SAMPLE_TYPECHANGED flag.
wined3d: Store the cursor texture in a local variable in swapchain_gl_present().
wine.inf: Add the GUID_DEVCLASS_SYSTEM class key.
ntoskrnl.exe: Add a stub PnP manager driver.
ntoskrnl.exe: Load a driver's root PnP devices when the driver is started.
setupapi: Delay-load user32.
services: Load root PnP drivers on startup.
qcap/vfwcapture: Store the source pin inline in the VfwCapture structure.
qcap/vfwcapture: Don't expose IAMStreamConfig from the filter.
quartz/parser: Don't store the sink pin in the "ppPins" array.
quartz/parser: Store the source pins as an array of Parser_OutputPin pointers.
quartz/vmr9: Return S_OK when calling IVMRFilterConfig9::SetNumberOfStreams(1).
ntoskrnl.exe: Handle some no-op PnP requests.
ntoskrnl.exe: Handle IRP_MN_QUERY_ID for root PnP devices.
ntoskrnl.exe: Stub PoStartNextPowerIrp().
ntoskrnl.exe: Implement PoCallDriver().
qcap/tests: Add some tests for IBaseFilter::EnumPins on the AVI muxer.
qcap/tests: Add some tests for IBaseFilter::FindPin() on the AVI mux filter.
qcap/tests: Add some tests for querying AVI mux pin information.
qcap/tests: Add some tests for AVI mux pin interfaces.
qcap/tests: Add some more tests for AVI mux media types.
setupapi: Also start newly installed root PnP services in SetupDiInstallDevice().
hidclass.sys: Detach the HID device before deleting it.
quartz/tests: Add some tests for VMR7 media types.
quartz/tests: Add some tests for VMR9 media types.
quartz/tests: Add some tests for IEnumMediaTypes().
qcap/tests: Add some tests for IEnumMediaTypes().
qedit/tests: Add some tests for media types.
qedit/tests: Add some tests for IEnumMediaTypes().
strmbase: Simplify IEnumMediaTypesImpl_Next().
strmbase: Fix implementation of IEnumMediaTypes::Skip().
msi: Close all handles opened by a custom action thread.
ntdll: Correctly fill DataTransferLength in SCSI_PASS_THROUGH and SCSI_PASS_THROUGH_DIRECT.
strmbase: Remove unused "ThreadSignal" event.
strmbase: Rename "evComplete" to "state_event" for clarity.
strmbase: Wait for the presentation time in BaseRendererImpl_Receive().
strmbase: Do not set RenderEvent in IBaseFilter::Run().
strmbase: Split RenderEvent into separate events for advising and flushing.
quartz/dsoundrender: Use flush_event instead of reimplementing it.
quartz/dsoundrender: Use BaseRendererImpl_Pause().
strmbase: Remove several unused callbacks.
strmbase: Rename pfnOnStartStreaming to renderer_start_stream.
strmbase: Rename pfnOnStopStreaming to renderer_stop_stream.
ntoskrnl.exe: Use the registered interface class in IoSetDeviceInterfaceState().
user32/tests: Test opening raw input devices.
services: Report a PID of 0 for drivers.
services: Do not overwrite the service type in SetServiceStatus().
winebus.sys: Create a stub mouse device.
winehid.inf: Add WINEMOUSE to the list of winehid device IDs.
include: Add ntddmou.h.
hidclass.sys: Create a mouse device interface for HID mouse devices.
user32: Introduce and use an array_reserve() helper.
user32: Factor out add_device().
Zhiyi Zhang (10):
user32: Move EnumDisplayDevicesA/W to sysparams.c.
user32: Avoid a possible race.
dxgi/tests: Add more IDXGISwapChain_Present() tests.
dxgi: Return DXGI_STATUS_OCCLUDED for minimised windows in d3d11_swapchain_present().
dxgi/tests: Add IDXGIOutput ownership tests.
winex11.drv: Use generic EnumDisplayMonitors.
winex11.drv: Use generic GetMonitorInfo.
winex11.drv: Specify enumerator when calling SetupDiGetClassDevsW.
user32: Specify enumerator when calling SetupDiGetClassDevsW.
user32: Cache monitor information.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.11 is now available.
What's new in this release (see below for details):
- Updated version of the Mono engine, including Windows.Forms.
- More DLLs are built as PE files by default.
- Faster implementation of Slim Reader/Writer locks on Linux.
- Initial support for enumerating display devices.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.11.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.11.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.11 (total 17):
8848 SWAT4 Areas that should be in shadow and people are rendered solid black
22253 Horizontal scrolling with the mouse wheel does not work in list views
24211 ispq crashes on 'create account' with devenum enabled and without native qcap
28153 AutoIt v3.x @DesktopRefresh macro returns 0 (device caps VREFRESH hard-coded to 0)
30822 Max Payne 3 not running
34687 Port Royale 2 crashes on startup (SymGetLineFromAddr() returns unix-style path for source file)
34741 Catzilla 1.0 doesn't work: EAccess violation
34742 Catzilla 1.0 doesn't allow to use any display resolutions other than 576p
35477 'epsilon' 64K demo/intro by mercury crashes on start up
39071 7-Zip 15.06 looks broken after being minimized
39337 Legacy of Kain: Soul Reaver crashes at intro video when being run in desktop resolution > 640x480
45218 Fallout 4 Script Extender fails to allocate trampoline buffers
47164 .NET Framework 4.0 installer fails when Wine is compiled with GCC 9.1.1
47167 Chromium Embedded Framework (CEF) applications display no content when wine is compiled with gcc-9
47327 Japanese texts are overlapped in notepad when using bitmap font.
47371 Nero CoverDesigner doesn't install - missing support for BCRYPT_RSA_SIGN_ALGORITHM
47378 ole32: native build (without-mingw) is broken
----------------------------------------------------------------
Changes since 4.10:
Akihiro Sagawa (3):
usp10: Cache ScriptString_pSize value, again.
usp10/tests: Add advance width tests with CJK bitmap font.
usp10: Fix advance width when glyph is missing.
Alexandre Julliard (168):
mf: Build with msvcrt.
mfplat: Build with msvcrt.
mfplay: Build with msvcrt.
mfreadwrite: Build with msvcrt.
mgmtapi: Build with msvcrt.
midimap: Build with msvcrt.
mlang: Build with msvcrt.
mmcndmgr: Build with msvcrt.
mmdevapi: Build with msvcrt.
mmdevldr.vxd: Build with msvcrt.
mmsystem: Build with msvcrt.
monodebg.vxd: Build with msvcrt.
mouse.drv: Build with msvcrt.
mpr: Build with msvcrt.
mprapi: Build with msvcrt.
ntdll: Don't use native subsystem heuristic against builtin modules.
fltmgr.sys: Fix duplicate dll flags.
ksecdd.sys: Fix duplicate dll flags.
msacm: Build with msvcrt.
msacm32.drv: Build with msvcrt.
msacm32: Build with msvcrt.
msadp32.acm: Build with msvcrt.
msasn1: Build with msvcrt.
mscat32: Build with msvcrt.
msctf: Build with msvcrt.
msctfp: Build with msvcrt.
msdaps: Build with msvcrt.
msdelta: Build with msvcrt.
msdmo: Build with msvcrt.
msdrm: Build with msvcrt.
msftedit: Build with msvcrt.
msg711.acm: Build with msvcrt.
ntdll: Make the __wine_spec_unimplemented_stub() copy cdecl.
imagehlp/tests: Remove a workaround for Win95.
mshtml: Build with msvcrt.
msi: Build with msvcrt.
msident: Build with msvcrt.
msimg32: Build with msvcrt.
msimtf: Build with msvcrt.
msisip: Build with msvcrt.
msisys.ocx: Build with msvcrt.
msls31: Build with msvcrt.
msnet32: Build with msvcrt.
mspatcha: Build with msvcrt.
msports: Build with msvcrt.
msrle32: Build with msvcrt.
msscript.ocx: Build with msvcrt.
mssign32: Build with msvcrt.
mssip32: Build with msvcrt.
mstask: Build with msvcrt.
jscript: Consistently use wcscmp() instead of lstrcmpW().
server: Fix the returned error code for an invalid NT header offset.
msvcp90: Avoid depending on config.h for the __builtin_clz check.
msvcm: Build with msvcrt.
msvfw32: Build with msvcrt.
msvidc32: Build with msvcrt.
msvideo: Build with msvcrt.
mswsock: Build with msvcrt.
msxml: Build with msvcrt.
msxml2: Build with msvcrt.
msxml4: Build with msvcrt.
msxml6: Build with msvcrt.
mtxdm: Build with msvcrt.
ncrypt: Build with msvcrt.
nddeapi: Build with msvcrt.
ndis.sys: Build with msvcrt.
netcfgx: Build with msvcrt.
netprofm: Build with msvcrt.
newdev: Build with msvcrt.
winebuild: Add a -munix option.
winebuild: Don't import standard C functions in Unix mode.
ntoskrnl: Make the standard C functions available for importing.
ninput: Build with msvcrt.
normaliz: Build with msvcrt.
npmshtml: Build with msvcrt.
npptools: Build with msvcrt.
ntdsapi: Build with msvcrt.
ntoskrnl: Build with msvcrt.
ntprint: Build with msvcrt.
objsel: Build with msvcrt.
odbccp32: Build with msvcrt.
ole2: Build with msvcrt.
ole2disp: Build with msvcrt.
ole2nls: Build with msvcrt.
ole32: Build with msvcrt.
oleacc: Build with msvcrt.
oleaut32: Build with msvcrt.
olecli: Build with msvcrt.
olecli32: Build with msvcrt.
oledb32: Build with msvcrt.
oledlg: Build with msvcrt.
olepro32: Build with msvcrt.
olesvr: Build with msvcrt.
olesvr32: Build with msvcrt.
olethk32: Build with msvcrt.
packager: Build with msvcrt.
pdh: Build with msvcrt.
photometadatahandler: Build with msvcrt.
pidgen: Build with msvcrt.
powrprof: Build with msvcrt.
printui: Build with msvcrt.
prntvpt: Build with msvcrt.
propsys: Build with msvcrt.
pstorec: Build with msvcrt.
makefiles: Support mixing Unix and msvcrt headers in a single module.
winecrt0: Build with msvcrt.
winecrt0: Provide our own setjmp/longjmp functions for exception handling.
ntdll: Make wine_server_call() cdecl.
ntdll: Make the standard C functions available for importing.
kernelbase: Build with msvcrt.
qmgr: Build with msvcrt.
qmgrprxy: Build with msvcrt.
query: Build with msvcrt.
qwave: Build with msvcrt.
rasapi32: Build with msvcrt.
rasdlg: Build with msvcrt.
regapi: Build with msvcrt.
resutils: Build with msvcrt.
riched20: Build with msvcrt.
riched32: Build with msvcrt.
rpcrt4: Build with msvcrt.
rsaenh: Build with msvcrt.
rstrtmgr: Build with msvcrt.
rtutils: Build with msvcrt.
ntdll: Use .so builtin if found instead of falling back to the installed PE file.
kernelbase: Revert some incorrect differences with shlwapi.
samlib: Build with msvcrt.
sapi: Build with msvcrt.
sas: Build with msvcrt.
scarddlg: Build with msvcrt.
sccbase: Build with msvcrt.
schannel: Build with msvcrt.
schedsvc: Build with msvcrt.
scrobj: Build with msvcrt.
scrrun: Build with msvcrt.
scsiport: Build with msvcrt.
sensapi: Build with msvcrt.
serialui: Build with msvcrt.
setupx: Build with msvcrt.
sfc: Build with msvcrt.
sfc_os: Build with msvcrt.
shcore: Build with msvcrt.
shdocvw: Build with msvcrt.
shell: Build with msvcrt.
shlwapi: Import string functions from kernelbase.
shlwapi: Import path functions from kernelbase.
shlwapi: Import URL functions from kernelbase.
shlwapi: Import registry functions from kernelbase.
shlwapi: Import QISearch() from kernelbase.
shlwapi: Build with msvcrt.
slbcsp: Build with msvcrt.
slc: Build with msvcrt.
snmpapi: Build with msvcrt.
sound.drv: Build with msvcrt.
spoolss: Build with msvcrt.
srclient: Build with msvcrt.
sspicli: Build with msvcrt.
sti: Build with msvcrt.
storage: Build with msvcrt.
stress: Build with msvcrt.
strmdll: Build with msvcrt.
svrapi: Build with msvcrt.
sxs: Build with msvcrt.
system.drv: Build with msvcrt.
api-ms-win-core-kernel32-legacy-l1-1-1: Use proper forwards.
winebuild: Add -import entry point flag to generate hotpatchable import thunks.
shlwapi: Add -import flag on functions imported from kernelbase.
version: Move implementation into kernelbase.
Alistair Leslie-Hughes (7):
dpnet: Remove dead code (Coverity).
dinput: Ensure buffer doesn't overflow (Coverity).
wininet: Remove unsued flag HTTP_ADDHDR_FLAG_COALESCE.
advapi32: Don't read a value that might be uninitialized (Coverity).
mshtml: Remove redundant assignments.
dbghelp: Return a dos path from SymGetLineFromAddr.
mshtml: Implement IHTMLDocument2 put/get_bgColor.
Andrew Eikum (5):
winebus.sys: Close SDL handles when a device is removed.
kernel32: Link against RT_LIBS.
dxgi/tests: Add tests for setting the fullscreen state of swapchains with destroyed windows.
dxgi: Return DXGI_ERROR_NOT_CURRENTLY_AVAILABLE if setting the fullscreen state failed.
wined3d: Validate that we got a valid window in wined3d_device_setup_fullscreen_window().
Aric Stewart (1):
winemac.drv: Send state change notifications from ImeSelect.
Dmitry Timoshkov (5):
mshtml: Fix a typo.
mshtml: Add better stub for HTMLDocument7::get_onmsthumbnailclick.
mshtml: Add recently added GUIDs to debugstr_mshtml_guid().
mshtml: Replace a useless trace with a slightly better one.
mshtml: Add support for DIID_HTMLDocumentEvents2 connection point sink.
Ethan Lee (1):
xaudio2: Fix some TRACE calls erroneously marked as stubs.
Gabriel Ivăncescu (7):
comctl32/listbox: Fix mouse wheel scrolling for multi-column listboxes.
user32/listbox: Fix mouse wheel scrolling for multi-column listboxes.
comctl32/edit: Get rid of useless casts.
user32/edit: Get rid of useless casts.
comctl32/listview: Get rid of useless casts.
comctl32/treeview: Get rid of useless casts.
ntdll: Add support for EXT4 per directory case folding.
Hans Leidekker (3):
bcrypt: Add stub implementations of BCryptEnumContextFunctions and BCryptFreeBuffer.
bcrypt: Add support for BCRYPT_RSA_SIGN_ALGORITHM.
msi/tests: Accept case variations for path properties.
Henri Verbeet (47):
wined3d: Pass a wined3d_context_gl structure to context_enable_clip_distances().
wined3d: Pass a wined3d_context_gl structure to context_end_transform_feedback().
wined3d: Pass a wined3d_context_gl structure to context_map_bo_address().
wined3d: Pass a wined3d_context_gl structure to context_unload_tex_coords().
wined3d: Upload texture data through the texture ops in wined3d_cs_exec_update_sub_resource().
wined3d: Pass a wined3d_context_gl structure to context_unmap_bo_address().
wined3d: Pass a wined3d_context_gl structure to wined3d_texture_prepare_texture().
wined3d: Pass a wined3d_context_gl structure to wined3d_texture_gl_apply_sampler_desc().
wined3d: Pass a wined3d_context_gl structure to wined3d_texture_gl_bind().
wined3d: Upload texture data through the texture ops in surface_convert_format().
wined3d: Pass a wined3d_context_gl structure to wined3d_texture_gl_set_compatible_renderbuffer().
wined3d: Pass a wined3d_context_gl structure to wined3d_sampler_bind().
wined3d: Pass a wined3d_context_gl structure to context_attach_gl_texture_fbo().
wined3d: Get rid of the unused "gl_info" argument to compute_texture_matrix().
wined3d: Upload texture data through the texture ops in wined3d_texture_upload_from_texture().
wined3d: Pass a wined3d_context_gl structure to context_attach_depth_stencil_fbo().
wined3d: Pass a wined3d_context_gl structure to context_attach_surface_fbo().
wined3d: Pass a wined3d_context_gl structure to context_set_fbo_key_for_render_target().
wined3d: Pass a wined3d_context_gl structure to context_generate_fbo_key().
wined3d: Download texture data through the texture ops in wined3d_texture_download_from_texture().
wined3d: Pass a wined3d_context_gl structure to context_create_fbo_entry().
wined3d: Pass a wined3d_context_gl structure to context_apply_draw_buffers().
wined3d: Pass a wined3d_context_gl structure to context_set_render_offscreen().
wined3d: Pass a wined3d_context_gl structure to context_apply_blit_projection().
wined3d: Use texture2d_load_sysmem() in texture1d_load_location().
wined3d: Pass a wined3d_context_gl structure to context_bind_unordered_access_views().
wined3d: Pass a wined3d_context_gl structure to context_pause_transform_feedback().
wined3d: Pass a wined3d_context_gl structure to context_setup_target().
wined3d: Pass a wined3d_context_gl structure to draw_primitive_arrays().
wined3d: Use wined3d_texture_gl_load_sysmem() in texture3d_load_location().
wined3d: Pass a wined3d_context_gl structure to draw_indirect().
wined3d: Pass a wined3d_context_gl structure to context_unload_vertex_data().
wined3d: Pass a wined3d_context_gl structure to context_load_vertex_data().
wined3d: Pass a wined3d_context_gl structure to context_unload_numbered_array().
wined3d: Use texture2d_load_texture() in texture1d_load_location().
wined3d: Do not acquire/release the focus window in wined3d_swapchain_set_fullscreen().
wined3d: Pass a wined3d_context_gl structure to context_unload_numbered_arrays().
wined3d: Pass a wined3d_context_gl structure to context_draw_shaded_quad().
wined3d: Pass a wined3d_context_gl structure to context_draw_textured_quad().
wined3d: Pass a wined3d_context_gl structure to destroy_dummy_textures().
wined3d: Use wined3d_texture_gl_load_texture() in texture3d_load_location().
d3drm: Introduce a d3drm_matrix structure.
wined3d: Pass a wined3d_context_gl structure to shader_arb_ps_local_constants().
wined3d: Pass a wined3d_context_gl structure to shader_arb_vs_local_constants().
wined3d: Pass a wined3d_context_gl structure to shader_arb_load_constants_internal().
wined3d: Pass a wined3d_context_gl structure to find_arb_pshader().
wined3d: Merge the wined3d_texture_gl texture ops implementations.
Huw D. M. Davies (2):
kernel32/tests: Add a test for GetTickCount().
user32: Don't access a potentially uninitialized padded_border.
Jacek Caban (1):
services: Support delayed autostart services.
Jarkko Korpi (1):
wininet: Silence no support on this platform message.
Jeff Smith (6):
d3drm: Implement the BEFORE and AFTER frame transform combine types.
d3drm: Validate that the transformation is affine in d3drm_frame3_AddTransform().
d3drm: Implement d3drm_frame3_AddTranslation().
d3drm: Implement d3drm_frame3_AddScale().
d3drm: Implement d3drm_frame3_AddRotation().
d3drm: Implement d3drm_frame3_Transform().
Martin Liska (1):
include: Avoid compound literals for WCHAR strings.
Michael Müller (1):
ddraw: Properly set DDCAPS.ddsOldCaps in ddraw7_GetCaps().
Michael Stefaniuc (1):
winebuild: Use the now available ARRAY_SIZE() macro.
Nikolay Sivov (6):
mfplat: Add MFRegisterLocalByteStreamHandler().
mfplat: Give priority to local scheme handlers.
mfplat: Give priority to local bytestream handlers.
mf: Add support for IMFSampleGrabberSinkCallback2.
mf: Forward grabber clock state change calls to user callback.
mf/tests: Add sample processing tests for Video Processor.
Paul Gofman (11):
ddraw: Factor out viewport_alloc_active_light_index() function.
ddraw: Do not limit inactive light count in viewport.
ddraw: Always activate the light when requested replacing some previous light.
ddraw/tests: Test adding a number of lights to viewport in ddraw4.
ddraw: Increase maximum active light count.
wined3d: Use 3 component norm for 'nrm' opcode in GLSL backend.
wined3d: Do not zero 'w' with zero norm for 'nrm' opcode in GLSL backend.
d3d9/tests: Add test for 'nrm' opcode.
ddraw: Store _TEXTUREMAPBLEND state instead of guessing it from wined3d states.
ddraw: Turn off legacy texture blending in d3d_device3_SetTextureStageState().
ddraw: Do not modify any states for _TEXTUREMAPBLEND if application sets the same value.
Piotr Caban (1):
libwine: Fix NORM_IGNORESYMBOLS flag handling in compare_weights.
Richard Pospesel (1):
widl: Use FC_CHAR rather than FC_BYTE for boolean typedef to match midl.exe output.
Roberto Pungartnik (2):
po: Update Brazilian Portuguese translation.
po: Update Brazilian Portuguese translation.
Rémi Bernon (10):
ntdll/tests: Move NtAllocateVirtualMemory tests that were in kernel32.
ntdll/tests: Add NtAllocateVirtualMemory tests for zero_bits behavior.
ntdll: Clarify NtAllocateVirtualMemory zero_bits parameter semantics.
ntdll/tests: Cleanup NtAllocateVirtualMemory related tests.
kernel32/tests: Fix some NtMapViewOfSection tests expectations, and add results for w1064v1809.
ntdll/tests: Move NtMapViewOfSection tests from kernel32/tests.
ntdll/tests: Add more NtMapViewOfSection tests with zero_bits.
ntdll: Clarify NtMapViewOfSection zero_bits parameter semantics.
ntdll: Pass the alignment parameter down to map_view instead of mask.
hid: Fill the HIDD_ATTRIBUTES Size member, and add a test for expected size.
Tim Schumacher (1):
wininet: Hide GetCookie flag fixme for HTTPONLY cookies.
Vincent Povirk (1):
mscoree: Update Wine Mono to 4.9.0.
Zebediah Figura (66):
ucrtbase/tests: Add some tests for __stdio_common_vsscanf().
ucrtbase: Write the %hh prefix as a single char.
ntdll: Remove no longer used interlocked_dec_if_nonzero().
ntdll: Add a futex-based implementation of SRW locks.
ntdll: Try to avoid an unnecessary syscall in fast_release_srw_exclusive().
qedit/samplegrabber: Use BaseFilterImpl_QueryVendorInfo().
quartz/filtergraph: Use the type info cache for IBasicAudio.
quartz/filtergraph: Use the type info cache for IVideoWindow.
quartz/filtergraph: Use the type info cache for IBasicVideo.
strmbase: Don't increment the pin reference count in filter_get_pin().
strmbase: Add default implementations of IUnknown methods for IBasicVideo.
quartz: Use strmbase IUnknown methods for IBasicVideo.
strmbase: Get rid of the "lpVtbl" parameter to BaseControlVideo_Init().
strmbase: Add default implementations of IUnknown methods for IVideoWindow.
quartz: Use strmbase IUnknown methods for IVideoWindow.
strmbase: Factor out strmbase_pin_init().
strmbase: Return void from InputPin_Init().
strmbase: Factor out strmbase_sink_cleanup().
qcap/avico: Store the sink pin inline in the AviCompressor structure.
qcap/smartteefilter: Store the sink pin inline in the AviCompressor structure.
widl: Mark unions, user types, and ranges as IsSimpleRef.
widl: Remove the unused "indent" parameter from write_type_tfs().
qcap/avimux: Use strmbase_sink_init() and heap_alloc_zero() in create_input_pin().
strmbase: Return void from OutputPin_Init().
strmbase: Factor out strmbase_source_cleanup().
qcap/avico: Store the source pin inline in the AviCompressor structure.
qcap/smartteefilter: Store the capture source pin inline in the SmartTeeFilter structure.
qcap/smartteefilter: Store the preview source pin inline in the SmartTeeFilter structure.
dmusic/tests: Add some tests for the master clock.
dmusic: Store the master clock as an IReferenceClock pointer.
dmusic: Implement the master clock object.
qcap/avimux: Store the source pin and AVI data inline in the AviMux structure.
quartz/filesource: Share pin and filter reference counts.
quartz/parser: Share sink pin and filter reference counts.
quartz/parser: Share source pin and filter reference counts.
strmbase/transform: Share pin and filter reference counts.
ntdll: Implement RtlCreateUserStack() and RtlFreeUserStack().
kernel32: Use RtlCreateUserStack().
ntdll/tests: Add tests for RtlCreateUserStack().
strmbase/renderer: Share pin and filter reference counts.
qcap/vfwcapture: Share pin and filter reference counts.
winegstreamer: Share sink pin and filter reference counts.
winegstreamer: Share source pin and filter reference counts.
wineqtdecoder: Share sink pin and filter reference counts.
winex11: Remove redundant calls to update_key_state().
winex11: Update the state of all keys on KeymapNotify.
wineqtdecoder/qtsplitter: Share source pin and filter reference counts.
strmbase: Share pin and filter reference counts in base pin reference counting methods.
strmbase: Use base pin reference counting methods.
quartz: Use strmbase pin reference counting methods.
qcap: Use strmbase pin reference counting methods.
winegstreamer: Use strmbase pin reference counting methods.
wineqtdecoder: Use strmbase pin reference counting methods.
quartz/filesource: Store the source pin inline in the AsyncReader structure.
quartz/filesource: Cancel I/O from all threads in IAsyncReader::BeginFlush().
quartz/filesource: Add a test for cross-thread asynchronous read requests.
quartz/systemclock: Create the advise thread after the events it depends on.
strmbase/transform: Store the pins inline in the TransformFilter structure.
strmbase/renderer: Remove some duplicated locks.
strmbase/renderer: Store the sink pin inline in the BaseRenderer structure.
quartz/filtergraph: Add tests for asynchronous state change.
d3d11/tests: Test creating and rendering to a swapchain on the desktop window.
d3d10core/tests: Test creating and rendering to a swapchain on the desktop window.
d3d9/tests: Test creating and rendering to a swapchain on the desktop window.
d3d8/tests: Test creating and rendering to a swapchain on the desktop window.
wined3d: Use a backup device context for swapchains created on the desktop window.
Zhiyi Zhang (11):
winex11.drv: Add Xinerama display device handler.
winex11.drv: Initialize GPU registry data.
winex11.drv: Initialize adapter registry data.
winex11.drv: Initialize monitor registry data.
winex11.drv: Handle display device changes.
user32: Improve EnumDisplayDevicesW stub.
user32: Implement EnumDisplayDevicesW().
dxgi/tests: Add window association tests.
dxgi: Implement dxgi_factory_GetWindowAssociation().
dxgi: Retrieve swapchains' fullscreen state from wined3d.
dxgi: Implement Alt+Enter handling.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.10 is now available.
What's new in this release (see below for details):
- Many DLLs are built as PE files by default.
- More support for installing Plug and Play drivers.
- Clock synchronization in Media Foundation.
- Volume adjustment in audio drivers.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.10.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.10.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.10 (total 44):
11637 Midtown Madness menus flicker
30891 Typing of the Dead: page fault in wined3d_surface_blt
34021 IE8 crashes badly when navigating to www.microsoft.com
34538 Athena's Charm Table search 0.35b crashes with Wine-Mono
35999 Need for speed carbon DEMO: can't control the car with arrow keys
37279 builtin IE "document.location.pathname" returns without leading slash
38182 King of Dragon Pass: can't change audio volume level
38396 msiexec crash with winetricks running LEGOHarryPotter
40373 Double free in RPCRT4
40768 Midtown Madness does not open: "There was an undetectable problem in loading the specified device driver"
41606 Wrong processing of WM_DROPFILES message, received only by the top level windows.
41835 LG DVD firmware updater for GH22NS30 ver. 2.0 crashes on startup
43159 The old game Knight Of Knight has black textures
43846 Prototype 1 and 2 no audio
44979 Extra system title bar should not be added around Steam
45649 chromium 32-bit sandbox hangs forever inside server_queue_process_apc
46090 TopoEdit tool from Windows 10 SDK (10.0.17763.x) needs 'ext-ms-win-shell-comctl32-init-l1-1-0.dll' stub dll
46450 Volume Control doesn't work in Firefox videos (and browsers based on it) with PulseAudio driver
46558 win64 dotnet Space Engineers fractal noise generation broken
46564 Anno 1800 closed beta crashes at launch
46723 Unreal Engine based games stuck at launch and show a black screen instead of playing video (Kholat, What Remains of Edith Finch, Draugen, Obduction)
46809 Multiple applications fail to install or crash on startup: dll dependencies from private path (LoadLibraryEx LOAD_WITH_ALTERED_SEARCH_PATH)(PS4 Remote Play 2.x. DVDVideoSoft Free YouTube to MP3 Converter 4.x)
46824 Orion Prelude (Steam) crashes with wine-mono
46942 [REGRESSION] 4.0 introduce lag / performance drop in Lara Croft the guardian of light
46982 MPGUI crashes on unimplemented function msvcp100.dll.?_Init_locks_ctor@_Init_locks@std@@CAXPAV12@@Z
47069 Final Fantasy XIV Launcher renders black (needs better get_Busy implementation)
47137 Multiple applications from Line 6 (Yamaha Guitar Group) crash on startup (HX Edit v2.71, POD Farm 2.5)(Wine builtin 'gdiplus.dll' missing version resource)
47143 Trackbar thumb is too small in Metatrader 4 expert advisor
47201 Visual Studio 2015 crashes on unimplemented KERNEL32.dll.WerUnregisterRuntimeExceptionModule
47223 D-pad input from gamepad is no longer registered in some games (regression)
47235 Steep (Uplay) crashes on unimplemented function ncrypt.dll.BCryptSecretAgreement
47236 Adobe InDesign CC 2017: crashes at startup: unimplemented function msvcp140.dll._Strxfrm
47250 Battle.net crashes with msvcp error when compiled with --without-mingw
47255 Multiple programs crash inside wined3d (Xenonauts, Overwatch, Aura 2: The Sacred Rings, Art of Murder: Cards of Destiny , LINE)
47258 The Guild II fails to start with built-in quartz
47262 compile error: ‘for’ loop initial declarations are only allowed in C99 mode
47265 Multiple Blizzard games (Diablo III, Heroes of the Storm, Overwatch, Starcraft, StarCraft II, World of Warcraft) crash immediately on launch
47274 Windows XP's cmd.exe doesn't execute batch files anymore
47280 TopoEdit tool from Windows 10 SDK (10.0.17763.x) crashes on unimplemented functions 'ext-ms-win-ntuser-windowclass-l1-1-0.dll.{Get,Set}WindowLongPtrW'
47285 widl generates incorrect format strings when using -Oicf flag
47286 VSS Test Writer Tool 'vswriter.exe' from Windows 10 SDK (10.0.17763.x) crashes on unimplemented function api-ms-win-security-lsalookup-l1-1-0.dll.LookupAccountSidLocalW
47289 Obduction: fails to render menu and crashes at launch
47290 Obduction: fails to render menu: now freezes instead of crashing
47311 Heap debugging (WINEDEBUG=+heap) broken since wine-4.6-132-g948fc85186
----------------------------------------------------------------
Changes since 4.9:
Akihiro Sagawa (7):
advapi32/tests: Add more RegLoadMUIString tests.
advapi32: RegLoadMUIString doesn't accept a string without '@' prefix.
advapi32: Expand environment variables even if REG_SZ type is used.
advapi32: Fix the error code on parse failure.
advapi32: Fix the error code on load failure.
advapi32: Cache result of LoadString.
quartz: Ensure error text is terminated with NUL character.
Alexandre Julliard (160):
acledit: Build with msvcrt.
aclui: Build with msvcrt.
activeds: Build with msvcrt.
actxprxy: Build with msvcrt.
adsldp: Build with msvcrt.
adsldpc: Build with msvcrt.
advpack: Build with msvcrt.
amsi: Build with msvcrt.
apphelp: Build with msvcrt.
atl: Build with msvcrt.
atlthunk: Build with msvcrt.
makefiles: Build fonts in quiet mode.
makefiles: Default to ms_abi for 64-bit msvcrt builds.
atmlib: Build with msvcrt.
authz: Build with msvcrt.
avifil32: Build with msvcrt.
avifile: Build with msvcrt.
avrt: Build with msvcrt.
bluetoothapis: Build with msvcrt.
browseui: Build with msvcrt.
bthprops.cpl: Build with msvcrt.
cards: Build with msvcrt.
cdosys: Build with msvcrt.
clusapi: Build with msvcrt.
combase: Build with msvcrt.
comcat: Build with msvcrt.
include/msvcrt: Add snprintf() compatibility macro.
include/msvcrt: Define more math functions.
comctl32: Build with msvcrt.
comdlg32: Build with msvcrt.
commdlg: Build with msvcrt.
compobj: Build with msvcrt.
compstui: Build with msvcrt.
comsvcs: Build with msvcrt.
connect: Build with msvcrt.
credui: Build with msvcrt.
cryptdlg: Build with msvcrt.
cryptdll: Build with msvcrt.
cryptext: Build with msvcrt.
cryptnet: Build with msvcrt.
cryptui: Build with msvcrt.
ctl3d: Build with msvcrt.
ctl3d32: Build with msvcrt.
ctl3dv2: Build with msvcrt.
include/msvcrt: Add INFINITY and NAN definitions.
include/msvcrt: Use setjmpex() instead of setjmp() on 64-bit.
include: Make the Wine exception handlers cdecl.
winecrt0: Make the main() and wmain() entry points cdecl.
d2d1: Build with msvcrt.
d3d10: Build with msvcrt.
d3d10_1: Build with msvcrt.
d3d10core: Build with msvcrt.
d3dim: Build with msvcrt.
d3drm: Build with msvcrt.
d3dx10: Build with msvcrt.
d3dx11: Build with msvcrt.
d3dx9: Build with msvcrt.
d3dxof: Build with msvcrt.
davclnt: Build with msvcrt.
dbgeng: Build with msvcrt.
msvcrt/tests: Don't use win_skip for functions that are not exported on 64-bit.
msi/tests: Don't skip a 64-bit test on Wine.
mf/tests: Initialize variable to avoid spurious test failure.
oleacc/tests: Preserve the full 64 bits of the LRESULT value.
kernel32: Simplify K32GetPerformanceInfo().
dciman32: Build with msvcrt.
ddeml: Build with msvcrt.
ddrawex: Build with msvcrt.
devenum: Build with msvcrt.
dhcpcsvc: Build with msvcrt.
dhtmled.ocx: Build with msvcrt.
difxapi: Build with msvcrt.
dispdib: Build with msvcrt.
dispex: Build with msvcrt.
display.drv: Build with msvcrt.
dmband: Build with msvcrt.
dmcompos: Build with msvcrt.
dmime: Build with msvcrt.
ntdll: Fix off-by-one allocation error.
dmloader: Build with msvcrt.
dmscript: Build with msvcrt.
dmstyle: Build with msvcrt.
dmsynth: Build with msvcrt.
dmusic: Build with msvcrt.
dmusic32: Build with msvcrt.
dplayx: Build with msvcrt.
dpnet: Build with msvcrt.
dpnhpast: Build with msvcrt.
dpvoice: Build with msvcrt.
dpwsockx: Build with msvcrt.
drmclien: Build with msvcrt.
dsound: Build with msvcrt.
dsquery: Build with msvcrt.
dssenh: Build with msvcrt.
dswave: Build with msvcrt.
dwmapi: Build with msvcrt.
dx8vb: Build with msvcrt.
dxdiagn: Build with msvcrt.
dxva2: Build with msvcrt.
esent: Build with msvcrt.
explorerframe: Build with msvcrt.
faultrep: Build with msvcrt.
feclient: Build with msvcrt.
fltlib: Build with msvcrt.
fltmgr.sys: Build with msvcrt.
fntcache: Build with msvcrt.
fontsub: Build with msvcrt.
fusion: Build with msvcrt.
fwpuclnt: Build with msvcrt.
configure: Use pkg-config to check for zlib.
winebuild: Don't even try to resolve imports for PE builds.
gameux: Build with msvcrt.
gdiplus: Build with msvcrt.
gpkcsp: Build with msvcrt.
hal: Build with msvcrt.
hhctrl.ocx: Build with msvcrt.
hid: Build with msvcrt.
hidclass.sys: Build with msvcrt.
hlink: Build with msvcrt.
hnetcfg: Build with msvcrt.
httpapi: Build with msvcrt.
iccvid: Build with msvcrt.
ieframe: Build with msvcrt.
ieproxy: Build with msvcrt.
ifsmgr.vxd: Build with msvcrt.
imaadp32.acm: Build with msvcrt.
ntdll: Add a helper function to find a module from its dlopen handle.
ntdll: Add a helper function to load a dll from a .so file.
ntdll: Load the file we got when we can't locate the corresponding builtin.
kernel32: Fix handling of LOAD_WITH_ALTERED_SEARCH_PATH when other search flags are specified.
imagehlp: Build with msvcrt.
imm32: Build with msvcrt.
inetcomm: Build with msvcrt.
inetcpl: Build with msvcrt.
inetmib1: Build with msvcrt.
infosoft: Build with msvcrt.
initpki: Build with msvcrt.
inkobj: Build with msvcrt.
inseng: Build with msvcrt.
itircl: Build with msvcrt.
itss: Build with msvcrt.
joy.cpl: Build with msvcrt.
jscript: Build with msvcrt.
jsproxy: Build with Windows sockets.
jsproxy: Build with msvcrt.
keyboard.drv: Build with msvcrt.
ksecdd.sys: Build with msvcrt.
ksuser: Build with msvcrt.
ktmw32: Build with msvcrt.
loadperf: Build with msvcrt.
localspl: Build with msvcrt.
localui: Build with msvcrt.
lzexpand: Build with msvcrt.
mapi32: Build with msvcrt.
mapistub: Build with msvcrt.
mciavi32: Build with msvcrt.
mcicda: Build with msvcrt.
mciqtz32: Build with msvcrt.
mciseq: Build with msvcrt.
mciwave: Build with msvcrt.
Alexey Prokhin (5):
dinput: Return fake DIPROP_GUIDANDPATH property for linux joysticks.
dinput: Return fake DIPROP_GUIDANDPATH property for linux input joysticks.
dinput: Return fake DIPROP_GUIDANDPATH property for OSX joysticks.
dinput/tests: Remove todo from DIPROP_GUIDANDPATH test.
dinput/tests: Check path format of DIPROP_GUIDANDPATH property.
Alistair Leslie-Hughes (11):
dinput/tests: Remove unrequired if (Coverity).
amstream: Leave critical section on success (Coverity).
bcrypt: Add BCryptDestroySecret/BCryptSecretAgreement stubs.
bcrypt: Add BCryptDeriveKey stub.
include: Add missing SYMOPT_* defines.
dbghelp: Support S_HEAPALLOCSITE entry.
dinput: Return correct value in IDirectInputDevice2 Release.
dinput: Trace reference count in a consistent way.
dbghelp: Add SymGetExtendedOption/SymSetExtendedOption stubs.
dbghelp: SymSet/GetExtendedOption support a WINE only option.
dbghelp: Use internal flag for loading native files.
Andrey Gusev (8):
ext-ms-win-shell-comctl32-init-l1-1-0: Add dll.
ext-ms-win-shell-comdlg32-l1-1-0: Add dll.
ext-ms-win-shell-shell32-l1-2-0: Add dll.
ext-ms-win-ntuser-windowclass-l1-1-0: Update spec file.
webservices: Fix misplaced parenthesis.
oledb32: Remove duplicate WINAPI.
advapi32: Implement LookupAccountSidLocalA/W.
quartz: Avoid cast for VMR9_ImagePresenter_QueryInterface.
André Hentschel (7):
setupapi/tests: Don't test functions directly when reporting GetLastError().
comctl32/tests: Don't test functions directly when reporting GetLastError().
ntoskrnl.exe/tests: Don't test functions directly when reporting GetLastError().
shcore: Fix IUnknown_AtomicRelease spec file entry.
shlwapi: Fix some spec file entries.
rpcrt4: Fix NdrServerContextMarshall spec file entry.
mpr: Fix some spec file entries.
Aric Stewart (3):
winemac.drv: Use NI_COMPOSITIONSTR/CPS_CANCEL when composition string is empty.
mshtml: Handle NULL aNode in nsContextMenuListener_OnShowContextMenu.
dinput: Handle case where IOHIDDeviceGetValue fails.
Daniel Lehman (1):
advapi32: Implement EnumDynamicTimeZoneInformation.
Derek Lesho (1):
ntoskrnl.exe: Implement KeAreApcsDisabled.
Dmitry Timoshkov (6):
ieframe: Prefer built-in version.
include/mshtml.idl: Add more interface declarations.
mshtml: Add IMarkupServices interface stub.
mshtml: Add IMarkupContainer interface stub.
mshtml: Add IDisplayServices interface stub.
mshtml.idl: Add forward declaration for IHTMLWindow flavours.
Gabriel Ivăncescu (5):
winepulse.drv: Adjust the buffer volume before sending it to PulseAudio.
winepulse.drv: Add support for A-law and u-law formats with volume changes.
winealsa.drv: Adjust the buffer volume before sending it to ALSA.
comctl32/listbox: Don't try to paint non-visible items for multi-column listboxes.
user32/listbox: Don't try to paint non-visible items for multi-column listboxes.
Hans Leidekker (1):
advapi32: Improve the SaferComputeTokenFromLevel stub.
Henri Verbeet (25):
wined3d: Pass a wined3d_context_gl structure to context_generate_rt_mask_no_fbo().
wined3d: Pass a wined3d_context_gl strcuture to find_draw_buffers_mask().
wined3d: Pass a wined3d_context_gl structure to context_activate().
wined3d: Move the WGL fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Properly check whether a context was created in swapchain_init().
wined3d: Pass a wined3d_context_gl structure to arbfp_blitter_upload_palette().
wined3d: Pass a wined3d_context_gl structure to arbfp_blit_set().
wined3d: Pass a wined3d_context_gl structure to create_dummy_textures().
wined3d: Pass a wined3d_context_gl structure to glsl_blitter_upload_palette().
wined3d: Use wined3d_texture_get_level_box() in wined3d_device_copy_resource().
wined3d: Pass a wined3d_context_gl structure to shader_resource_view_gl_bind_and_dirtify().
wined3d: Pass a wined3d_context_gl structure to context_active_texture().
wined3d: Move the "active_texture" field from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the blit dimension fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Make the adapter responsible for acquiring and releasing contexts.
wined3d: Move the material tracking fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the "needs_set" field from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the "valid" field from struct wined3d_context to struct wined3d_context_gl.
wined3d: Pass a wined3d_context_gl structure to context_reacquire().
wined3d: Create a blitter for the Vulkan adapter.
wined3d: Move the "tid" field from struct wined3d_context to struct wined3d_context_gl.
wined3d: Pass a wined3d_context_gl structure to context_bind_bo().
wined3d: Pass a wined3d_context_gl structure to context_bind_dummy_textures().
wined3d: Pass a wined3d_context_gl structure to context_copy_bo_address().
wined3d: Upload texture data through the texture ops in wined3d_cs_exec_blt_sub_resource().
Huw D. M. Davies (2):
msctfp: Define the correct PROXY_CLSID.
kernel32: Move the implementation of GetTickCount() to kernel32.
Isira Seneviratne (2):
po: Update Sinhala translation.
po: Update Sinhala translation.
Jacek Caban (18):
ntoskrnl.exe/tests: Always test DeviceIoControl result.
ntoskrnl.exe: Pass context as a structure to IRP dispatchers.
ntoskrnl.exe: Reuse IRP input buffer if it wasn't used.
ntoskrnl.exe: Set irp context handle in dispatch_irp.
wininet: Fix name and data allocation failure handling in alloc_cookie.
server: Use stored current kernel call to interpret IRP dispatch status.
server: Store IRP client pointer on server side.
server: Remove IRP from device queue before terminating async.
server: Notify kernel when IRP is terminated by server.
ntoskrnl.exe: Cancel IRPs terminated by server.
mshtml/tests: Fix tests on some recent IE versions.
mshtml/tests: Include leading path slash in location test array.
mshtml: Rewrite IHTMLLocation::get_pathname on top of IUri.
ieframe: Keep Busy property in sync with download state.
server: Use current thread for IRP calls without associated thread.
ntoskrnl.exe: Dispatch server IRPs in critical region.
server: Associate create and close IRPs with current thread.
ntoskrnl.exe: Set IRP caller thread.
Jactry Zeng (2):
riched20: Implement ITextRange::SetRange.
msscript: Return S_OK in IScriptControl::put_SitehWnd().
Jeff Smith (1):
d3drm: CreateDevice is unimplemented on Windows.
John Found (1):
winex11.drv: Allow the drop target to be a transparent window.
Józef Kucia (2):
ucrtbase: Implement _o__stricmp().
dxgi: Improve tracing in dxgi_adapter_QueryVideoMemoryInfo().
Louis Lenders (1):
gdiplus: Add version resource.
Lukáš Krejčí (1):
mciqtz32: Don't overflow seek times during multiplication.
Manuel Edelmann (1):
kernel32: Added stub for Set/GetProcessPreferredUILanguages.
Marcus Meissner (1):
qcap: Release filter only if allocated.
Michael Stefaniuc (10):
ntoskrnl: Add a macro to declare a static CRITICAL_SECTION.
ole32/tests: Avoid a cast from COM object to interface.
shell32: Don't cast from COM object to interface.
winemac.drv: Avoid casts from COM objects to interfaces.
mshtml: Use the standard field name for an inner IUnknown.
urlmon: Use the standard field name for an inner IUnknown.
mshtml: Print the debug strings and not the pointers to them.
dbghelp: Fix the spelling of a parameter.
winedbg: Fix the spelling of a comment.
winedump: Fix the spelling of a string.
Mingcong Bai (1):
po: Update Simplified Chinese translation.
Nikolay Sivov (23):
mf: Implement type handler methods for sample grabber stream.
kernelbase: Add remaining registry helpers from shlwapi.
mf: Implement presentation clock methods for sample grabber.
mf: Detach sink stream on sample grabber shutdown.
mf: Maintain sample grabber sink state.
mfplat: Add sample grabber attributes to debug tracing helper.
mf: Implement ProcessSample() for unclocked mode.
mf: Partially implement Shutdown() for media session.
mf: Raise event on session close.
mf: Get presentation clock flags from current time source.
mf: Return presentation clock properties.
mf: Forward GetTime() calls to time source.
mf: Forward GetCorrelatedTime() to time source.
comctl32/trackbar: Do not consider window size when initializing fixed length thumb.
mf: Add rate support for presentation clock.
mf/tests: Add some tests for video processor MFT.
mf/tests: Add some more Video Processor tests.
mf: Implement clock-synchronized mode for ProcessSample() in sample grabber sink.
mf: Raise sample request events for sample grabber stream.
mf: Add support for MEStreamSinkMarker event for sample grabber.
mf: Implement stream flushing for sample grabber.
mfplat: Make sure async event delivery is triggered with EndGetEvent().
mfplat: Add MFRegisterLocalSchemeHandler().
Owen Rudge (2):
oledb32: Implement support for converting to DBTYPE_I1.
oledb32/tests: Add conversion tests to DBTYPE_I1.
Paul Gofman (8):
wined3d: Scale transformed position in compute_light().
ddraw: Support D3DVOP_LIGHT in d3d_vertex_buffer7_ProcessVertices().
wined3d: Fix specular alpha value in process_vertices_stride().
ddraw/tests: Test lighting with _ProcessVertices() for ddraw4.
ddraw/tests: Test lighting with _ProcessVertices() for ddraw7.
wined3d: Compute fog factor in process_vertices_strided().
ddraw/tests: Add test for fog calculation in _ProcessVertices for ddraw7.
ddraw/tests: Fix test failures in test_lighting() on some of WARP drivers for ddraw7.
Piotr Caban (6):
ntoskrnl.exe: Add IoDetachDevice implementation.
ntoskrnl.exe: Fix IoAttachDeviceToDeviceStack implementation.
services: Don't double release process in service_start.
msvcp: Add _Strxfrm implementation.
msvcp: Fix _Lockit::_Lockit_ctor and _Lockit::_Lockit_dtor implementation.
msvcp: Add _Init_locks class implementation.
Roberto Pungartnik (1):
po: Update Brazilian Portuguese translation.
Rémi Bernon (3):
xinput: Fix rumble amount value rounding.
commdlg: Allocate memory using VirtualAlloc instead of NtAllocateVirtualMemory.
kernel32/tests: Fix NtAllocateVirtualMemory tests results on w1064v1809.
Stefan Dösinger (1):
include: Remove backslashes from D3D12_COLOR_WRITE_ENABLE_ALL.
Sven Baars (14):
kernel32/tests: Open and close the right file handle (Coverity).
d3dx9: Release the full parameter name when a parameter is released (Valgrind).
d3dx9: Always free samplers (Valgrind).
shell32: Fix a use after free (Coverity).
ntdll/tests: Fix a string leak (Valgrind).
shell32: Fix an item identifier list leak (Valgrind).
shell32/tests: Fix a memory leak (Valgrind).
propsys/tests: Fix the PropVariantToBuffer tests.
propsys/tests: Fix some ok() messages.
user32: Fix some leaks on error path (Coverity).
msrle32: Fix a memory leak (Valgrind).
msvfw32: Fix copying of a BITMAPINFO structure (Valgrind).
mmdevapi/tests: Use PropVariantClear after calling IPropertyStore_GetValue (Valgrind).
ole32: Add VT_ARRAY support to PropVariant.
Tim Schumacher (3):
dbgstr: Initialize hex list using an explicit char array.
dinput: Check for wheel axes/buttons when finding joysticks.
dinput/linuxinput: Remap wheel axes to X, Y, and Z.
Zebediah Figura (87):
setupapi: Add a basic implementation of SetupDiInstallDevice().
setupapi: Copy the INF file to C:/windows/inf/ and record it in the driver key.
setupapi: Process the .HW subsection in SetupDiInstallDevice().
setupapi: Process the .Services subsection in SetupDiInstallDevice().
quartz/vmr9: Implement IVMRWindowlessControl::SetVideoClippingWindow().
strmbase/transform: Use BaseFilterImpl_Release().
qcap/avico: Use BaseFilterImpl_Release().
winegstreamer/gstdemux: Use BaseFilterImpl_Release().
wineqtdecoder/qtsplitter: Use BaseFilterImpl_Release().
setupapi/tests: Test calling SetupDiEnumDeviceInterfaces() with a NULL device.
setupapi/tests: Add some tests for SetupDiGetClassDevs().
setupapi: Treat DIGCF_ALLCLASSES as if a NULL device class was given.
setupapi/tests: Add some tests for DIGCF_DEVICEINTERFACE.
setupapi: Set the list device class to GUID_NULL when enumerating interfaces.
setupapi/tests: Add some tests for SetupDiGetDeviceInfoListDetail().
setupapi: Avoid adding duplicate devices in SetupDiGetClassDevs().
strmbase/renderer: Add a destructor callback.
quartz/dsoundrender: Use BaseFilterImpl_Release().
quartz/parser: Get rid of the "fnCleanup" member of ParserImpl.
quartz/parser: Pass a BaseFilterFuncTable to Parser_Create().
quartz/avisplit: Use BaseFilterImpl_Release().
quartz/mpegsplit: Use BaseFilterImpl_Release().
quartz/waveparser: Use BaseFilterImpl_Release().
quartz: Use strmbase filter methods directly.
qcap/avimux: Use BaseFilterImpl_Release().
qcap/avimux: Use strmbase filter methods directly.
widl: Use IsSimpleRef only for explicitly declared arrays.
widl: Also allocate top-level pointers to arrays as on-stack in -Oicf mode.
widl: Remove an unused variable.
widl: Write array pointers as FC_OP pointers if appropriate.
widl: Non-top-level conformant arrays are always [ref] by default.
include: Add newdev.h.
newdev: Correct definition of DiInstallDriver().
newdev: Implement UpdateDriverForPlugAndPlayDevices().
quartz/tests: Add more tests for aggregation.
qcap/audiorecord: Fix aggregation support.
qcap/tests: Add more tests for aggregation.
strmbase: Reimplement BaseFilterImpl_QueryInterface() using a callback.
quartz/filesource: Use BaseFilterImpl_QueryInterface().
winebus.sys: Use the winebus driver to create all devices.
winebus.sys: Move udev configuration values to the winebus service key.
winebus.sys: Avoid IoCreateDriver().
quartz/mpegsplit: Use BaseFilterImpl_QueryInterface().
qcap/avimux: Use BaseFilterImpl_QueryInterface().
winegstreamer/gstdemux: Use BaseFilterImpl_QueryInterface().
strmbase/renderer: Add a QueryInterface() callback.
quartz/dsoundrender: Use BaseFilterImpl_QueryInterface().
ntoskrnl.exe: Move PNP code to a separate file.
qcap/avico: Use BaseFilterImpl_QueryInterface().
strmbase: Support aggregation in the base filter.
quartz/videorenderer: Use strmbase filter aggregation support.
quartz/vmr9: Use strmbase filter aggregation support.
qcap/audiorecord: Use strmbase filter aggregation support.
ntoskrnl.exe: Fix handling of reference string in IoRegisterDeviceInterface().
winebus.sys: Make the device and instance IDs consistent.
winebus.sys: Just report the bus ID when enumerating compatible IDs.
qcap/smartteefilter: Use strmbase filter aggregation support.
qcap/vfwcapture: Use strmbase filter aggregation support.
qedit/nullrenderer: Use strmbase filter aggregation support.
qedit/samplegrabber: Use strmbase filter aggregation support.
evr: Return E_NOINTERFACE when aggregation is requested with an interface other than IUnknown.
evr: Use strmbase filter aggregation support.
ntoskrnl.exe: Free device IDs from pool.
winebus.sys: Allocate IRP return buffers from paged pool.
hidclass.sys: Allocate IRP return buffers from paged pool.
ntoskrnl.exe: Use SetupDiOpenDeviceInfo().
ntoskrnl.exe: Correctly handle instance IDs.
strmbase: Get rid of BaseRendererImpl_QueryInterface().
strmbase: Support aggregation in the base transform filter.
qedit/samplegrabber: Use BaseFilterImpl_FindPin().
qcap/avico: Use BaseFilterImpl_QueryFilterInfo().
qcap/avico: Use BaseFilterImpl_QueryVendorInfo().
hidclass.sys: Use PDRIVER_ADD_DEVICE.
hidclass.sys: Get rid of unused minidriver parameter to HID_DeleteDevice().
ntoskrnl.exe: Dispatch user IRPs to the top of the device stack.
ntoskrnl.exe: Send PnP IRPs to the top of the device stack.
ntoskrnl.exe: Implement automatically generated device names.
strmbase: Add a cached implementation of IDispatch and use it in IBasicVideo.
strmbase: Use the type info cache for IVideoWindow.
strmbase: Use the type info cache for IMediaPosition.
quartz/dsoundrender: Use the type info cache for IBasicAudio.
strmbase: Get rid of IBasicAudio implementation.
strmbase: Get rid of base IDispatch implementation.
winehid.inf: Add new INF file and copy it to the INF directory.
ntoskrnl.exe: Use INF files to locate function drivers.
wine.inf: Remove no longer used CriticalDeviceDatabase entries.
wine.inf: Remove registration for the winehid service.
Zhiyi Zhang (8):
gdi32/tests: Add D3DKMTCheckOcclusion tests.
gdi32: Implement D3DKMTOpenAdapterFromGdiDisplayName.
gdi32: Implement D3DKMTCloseAdapter.
gdi32: Implement D3DKMTCreateDevice.
gdi32: Implement D3DKMTDestroyDevice.
user32/tests: Test restore window messages.
winex11.drv: Activate window when restoring from iconic state.
winemac.drv: Activate window when restoring from iconic state.
Zixing Liu (1):
po: Update Simplified Chinese translation.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.9 is now available.
What's new in this release (see below for details):
- Initial support for installing Plug and Play drivers.
- Support for building 16-bit modules in PE format.
- A lot of code moved to the new KernelBase DLL.
- Various game controller fixes.
- Use higher performance system clocks if available.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.9.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.9.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.9 (total 24):
27185 Futuremark PC Mark 7 (.NET 4.0 app) fails to run with Wine-Mono (mscoree:get_runtime Unrecognized version L"v4.0.20926")
34764 .NET Framework 3.5 SP1 based WPF applications crash on direct access of MIL (Media Integration Layer) to internal bitmap struct/class impl (depends on exact layout)
36764 Rogue Squadron 3D 1.3: Unable to setup controller in-game
36981 Flexera InstallShield 20.x based installers crash in NdrProxyInitialize (Samsung Kies 3, Designspark 6.1, Exelis ENVI 5.x)
41657 CoolQ 5.x reports network error on startup due to msscript:ScriptControl_Eval stub
43738 "MegaTagmension Blanc + Neptune VS Zombies" - Character models don't render
46406 TreePad X Enterprise (single user) 12GB v7.17.0: Garbled Text When Creating or Editing a Node/Tree Name
46655 Adobe Photoshop CC 2015.5: Tabs show completely black
46682 TopoEdit crashes with unimplemented function mf.dll.MFCreateAudioRendererActivate
46849 Vietcong: taking handmap causes crash (ProcessVertices)
47044 64-bit MRAC Anti-Cheat (My.Com Warface) kernel service fails in driver entry point due to missing 'ntoskrnl.exe.{ExAcquireFastMutex,ExReleaseFastMutex}'
47085 Spellforce 3 has misplaced text in main menu
47178 Grand Prix Legends: Service papycpu2 doesn't load
47183 Grand Prix Legends: Only the first two axes are recognized
47185 `winetricks -q msxml3` hangs
47188 Gamepad input no longer works (regression)
47190 Custom protocol handler CF doesn't support aggregation
47209 Gamepad input no longer works again (regression)
47214 Oracle Java runtime 8.211 online installer crashes in WoW64
47219 "winetricks -q ie8" hangs
47222 World of Tanks 1.5.0 launcher 'WotLauncher.exe' (0.3.x) crashes with Wine-Staging 4.7
47226 Incorrect crash information displayed for unimplemented function stubs when 64-bit Wine builtins are cross-compiled in PE format (Mingw-w64, MS x64 calling convention)
47238 Osmos refuses to start with built-in msvcp90
47249 CM_Set_Class_Registry_Property should use PCVOID for buffer parameter
----------------------------------------------------------------
Changes since 4.8:
Akihiro Sagawa (10):
advapi32/tests: Add basic RegLoadMUIString tests.
advapi32: Support the base directory parameter in RegLoadMUIString.
advapi32: Improve parameter sanity checks in RegLoadMUIString.
advapi32: Improve load_string to return error code.
advapi32: Remove useless RegLoadMUIStringA implementation.
advapi32: Return required buffer size in RegLoadMUIString.
kernel32: Add traces to time zone functions.
advapi32/tests: Add RegLoadMUIString tests with REG_MUI_STRING_TRUNCATE flag.
advapi32: Factor out load_mui_string().
advapi32: Implement REG_MUI_STRING_TRUNCATE flag.
Alexandre Julliard (70):
include: Move inline assembly definitions to a new wine/asm.h header.
winecrt0: Store the appropriate longjmp() function in the exception frame.
winecrt0: Reimplement __wine_rtl_unwind() as a proper asm function.
winecrt0: Don't build unneeded code for Windows platforms.
configure: Rename WINE_CROSSTEST to WINE_CROSS_PE.
configure: Don't allow using config.h when cross-compiling.
dinput/tests: Remove duplicate const.
dinput8/tests: Remove duplicate const.
winebus.sys: Avoid ssize_t.
msvcp80: Fix the spec entries of the num_put_char/short/wchar functions.
msvcr: Fix the _NonReentrantPPLLock__Scoped_lock_ctor() spec entries.
msvcr: Fix the event_wait() spec entries.
vssapi: Fix the VSSAPI_CVssWriter_Initialize() spec entry.
include: Define fastcall assembly wrappers globally.
include: Define thiscall assembly wrappers globally.
riched20: Declare thiscall functions as __thiscall.
winebuild: Support Windows-style name mangling for fastcall functions.
include: Use the __fastcall attribute directly for the Windows build.
include: Use the __thiscall attribute directly for the Mingw build.
include: Pass function name directly to the __ASM_STDCALL macro.
winegcc: Use -static-libgcc for the Windows build.
msvcp90: Use the standard -mno-cygwin build flag.
msvcp100: Use the standard -mno-cygwin build flag.
msvcp110: Use the standard -mno-cygwin build flag.
msvcp120: Use the standard -mno-cygwin build flag.
msvcp140: Use the standard -mno-cygwin build flag.
vcruntime140: Use the standard -mno-cygwin build flag.
msvcp60: Use the standard -mno-cygwin build flag.
msvcp70: Use the standard -mno-cygwin build flag.
msvcp71: Use the standard -mno-cygwin build flag.
msvcp80: Use the standard -mno-cygwin build flag.
msvcirt: Use the standard -mno-cygwin build flag.
msvcrt20: Use the standard -mno-cygwin build flag.
msvcrt40: Use the standard -mno-cygwin build flag.
makefiles: Remove the check for msvcr* imports.
msvcrt: Update arguments for some forwarded functions.
cabarc: Remove duplicate defines.
cabinet/tests: Remove duplicate defines.
winebuild: Support relay debugging for PE builtin dlls.
makefiles: Don't depend on cross import library if not necessary.
makefiles: Use -fshort-wchar when building with msvcrt.
winebuild: Don't change %fs and %gs when calling 16-bit register functions.
winebuild: Store wine_ldt_copy pointer in the NE header at load time.
include: Don't allow using wine/library.h with msvcrt.
ntdll: Set LDR_WINE_INTERNAL flag also for PE builtins.
winebuild: Use cdecl calling convention for stub exceptions.
winebuild: Add 16-bit support for PE builds.
makefiles: Support cross-compilation of 16-bit libraries.
setupapi: Extract the 16-bit fake dll from the 32-bit PE one.
winedump: Print fake dll information also for NE files.
msvcrt: Add the static object files to all the msvcrt import libraries.
user.exe: Avoid using libwine functions.
toolhelp: Avoid using libwine functions.
rundll.exe: Build with msvcrt.
winhelp.exe: Build with msvcrt.
winoldap.mod: Build with msvcrt.
make_unicode: Add a wctype table in kernel32 for GetStringTypeW().
make_unicode: Store the C2_* values directly in the kernel32 wctype table.
make_unicode: Use a two-level table for the kernel32 wctype table.
make_unicode: Generate a separate table for BiDi direction type in usp10.
make_unicode: Store the full BiDi direction type in the table.
make_unicode: Avoid including wine/unicode.h in generated files.
dwrite: Use the same BiDi direction table as usp10.
gdi32: Use the same BiDi direction table as usp10.
make_unicode: Remove duplicate DECLSPEC_HIDDEN.
ntdll: Don't pass DLL_WINE_PREATTACH to the TLS callbacks.
setupapi/tests: Avoid size_t in traces.
quartz/tests: Add braces to avoid a clang warning.
ucrtbase: Move the vsnprintf() wrapper function to the ucrtbase import library.
makefiles: Add install dependency for PE builtins.
Alistair Leslie-Hughes (6):
dinput: Allow enumeration of joysticks with DirectX 3.
dinput: Handle setting DIPROP_CALIBRATIONMODE mode in generic implementation.
wineqtdecoder: Fix compile on MacOS.
dinput: Improve returned flags in Mouse GetObjectInfo.
dinput: Support DIDEVICEINSTANCE_DX3 for keyboard GetDeviceInfo.
include: Add helicopter Direct Input defines.
Andreas Maier (2):
jscript: Implement Enumerator object.
jscript/tests: Add more Enumerator tests.
Andrew Eikum (4):
winebus.sys: Fix report length calculation.
winebus.sys: Add missing padding between hatswitch and constant.
hid: Fix usage value mask.
msvcrt: Implement fma and fmaf.
André Hentschel (1):
include: Fix ASM_CFI definition.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Dmitry Timoshkov (11):
windowscodecs: Improve compatibility of IMILBitmap interface.
windowscodecs: Add support for IMILBitmapScaler interface.
windowscodecs/tests: Add some tests for IMILBitmap and IMILBitmapScaler interfaces.
windowscodecs: Correct IWICBitmapScaler::CopyPixels() error for not initialized case.
windowscodecs: Simplify some IMILBitmapScaler forwarders.
urlmon: Add support for PARSE_UNESCAPE to CoInternetParseUrl.
urlmon: Add ShouldShowIntranetWarningSecband stub.
urlmon: Add GetIUriPriv stub.
urlmon: Add CoInternetGetBrowserProfile stub.
urlmon/tests: Add a test for ProtocolCF_CreateInstance not supporting aggregation.
urlmon: If ProtocolCF_CreateInstance doesn't support aggregation retry without it.
Ethan Lee (1):
xaudio2: Use new features from FAudio 19.06 (but keep compatibility for <=19.05).
Fabian Maurer (2):
gdi32: CreatePolyPolygonRgn() returns an empty region when the area is empty.
setupapi: Correct function parameter for CM_Set_Class_Registry_PropertyA/W.
Gijs Vermeulen (1):
crypt32/tests: Fix some memory leaks (Valgrind).
Hans Leidekker (1):
ntdll: Fix breakpoint exception address on 64-bit Linux.
Henri Verbeet (35):
wined3d: Pass a wined3d_context_gl structure to context_update_tex_unit_map().
wined3d: Pass a wined3d_context_gl structure to draw_primitive_immediate_mode().
wined3d: Move the texture unit map from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the "blit_vbo" field from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the occlusion query fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the fence fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the timestamp query fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the stream-output statistics query fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the pipeline statistics query fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Pass a wined3d_context_gl structure to context_apply_clear_state().
wined3d: Pass a wined3d_context_gl structure to context_apply_fbo_state_blit().
wined3d: Pass a wined3d_context_gl structure to context_check_fbo_status().
wined3d: Pass a wined3d_context_gl structure to context_set_draw_buffer().
wined3d: Pass a wined3d_context_gl structure to context_texture_update().
wined3d: Pass a wined3d_context_gl structure to context_bind_fbo().
wined3d: Pass a wined3d_context_gl structure to context_destroy_fbo().
wined3d: Pass a wined3d_context_gl structure to context_reuse_fbo_entry().
wined3d: Pass a wined3d_context_gl structure to context_destroy_fbo_entry().
wined3d: Pass a wined3d_context_gl structure to context_find_fbo_entry().
wined3d: Use context_acquire() in wined3d_swapchain_cs_init().
wined3d: Pass a wined3d_context_gl structure to context_apply_fbo_entry().
wined3d: Pass a wined3d_context_gl structure to context_apply_fbo_state().
wined3d: Pass a wined3d_context_gl structure to context_queue_fbo_entry_destruction().
wined3d: Pass a wined3d_context_gl structure to context_apply_compute_state().
wined3d: Use wined3d_texture_get_level_box() in wined3d_device_update_texture().
wined3d: Move the FBO fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Pass a wined3d_context_gl structure to context_get_offscreen_gl_buffer().
wined3d: Pass a wined3d_context_gl structure to wined3d_context_gl_restore_pixel_format().
wined3d: Pass a wined3d_context_gl structure to context_set_pixel_format().
wined3d: Use wined3d_texture_get_level_box() in texture2d_load_texture().
wined3d: Pass a wined3d_context_gl structure to context_set_gl_context().
wined3d: Pass a wined3d_context_gl structure to context_update_window().
wined3d: Pass a wined3d_context_gl structure to context_enter().
wined3d: Pass a wined3d_context_gl structure to context_get_rt_size().
wined3d: Use wined3d_texture_get_level_box() in wined3d_texture_create().
Huw D. M. Davies (11):
configure: Don't define HAVE_CLOCK_GETTIME on macOS.
ntdll: Implement RtlGetSystemTimePrecise().
kernel32: Implement GetSystemTimePreciseAsFileTime() using RtlGetSystemTimePrecise().
ntdll: Use CLOCK_REALTIME_COARSE for NtQuerySystemTime() if it has sufficient resolution.
kernel32: Replace macros with inline helpers.
kernel32: Simplify TIME_CompTimeZoneID() by passing time as LONGLONG.
kernel32: Simplify is_not_current().
kernel32: Forward GetSystemTimeAsFileTime() to NtQuerySystemTime().
ntdll: Mark monotonic_counter() as inline.
ntdll: Extend NtGetTickCount() to return 64-bits. Forward kernel32 functions to it.
explorer: Set the default driver to mac,x11 in all cases.
Isira Seneviratne (1):
po: Update Sinhala translation.
Jacek Caban (12):
ntoskrnl.exe: Implement ExAcquireFastMutex and ExReleaseFastMutex.
ntoskrnl.exe: Implement PsGetProcessInheritedFromUniqueProcessId.
ntddk.h: Add a few more declarations.
urlmon/tests: Make ParseUrl call tests more strict.
jscript: Allow calling eval function from external code.
ntoskrnl.exe: Implement PsGetThreadProcessId.
mshtml: Fix window size in IOleDocumentView::SetRect implementation.
mshtml: Return rect relative to parent window in IOleDocumentView::GetRect.
mshtml: Implement IOleInPlaceObjectWindowless::SetObjectRects.
ntdll: Introduce wait_async helper.
server: Store pending flag in async object.
server: Always block overlapped device requests until driver dispatches them.
Jactry Zeng (1):
msscript: Partially implement IScriptControl::Eval().
Jimi Huotari (1):
winegstreamer: Fix spelling of 'initialized' in a TRACE().
Józef Kucia (1):
setupapi: Avoid debugstr buffer overflow.
Lauri Kenttä (1):
po: Update Finnish translation.
Marcus Meissner (1):
setupapi: Fix size to MultiByteToWideChar().
Martin Storsjo (2):
msvcrt: Hook up _setjmpex for arm64 as well.
ntdll: Avoid truncating a nonzero exit code to zero in unix.
Matteo Bruni (15):
wined3d: Avoid a GCC 8 warning.
d3d9: Always allow read and write map access to non-DEFAULT buffers.
d3d8: Always allow read and write map access to non-DEFAULT buffers.
wined3d: Pass a wined3d_context_gl structure to context_load_numbered_arrays().
wined3d: Pass a wined3d_context_gl structure to context_update_stream_sources().
wined3d: Avoid some redundant glVertexAttrib4f() calls.
wined3d: Add ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE to core_extensions[].
winecfg: Don't mark glu32 as builtin-only.
wined3d: Always report support for ZBIAS and MIPMAPLODBIAS raster caps in the Vulkan backend.
wined3d: Report WINED3DPRASTERCAPS_MIPMAPLODBIAS only when supported.
wined3d: Assign 9_x feature levels more accurately.
d3d8: Check the WINED3DPRASTERCAPS_DEPTHBIAS cap bit to report D3DPRASTERCAPS_ZBIAS.
ddraw: Check the WINED3DPRASTERCAPS_DEPTHBIAS cap bit to report D3DPRASTERCAPS_ZBIAS.
wined3d: Get rid of WINED3DPRASTERCAPS_ZBIAS.
wined3d: Report WINED3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS when possible.
Michael Stefaniuc (3):
mfplat: Print the debug strings and not the pointers.
msctf: Remove useless cast to self.
kernel32/tests: Use the ARRAY_SIZE() macro.
Nikolay Sivov (50):
mf: Add stubs to create audio renderer sink.
mf: Add support for async commands for media session.
dwrite/layout: Use a helper to update layout metrics.
dwrite/layout: Use array allocation helper for typography features.
dwrite/font: Use existing helper for CreateFontFace().
dwrite/layout: Fix layout metrics width for whitespace-only lines.
dwrite/layout: Use interface pointer in text format method traces.
dwrite: Improve returned design glyph metrics.
dwrite: Use array allocation helper to manage family entries.
dwrite: Use array allocation helper to manage collection entries.
dwrite: Use array allocation helper for in-memory loader.
dwrite/analyzer: Use array allocation helper for fallback builder.
dwrite: Use array allocation helper for strings object.
dwrite/layout: Use array allocation helper for line metrics.
dwrite/tests: Fix a typo in test message.
kernelbase: Duplicate some path handling functions from shlwapi.
mf/session: Add stubs for playback rate API.
mf: Create presentation clock on session creation.
xaudio2: Fix 32-bit build.
kernelbase: Duplicate more path API from shlwapi.
kernelbase: Add QISearch().
kernelbase: Duplicate some of strings functions from shlwapi.
mfplat: Handle null destination for GetItem().
mf: Slightly improve topoloader Load().
kernelbase: Use a helper to get character C1 type.
kernelbase: Add string handling functions from user32.
kernelbase: Add LoadString() exports.
kernelbase: Add some more string handling functions from shlwapi.
mfplat: Return properties for system time source.
mfplat: Create system clock instance per system time source.
kernelbase: Add remaining string handling functions from shlwapi.
mf: Add sample grabber sink stub.
mf: Add IMFMediaTypeHandler stub for grabber stream.
mf: Add clock state sink stub for grabber.
mf: Add events support for grabber stream.
mf: Add events support for grabber sink.
comctl32/tooltips: Add a helper to free tool text.
comctl32/tooltips: Add a helper to set tool text.
comctl32/tooltips: Remove redundant condition.
kernelbase: Add most of path API from shlwapi.
mferror: Add some more error messages.
kernelbase: Add some URL API functions from shlwapi.
kernelbase: Remove helpers that are no longer necessary.
kernelbase: Add more URL API functions from shlwapi.
kernelbase: Add remaining path functions.
kernelbase: Add GetAcceptLanguages().
kernelbase: Add remaining URL functions.
kernelbase: Add SHLoadIndirectString().
kernelbase: Add some registry helpers from shlwapi.
mfplat: Add timestamp support for system time source.
Paul Gofman (13):
ddraw/tests: Test lighting with ambient light and material in ddraw1.
ddraw: Fix setting current viewport for ddraw1.
ddraw: Enable lighting only if material is set in d3d_execute_buffer_execute().
wined3d: Move validate_material_colour_source() to wined3d_private.h.
wined3d: Factor out compute_normal_matrix() function.
wined3d: Factor out wined3d_get_material_colour_source() function.
wined3d: Use the correct colour sources in process_vertices_strided().
wined3d: Move multiply_vector_matrix() to wined3d_private.h.
wined3d: Implement lighting with directional lights in process_vertices_strided().
ddraw/tests: Backport test_specular_lighting() for ddraw1.
wined3d: Implement point lights in process_vertices_strided().
wined3d: Implement spot lights in process_vertices_strided().
wined3d: Implement parallel point lights in process_vertices_strided().
Philip Rebohle (1):
d3dcompiler: Accept a stat chunk size of 28 for reflection.
Piotr Caban (13):
hid: Change format of preparsed data.
hidclass.sys: Remove no longer used features list.
hidclass.sys: Support descriptors with over 10 individual usages in feature.
hid: Set button values in HidP_SetUsages function.
hid: Fix error handling in HidP_SetUsages.
hidclass.sys: Limit written data to the actual report size.
winebus.sys: Fix typo in endpoint name.
winebus.sys: Correctly set HID device input number in device endpoint path.
winebus.sys: Restore IG_ substring in gamepads endpoint path.
kernel32: Add more CompareStringW tests.
libwine: Add helper function to compare character weights.
libwine: Decompose characters before comparing in wine_compare_string.
libwine: Ignore 0 weights as described in Unicode collation algorithm.
Roman Stingler (3):
include: Added some process creation Flags.
kernel32: Added some Numa stubs.
kernel32: Add stub WerUnregisterRuntimeExceptionModule.
Sven Baars (1):
comctl32: Always free the tooltip text before setting it (Valgrind).
Tim Schumacher (3):
services: Allow reading binary registry values as DWORDs.
joy.cpl: Check if effect is allocated before releasing it.
joy.cpl: Fix high CPU load in FF test window.
Zebediah Figura (90):
quartz: Make Parser_OutputPin_BreakConnect() a local helper.
winegstreamer: Make GSTOutPin_BreakConnect() a local helper.
wineqtdecoder: Make QTOutPin_BreakConnect() a local helper.
strmbase: Get rid of the "pfnBreakConnect" field from BaseOutputPinFuncTable.
setupapi: Handle an empty string for the source file in SetupQueueCopySection().
strmbase: Remove function pointers from the IEnumPinsImpl structure.
wineqtdecoder: Fix implementation of QT_GetPin().
strmbase: Determine the pin count using the GetPin() callback.
strmbase: Get rid of the "pfnGetPinCount" callback.
winegstreamer: Use CONTAINING_RECORD instead of casting.
strmbase: Use heap_alloc_zero() in enum_pins_create().
strmbase: Don't store the media type list locally.
strmbase: Get rid of the ENUMMEDIADETAILS structure.
strmbase: Return void from BaseFilter_Init().
strmbase: Get rid of the "filterVtbl" parameter to TransformFilter_Construct().
strmbase: Factor out strmbase_renderer_cleanup().
quartz/videorenderer: Use strmbase_renderer_cleanup().
quartz/vmr9: Use strmbase_renderer_cleanup().
quartz/dsoundrender: Use strmbase_renderer_cleanup().
qedit/nullrenderer: Use strmbase_renderer_cleanup().
strmbase: Get rid of BaseRendererImpl_Release().
setupapi: Implement SetupDiGetDeviceInstallParams().
setupapi: Implement SetupDiSetDeviceInstallParams().
setupapi/tests: Add some basic tests for SetupDi{Get, Set}DeviceInstallParams().
setupapi: Implement SetupDiGetActualSectionToInstallA().
setupapi: Define the correct platform extensions for each architecture.
setupapi/tests: Add tests for SetupDiGetActualSectionToInstall().
setupapi: Return the section name in SetupDiGetActualSectionToInstall() even if it doesn't exist.
quartz: Use CONTAINING_RECORD instead of casting.
qedit/samplegrabber: Correctly delegate IUnknown methods on the IMemInputPin interface.
amstream: Reimplement IMediaStreamFilter::EnumPins().
amstream: Reimplement IBaseFilter methods in the media stream filter.
setupapi/tests: Add some tests for SetupInstallFile().
setupapi: Retrieve the default destination path in SetupInstallFile().
setupapi: Clear the Win32 error if no copy was necessary.
setupapi: Don't fail a queued copy if no copy was necessary.
quartz/tests: Add some tests for IMediaSeeking on the filter graph.
qcap/tests: Clean up test_AviMux_QueryInterface().
qcap/tests: Add some tests for IMediaSeeking on the AVI mux filter.
strmbase/transform: Don't expose IMediaSeeking from the filter.
strmbase/transform: Don't expose IMediaPosition from the filter.
strmbase/transform: Don't expose IQualityControl from the filter.
quartz/filtergraph: Don't require IAMFilterMiscFlags when performing seek operations.
mshtml: Fix a copy-paste error.
mshtml: Avoid passing invalid memory to DispCallFunc().
msxml3: Load the version 1 typelib before trying to access it.
setupapi: Add an initial implementation of SetupDiBuildDriverInfoList().
setupapi: Check for compatible platforms in SetupDiBuildDriverInfoList().
setupapi: Implement directory search in SetupDiBuildDriverInfoList().
setupapi: Implement SetupDiEnumDriverInfo().
setupapi/tests: Add tests for building and enumerating driver lists.
setupapi: Add a semi-stub implementation of SetupDiSelectBestCompatDrv().
widl: Fix proxy vtbl generation in -Oi mode.
rpcrt4: Fail with CO_E_OBJNOTCONNECTED when trying to call methods on a disconnected proxy.
rpcrt4: Factor out get_handle_desc_size().
rpcrt4: Handle exceptions in a larger portion of NdrClientCall().
rpcrt4: Use a FINALLY block to clean up in do_ndr_client_call().
quartz/tests: Add some tests for IFilterGraph::SetDefaultSyncSource().
quartz/filtergraph: Don't require IAMFilterMiscFlags in IFilterGraph::SetDefaultSyncSource().
quartz/videorenderer: Don't expose IAMFilterMiscFlags.
quartz/dsoundrender: Don't expose IAMFilterMiscFlags.
qedit/nullrenderer: Don't expose IAMFilterMiscFlags.
strmbase: Rename BaseFilter_Destroy() to strmbase_filter_cleanup().
strmbase: Return void from strmbase_filter_cleanup().
evr: Use strmbase_filter_cleanup().
strmbase/transform: Use BaseFilter_Destroy().
qcap/avimux: Use BaseFilter_Destroy().
setupapi: Implement SetupDiRegisterCoDeviceInstallers().
setupapi: Add a basic implementation of SetupDiCallClassInstaller().
setupapi: Implement custom class installers in SetupDiCallClassInstaller().
setupapi: Call DIF_DESTROYPRIVATEDATA when deleting a device.
setupapi: Implement class co-installers in SetupDiCallClassInstaller().
setupapi: Implement device-specific co-installers in SetupDiCallClassInstaller().
qcap/smartteefilter: Use strmbase_filter_cleanup().
qcap/avico: Use strmbase_filter_cleanup().
qcap/audiorecord: Use strmbase_filter_cleanup().
qedit/samplegrabber: Use strmbase_filter_cleanup().
quartz/parser: Use strmbase_filter_cleanup().
setupapi: Implement SetupDiInstallDriverFiles().
setupapi: Process interface sections in SetupDiInstallDriverFiles().
setupapi: Implement SetupDiInstallDeviceInterfaces().
strmbase: Use an unsigned int for the GetPin() callback.
strmbase: Rename pfnGetPin to filter_get_pin.
strmbase: Remove unnecessary calling convention from the filter_get_pin() callback.
strmbase: Reimplement BaseFilterImpl_Release() using a destructor callback.
quartz/filesource: Use BaseFilterImpl_Release().
setupapi/tests: Clean up and expand tests for SetupCopyOEMInf().
setupapi: Check all INF files in SetupCopyOEMInf().
setupapi: Always fill output parameters in SetupCopyOEMInfA().
setupapi: Fix error handling in SetupInstallServicesFromInfSection().
Zhiyi Zhang (7):
gdi32/tests: Add D3DKMTOpenAdapterFromGdiDisplayName tests.
gdi32/tests: Add D3DKMTOpenAdapterFromHdc tests.
gdi32/tests: Add D3DKMTCloseAdapter tests.
gdi32/tests: Add D3DKMTCreateDevice tests.
gdi32/tests: Add D3DKMTDestroyDevice tests.
gdi32/tests: Add D3DKMTCheckVidPnExclusiveOwnership tests.
gdi32/tests: Add D3DKMTSetVidPnSourceOwner tests.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 4.0.1 is now available.
What's new in this release (see below for details):
- Various bug fixes
- Sinhala and Tamil translation updates
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0.1.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.0.1 (total 44):
8226 DlgDirListComboBox does not fail properly on bad path spec argument
23863 The Bard's Tale (2005): unplayable due to almost completely black screen
26653 Multiple VB6 applications need oleaut32 VarRound to support VT_DECIMAL
28140 Theatre of War 3: Korea demo 1.2.0 crashes on startup (hook engine can't cope with GOT/PIC register load code at API entry, needs DECLSPEC_HOTPATCH for kernel32.SizeofResource and kernel32.FindClose)
31954 Second Sight hangs with a black screen after the intro videos
33456 D3DXMatrixTransformation: Broken calculation when scalingrotation and scaling is used
35516 Microworlds EX hangs when clicking toolbar button
37705 Heroes of Might and Magic VI Shades of Darkness Textures Fail to Display in Most Campaign Maps
38138 Avencast: Rise of the Mage: invisible doors
38558 cmd.exe bundled with Windows XP messed up when using FOR /F
39663 GOG Galaxy client 1.x hangs or reports 'Something went wrong during DeelevateStrategy' error in Win7 mode (GOG Galaxy service needs wtsapi32.WTSQueryUserToken implementation)
39890 Orcish Inn fails to start with exception System.NotImplementedException
40441 Chicken tournament crashes when loading texture
44300 Windows Media Player 7.1 fails to play media due to unimplemented function wmvcore.dll.WMCheckURLExtension
44469 Multiple apps using Windows 10 v1507+ UCRT crash due to multiple missing api-ms-win-crt-private-l1-1-0.dll._o__xxx stubs/forwards (Win10 DISM pkgmgr.exe, MS DirectX Shader Compiler)
45326 Multiple 64-bit kernel drivers crash on unimplemented function ntoskrnl.exe.__C_specific_handler (NoxPlayer 6.x, MTA:SA 1.5.x)
45473 Rogue Squadron 3D crashes on startup
45631 League of Legends client crashes when joining a lobby with other players
45632 Garena client v2.0.x crashes on startup ('ntdll.NtQueryVirtualMemory' needs to validate 'MemoryInformationLength' before writing to buffer)
46127 aria2 1.34 fails to connect, reports 'WinTLS: Channel setup failed. Schannel provider did not fulfill requested flags. Excepted: 33180 Actual: 33052'
46298 Middle-earth: Shadow of War (steam appid 356190) crashes on launch
46300 Yousician: unimplemented function mfplat.dll.MFGetSystemTime
46303 Warcraft 3: Reign of Chaos (Czech language) can't be installed from CD
46318 vbscript doesn't parse if identifier is also keyword token
46319 32-bit IL-only executable launched as 32-bit subprocess on Wine and 64-bit subprocess on Windows
46387 ReactOS/Windows XP TASKMGR: Column headers don't scroll when scrolling horizontally (multiple listview or header control)
46442 FormatCurrency(9) returns .9.00 (period in front)
46465 Visual Studio 2015 crashes on unimplemented function msvcp140.dll._Equivalent
46481 strftime has a buffer overflow
46482 Gas Guzzlers Combat Carnage crashes when changing screen resolution
46485 PBM_STEPIT crashes with division by zero when MinVal == MaxVal == 0
46493 Functions ilogb* are not implemented
46494 64bit WinMerge crash after clicking "About WinMerge"
46499 Multiple games crash in GetRawInputData when exiting(House Party, Murderous Pursuits, ICEY)
46520 Kindred Spirits on the Roof crashes
46536 Empire Earth (GOG version) main menu rendering is broken
46569 ToDoList 7.1 : fails to launch after WINE upgrade to 4.0 version
46581 HeidiSQL generates OLE error when executing custom queries against MSSQL server.
46583 LINE latest version doesn't work
46678 Width of latin characters is wrong with some fonts.
46691 comctl32/tests/propsheet.c shows uninitalized memory use
46708 Photoline crashed right after start, no problem with wine 3.0.4
46729 Wine directx not detecting Intel HD Graphics 620 (Rev 02) chipset
46907 msi crashes in RemoveFiles action for a broken msi
----------------------------------------------------------------
Changes since 4.0:
Alexandre Julliard (2):
server: Report a 64-bit CPU for IL-only binaries.
dinput: Add error check to silence a compiler warning.
Alistair Leslie-Hughes (4):
dsound: IDirectSoundNotify is only available when DSBCAPS_CTRLPOSITIONNOTIFY is specified.
mfplat: Implement MFGetSystemTime.
oleaut32: Correctly get the Currency separator in VarFormatCurrency.
oleaut32: Support VT_DECIMAL in VarRound.
Andrew Eikum (1):
winhttp: Don't crash setting up secure proxy.
Brendan McGrath (2):
vbscript: Allow more keywords to be used as identifiers.
vbscript: Allow most keywords to be used as 'dot' identifiers.
David Adam (2):
ddraw/tests: Add tests for the "dwMipMapCount" field of texture sub-levels.
ddraw: Fix the "dwMipMapCount" field of texture sub-levels.
Dmitry Timoshkov (2):
windowscodecs: Implement IWICPalette::InitializeFromBitmap.
wpcap: Fix compilation with recent pcap/pcap.h versions.
Fabian Maurer (2):
api-ms-win-crt-private-l1-1-0: Update to 10.0.17134.12 (WinBuild.160101.0800).
ucrtbase: Forward a few functions for dxil.dll and pkgmgr.exe.
Gabriel Ivăncescu (1):
libport: Handle partially overlapping buffers.
Gijs Vermeulen (3):
msvcp140: Export _Equivalent and port tests.
ntdll: Validate len in NtQueryVirtualMemory.
kernel32: Add DECLSPEC_HOTPATCH to SizeofResource().
Hans Leidekker (3):
secur32: Return ISC_RET_USED_SUPPLIED_CREDS for schannel contexts if the feature was requested.
mscms: Add a partial implementation of WcsOpenColorProfileA/W.
msi: Avoid a crash in RemoveFiles if the component directory is invalid.
Isira Seneviratne (10):
po: Update Sinhala translation.
po: Update Sinhala translation.
po: Update Sinhala translation.
po: Add Tamil translation.
po: Update Tamil translation.
po: Update Tamil translation.
kernel32: Add the Sinhala NLS file.
kernel32: Fix LOCALE_SSCRIPTS value for Sinhala.
kernel32/nls: Fix some values in Sinhala NLS file.
kernel32/nls: Change Sinhala sublang identifier to SUBLANG_SINHALESE_SRI_LANKA.
Jacek Caban (1):
ntoskrnl.exe: Add __C_specific_handler entry.
Józef Kucia (3):
ddraw: Pass correct box when mapping system memory vertex buffers.
d3d9: Validate surface parameter in d3d9_device_ColorFill().
wined3d: Add GPU information for Intel HD Graphics 620.
Ken Thomases (1):
loader: On Mac, move the top-down allocations area down to avoid regions reserved by the system.
Mark Jansen (1):
msi: Do not leak rootkey.
Matteo Bruni (3):
d3dx9: Improve D3DXMatrixTransformation() implementation.
d3dx9: Improve D3DXMatrixTransformation2D().
d3dx9/tests: Avoid some 64-bit test failures.
Michael Stefaniuc (1):
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
Nikolay Sivov (9):
api-ms-win-core-libraryloader-l1-2-1: Add missing FindResourceW() forward.
comctl32/progress: Handle min == max case in PBM_STEPIT.
user32/dialog: Fix setting negative dialog item ids.
d3d11: Implement d3d11_device_GetImmediateContext1().
comctl32/listview: Take care of scrolling offset when repositioning header.
comctl32/propsheet: Avoid posting uninitialized data (Valgrind).
comctl32/toolbar: Send BN_CLICKED for button that was pressed, not released.
usp10: Use single path for all fonts in ScriptGetCMap().
ucrtbase: Add ilogb* functions.
Paul Gofman (8):
wined3d: Use lower 8 bits only from _ALPHAREF state.
wined3d: Return 1e10f for MaxVertexW from wined3d_get_device_caps().
wined3d: Only use the LSB of the _SAMP_SRGB_TEXTURE state value.
kernel32/tests: Add test for overlapped file read.
ntdll/tests: Add more tests for overlapped file read.
ntdll: Return STATUS_PENDING from NtReadFile() for async read in case of no buffering.
kernel32: Add DECLSPEC_HOTPATCH to FindClose().
user32: Select more appropriate stretch mode for colored images interpolation.
Piotr Caban (4):
msvcrt: Optimize tolower function when locale was never changed.
msvcrt: Optimize toupper function when locale was never changed.
msvcp140: Don't forward __ExceptionPtrCreate to msvcr120.
msvcrt: Fix buffer overflow in _get_tzname.
Sebastian Lackner (1):
wtsapi32: Improve WTSQueryUserToken stub.
Sveinar Søpler (1):
wined3d: Add GPU information for the NVIDIA RTX series.
Sven Baars (14):
windowscodecs: Fix a memory leak (Valgrind).
gdiplus: Fix a memory leak on error path (Valgrind).
wsdapi: Fix some memory leaks (Valgrind).
strmbase: Fix some memory leaks (Valgrind).
ole32: Fix some memory leaks (Valgrind).
mstask: Fix some memory leaks on error path (Valgrind).
mstask: Move memory allocation to avoid a memory leak (Valgrind).
taskschd: Fix some memory leaks (Valgrind).
dinput: Free the device after a callback (Valgrind).
riched20: Fix IRichEditOle COM aggregation (Valgrind).
ws2_32: Use heap_realloc instead of HeapReAlloc to avoid an invalid realloc (Valgrind).
windowscodecs: Add missing source_bpp initialization (Valgrind).
setupapi: Add a missing return statement (Coverity).
dsound: Add missing SetEventHandle error handling (Coverity).
Vijay Kiran Kamuju (2):
user32: Add DlgDirList wildcard checks.
wmvcore: Add stub for WMCheckURlExtension.
Zebediah Figura (5):
comsvcs/tests: Add tests for implicit MTA creation in RegisterDispenser().
comsvcs: Create an implicit MTA thread in RegisterDispenser().
msvcr120: Add nexttoward implementation.
hid: Handle overlapped file handles.
ntdll: Avoid crashing while tracing parameters to NtCreateNamedPipeFile().
Zhiyi Zhang (5):
msacm32: Reference count local drivers.
user32: Check for null handle in GetRawInputData().
kernel32: Add DECLSPEC_HOTPATCH to VirtualAllocEx().
d3d8: Fix building on Mac.
user32: Fix a memory leak.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 4.8 is now available.
What's new in this release (see below for details):
- Support building most programs in PE format.
- Unicode data updated to Unicode 12.0.
- Support for MSI patch files.
- Default to non-PIC builds on i386.
- Joystick support improvements.
- Asturian locale.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.8.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.8.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.8 (total 38):
12332 Microsoft Windows Server 2003 DDK SP1 installer crashes ('setupapi.SetupCloseFileQueue' should do proper handle validation before accessing members)
14695 Lifeforce demo misses codecs (msvideo1 needs to support 24 bpp output)
28196 Test Drive Unlimited: Water is always rendered on top of everything.
28254 Multiple kernel drivers crash during load/relocation (relocation entry crosses page boundary)(PMP Exam Version 7 CrypKey, Age of Wushu SDProtect DRM, StarForce v3)
29460 Multiple kernel drivers crash in entry due to ntoskrnl.exe IoGetCurrentProcess() being a stub (Ruijie Supplicant Su1xDriver.sys, nProtect GameGuard/Tachyon Kernel Control Driver)
31101 ScoobyRom v0.6.x-0.8.x (.NET 4.0 app) fails to start with Wine-Mono
31350 Multiple .NET 3.x WPF applications crash in Vista/Win7 mode due to dwmapi.DwmGetTransportAttributes stub returning E_NOTIMPL (T-Online Mediencenter Assistent, Valil.Chess, Zwift 1.0)
34372 Multiple applications need AllocateAndGetTcpExTableFromStack (cross compiled dbus, spamMonitor)
37359 planetside 2 no mouseclicks registered
37540 Multiple games and applications wrapped with Enigma v4 and GG DRM schemes crash on startup (incompatible with use of position independent code (PIC) in Wine dlls)
38423 Python 3.5.x exe installer fails with Access denied error
39614 Wine initialises a Critical Section for Mutexes by NULL instead of (void*)-1
42420 MidiIllustrator Virtuoso 3 crashes when using any File open dialog
44850 Microsoft Skype 8.x crashes on unimplemented function iphlpapi.dll.GetBestRoute2
45155 OpenGL Window Z order in Truespace
45213 Multiple applications using Microsoft Detours library crash on startup after compiling Wine with GCC 8.x+ and -O2 (GOT/PIC code emitted at Win32 API entries)(Microsoft Visual Studio 201x, Visual Assist plugin)
45757 Visual Studio 2017 Installer - "The installer manifest failed signature validation"
45765 Universe Sandbox 2 unimplemented function USER32.dll.GetPointerType
45947 Native Access crashes on unimplemented function virtdisk.dll.OpenVirtualDisk
46861 TopoEdit crashes with unimplemented function mf.dll.MFEnumDeviceSources
46905 Multiple eventlog monitor applications go haywire (endless console spam, live-loop CPU) due to advapi32.ReadEventLogA/W returning lasterror ERROR_CALL_NOT_IMPLEMENTED
46989 Grand Prix Legends: Wheel (Wheel, Gas, Brake) axes inputs aren't recognized
46993 ntoskrnl.exe tests don't compile when using -O0
47016 MS Office 365 installer needs mfplay.dll.MFPCreateMediaPlayer
47023 Warframe in-game screenshot fails if screenshot directory already exists
47027 Wine built with GCC 8.x+ and -O2 causes apps and games using madCodeHook/madExcept 3.x/4.x to crash (hook engine can't cope with GOT/ PIC code emitted within 15-byte range at Win32 API entries)(EA Origin, HeidiSQL 10.x)
47032 valgrind shows uninitialized read in writev from call_req_handler
47082 NI System Web Server crashes on unimplemented function authz.dll.AuthzFreeResourceManager
47096 World of Warships 0.8.3.x client (DirectX 11) crashes when post-battle results screen is about to be displayed
47097 Wine built with GCC 8.x+ and -O2 causes Steam games using In-Game Overlay 'gameoverlayrenderer.dll' to crash (hook engine can't cope with GOT/PIC code emitted at Win32 API entries)
47107 Windows XP DDK installer fails to copy any files
47122 Star Citizen stopped working on commit 32d7838da73dd9bc3ee999d73a310da7adfb27dd
47123 Starcitizen - joystick not recognized
47129 Rendering glitch in Caste Siege/Ballerburg (invalid vertex count in IDirect3DDevice3::DrawIndexedPrimitiveVB)
47131 Esportal client 1.0 (CS:GO anti-cheat) fails to start, reporting 'The procedure entry point InitiateShutdownW could not be located in the dynamic link library ADVAPI32.dll'
47138 Microsoft .NET Framework 2.x installer fails ('RegSvcs.exe' bootstrapper needs unicode casing tables, 'l_intl.nls' no longer installed in WINEPREFIX)
47142 Esportal client 1.0 (CS:GO anti-cheat) fails to start, reporting 'The procedure entry point NdrServerCallAll could not be located in the dynamic link library RPCRT4.dll'
47145 Esportal client 1.0 (CS:GO anti-cheat) fails to start, reporting 'The procedure entry point K32GetWsChangesEx could not be located in the dynamic link library KERNEL32.dll'
----------------------------------------------------------------
Changes since 4.7:
Alexandre Julliard (85):
attrib: Build with msvcrt.
cabarc: Build with msvcrt.
clock: Build with msvcrt.
control: Build with msvcrt.
dxdiag: Build with msvcrt.
eject: Build with msvcrt.
expand: Build with msvcrt.
extrac32: Build with msvcrt.
hh: Build with msvcrt.
hostname: Build with msvcrt.
icinfo: Build with msvcrt.
iexplore: Build with msvcrt.
ipconfig: Build with msvcrt.
msidb: Build with msvcrt.
msiexec: Build with msvcrt.
net: Build with msvcrt.
netstat: Build with msvcrt.
oleview: Build with msvcrt.
progman: Build with msvcrt.
regsvr32: Build with msvcrt.
ntdll: Check for time conversion error to silence a compiler warning.
makefiles: Also pass -fPIC flag when linking.
rpcss: Build with msvcrt.
rundll32: Build with msvcrt.
sc: Build with msvcrt.
schtasks: Build with msvcrt.
services: Build with msvcrt.
start: Build with msvcrt.
svchost: Build with msvcrt.
taskkill: Build with msvcrt.
uninstaller: Build with msvcrt.
view: Build with msvcrt.
makefiles: Don't use custom LDFLAGS to link dlls.
configure: Disable stdcall fixups for PE builds.
include: Add DECLSPEC_IMPORT on OpenGL functions when not building opengl32.
crypt32: Fix comparison of domain name components.
winedevice: Build with msvcrt.
winemine: Build with msvcrt.
winemsibuilder: Build with msvcrt.
winetest: Build with msvcrt.
winhlp32: Build with msvcrt.
wmic: Build with msvcrt.
write: Build with msvcrt.
wscript: Build with msvcrt.
ping: Avoid using getopt().
ping: Build with msvcrt.
winefile: Get rid of the Unix filesystem support.
winefile: Build with msvcrt.
include: Use DECLSPEC_HIDDEN instead of DECLSPEC_IMPORT for dll exports.
include: Move DECLSPEC_HOTPATCH definition out of config.h.
makefiles: Support delay imports for PE builds.
makefiles: Use a separate LDFLAGS variable for cross-compilation.
makefiles: Only cross-compile the import libraries that are actually used.
makefiles: Only cross-compile the static libraries that are actually used.
dxerr8: Don't use snprintf().
dxerr9: Don't use snprintf().
strmbase: Avoid using wine/unicode.h.
cmd: Build with msvcrt.
explorer: Move screen saver activation to the X11 driver.
explorer: Build with msvcrt.
cmd: Explicitly mark qsort() callback funtions cdecl.
services: Explicitly mark a qsort() callback funtion cdecl.
uninstaller: Explicitly mark a qsort() callback funtion cdecl.
winefile: Explicitly mark qsort() callback funtions cdecl.
winhttp/tests: Get a test file from the WineHQ tests subdirectory.
include/msvcrt: Add inttypes.h header.
advapi32: Use strncmpiW instead of memicmpW for strings without embedded nulls.
atl: Use strncmpiW instead of memicmpW for strings without embedded nulls.
fusion: Use strncmpiW instead of memicmpW for strings without embedded nulls.
kernel32: Use strncmpiW instead of memicmpW for strings without embedded nulls.
kernelbase: Use strncmpiW instead of memicmpW for strings without embedded nulls.
mountmgr.sys: Use strncmpiW instead of memicmpW for strings without embedded nulls.
mshtml: Use strncmpiW instead of memicmpW for strings without embedded nulls.
msi: Use strncmpiW instead of memicmpW for strings without embedded nulls.
kernel32: Reset stdio file descriptors when passed invalid handles.
ntdll: Reset stdio file descriptors when passed invalid handles.
netapi32: Use strncmpiW instead of memicmpW for strings without embedded nulls.
ntdll: Use strncmpiW instead of memicmpW for strings without embedded nulls.
pdh: Use strncmpiW instead of memicmpW for strings without embedded nulls.
qmgr: Use strncmpiW instead of memicmpW for strings without embedded nulls.
shlwapi: Use strncmpiW instead of memicmpW for strings without embedded nulls.
urlmon: Use strncmpiW instead of memicmpW for strings without embedded nulls.
userenv: Use strncmpiW instead of memicmpW for strings without embedded nulls.
wbemprox: Use strncmpiW instead of memicmpW for strings without embedded nulls.
webservices: Use strncmpiW instead of memicmpW for strings without embedded nulls.
Alistair Leslie-Hughes (12):
wintab32/tests: Improve WTInfoA tests.
authz: Add AuthzFreeResourceManager stub.
dinput: Don't return unsupported interfaces.
dinput: Return E_NOINTERFACE from IDirectInputDevice2 QueryInterface.
dinput: Don't report that we cannot open a device.
dinput: Improve EnumDevice tracing.
dinput: Support DIDEVICEINSTANCE_DX3 for Mouse GetDeviceInfo.
dinput: Use a helper function to get device type.
dinput: Trace This pointer in a consistent way.
dinput: Ensure Cursor is visible on config dialog.
mspatcha/tests: Fix compile error on older compilers.
mspatcha/tests: Make functions static.
Andrew Eikum (11):
winebus.sys: Fix some report descriptors.
winebus.sys: Fix udev report descriptor length.
winebus.sys: Remove some magic numbers.
winebus.sys: Fix ball value reporting.
hid: Shift usage values to LSB.
dinput: Use heuristics to guess if a device is a gamepad or a joystick.
winebus.sys: Order axes before buttons.
winebus.sys: Report hatswitch values correctly.
winebus.sys: Report SDL controller dpad as hatswitch.
winebus.sys: Report SDL controller buttons in the right order.
winebus.sys: Pack hatswitch values into button bytes.
Aric Stewart (2):
winemac.drv: Set done if macdrv_process_text_input is not processing input.
winemac.drv: Allow mac IME to clear text in system input method.
Austin English (2):
iphlpapi: Add GetBestRoute2 stub.
advapi32: In ReadEventLogA/W, return ERROR_HANDLE_EOF instead of ERROR_CALL_NOT_IMPLEMENTED.
Bryon Roche (1):
windowscodecs: Byte swap png read/write for 16-bpp data.
Conor McCarthy (4):
mspatcha: Add functions to API header file.
mspatcha: Partially implement ApplyPatchToFileW and related functions.
mspatcha/tests: Test implementations of ApplyPatchToFileW and related functions.
mspatcha: Add stubs for signature and normalization functions.
Damjan Jovanovic (1):
qcap/vfwcapture: Implement IPin::CheckMediaType().
Derek Lesho (2):
ntoskrnl.exe: Export and set PsInitialSystemProcess.
ntoskrnl.exe: Implement PsIsSystemThread.
Dmitry Timoshkov (2):
crypt32: CryptMsgUpdate should skip broken certificates.
mshtml: Implement HTMLStyleSheetRulesCollection::item.
Enol Puente (4):
wrc: Add Asturian locale.
wmc: Support Asturian.
kernel32: Add Asturian locale.
po: Add Asturian translation.
Erich Hoover (2):
iphlpapi: Implement AllocateAndGetTcpExTableFromStack.
kernel32: Add SearchPath test demonstrating the priority of the working directory.
François Gouget (4):
ntoskrnl.exe: Make run_work_item_worker() static.
user32: Make WIN_SetOwner() static.
kernel32/tests: Use ok_() so the TestBot can correctly detect the line.
jscript: Make the Enumerator_props functions static.
Henri Verbeet (37):
wined3d: Introduce a debug helper for Vulkan return values.
wined3d: Use shader_glsl_append_imm_vec4() in shader_glsl_get_register_name().
wined3d: Get rid of the redundant "device" parameter to context_destroy().
wined3d: Introduce a separate structure for OpenGL context information.
wined3d: Introduce wined3d_context_init().
wined3d: Simplify wined3d_context_destroy().
wined3d: Rename context_destroy_gl_resources() to wined3d_context_cleanup().
wined3d: Free the "texture_type" array in wined3d_context_cleanup().
wined3d: Introduce wined3d_context_gl_destroy().
wined3d: Free shader backend and fragment pipe context data in device_context_remove().
wined3d: Allocate shader backend and fragment pipe context data in device_context_add().
wined3d: Get rid of the "target" parameter to context_create().
wined3d: Get rid of the "target" parameter to wined3d_context_init().
wined3d: Get rid of the "target" parameter to wined3d_adapter_gl_create_context().
wined3d: Get rid of context_validate_onscreen_formats().
winex11: Only handle errors from GLX requests in GLXErrorHandler().
wined3d: Query Vulkan GPU memory.
wined3d: Get rid of a redundant initialisation in wined3d_device_set_implicit_swapchain().
wined3d: Share more swapchain setup with the "no3d" adapter in wined3d_device_set_implicit_swapchain().
wined3d: Determine the ORM_BACKBUFFER depth/stencil format in wined3d_adapter_gl_create_context().
wined3d: Make the adapter responsible for context destruction and allocation.
wined3d: Pass a wined3d_context_gl structure to context_bind_texture().
wined3d: Move the "texture_type" field from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the "dummy_arbfp_prog" field from struct wined3d_context to struct wined3d_context_gl.
wined3d: Store the glEnableWINE and glDisableWINE pointers in the wined3d_gl_info structure.
wined3d: Move the extension emulation fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Pass a wined3d_context_gl structure to context_load_tex_coords().
wined3d: Pass a wined3d_context_gl structure to context_get_tex_unit_mapping().
wined3d: Pass a wined3d_context_gl structure to context_bind_shader_resources().
wined3d: Pass a wined3d_context_gl structure to context_apply_blit_state().
wined3d: Pass a wined3d_context_gl structure to context_apply_ffp_blit_state().
wined3d: Pass a wined3d_context_gl structure to wined3d_texture_gl_bind_and_dirtify().
wined3d: Pass a wined3d_context_gl structure to context_map_stage().
wined3d: Pass a wined3d_context_gl structure to context_map_fixed_function_samplers().
wined3d: Pass a wined3d_context_gl structure to context_map_psamplers().
wined3d: Pass a wined3d_context_gl structure to context_map_vsamplers().
wined3d: Pass a wined3d_context_gl structure to context_unit_free_for_vs().
Jacek Caban (26):
ntoskrnl.exe: Implement IoGetCurrentProcess.
ntoskrnl.exe: Implement PsGetProcessId.
ntoskrnl.exe: Implement PsGetThreadId.
ntoskrnl.exe: Implement ObOpenObjectByPointer.
ntoskrnl.exe: Use ObOpenObjectByPointer to get handle for kernel object.
ntoskrnl.exe: Support SL_INVOKE_ON_CANCEL in IoCompleteRequest.
ntoskrnl.exe: Support NULL offset in IoBuildSynchronousFsdRequest.
ntoskrnl.exe: Use ObGetObjectType in kernel_object_from_handle.
ntoskrnl.exe: Implement IoAllocateWorkItem and IoFreeWorkItem.
ntoskrnl.exe: Implement IoQueueWorkItem.
ntoskrnl.exe: Add work item tests.
ntoskrnl.exe: Implement IoBuildAsynchronousFsdRequest.
ntoskrnl.exe/tests: Add IoCallDriver tests.
ntoskrnl.exe: Implement IoCancelIrp.
ntoskrnl.exe/tests: Add CancelIo tests.
ntoskrnl.exe: Set IRP DeviceObject in IoCallDriver.
ntoskrnl.exe: Support UserEvent in IoCompleteRequest.
server: Pass IRP output size in irp_params_t.
server: Don't use IRP_MJ_* constants for ntoskrnl.exe communication.
server: Store currently executed IRP call on server side.
server: Pass file object handle in IRP_CALL_CREATE request.
ntoskrnl.exe: Associate file object with server object before calling IRP routine.
ntoskrnl.exe: Don't keep reference to driver created file objects on client side.
ntoskrnl.exe/tests: Add more overlapped tests.
hidclass.sys: Make read IRP queue thread safe.
hidclass.sys: Support canceling read IRPs.
Jactry Zeng (2):
kernel32/tests: Avoid a crash on WinXP and Win2K.
d3dcompiler: Implement D3DReadFileToBlob().
Jefferson Carpenter (1):
server: Add __pad member to pe_image_info_t and zero it.
Julian Rüger (1):
po: Update German translation.
Józef Kucia (20):
wined3d: Implement GPU description registry override for Vulkan adapter.
wined3d: Factor out wined3d_copy_name().
wined3d: Make wined3d_gpu_description from Vulkan physical device properties.
wined3d: Assign *device in adapter_vk_create_device().
dxgi: Avoid magic constants.
d3d11: Set more format support flags.
dxgi: Factor out d3d12_swapchain_record_swapchain_blit().
dxgi: Make Vulkan swapchain image count independent of DXGI buffer count.
dxgi: Add some asserts for Vulkan swapchains.
dxgi: Acquire Vulkan image just before present when we have user images.
d3d11: Implement ID3D11Multithread.
d3d11/tests: Add test for creating deferred contexts.
d3d11/tests: Add test for ID3D11Multithread.
d3d10core/tests: Add test for ID3D11Multithread.
wined3d: Query Vulkan shared system memory.
wined3d: Store texture swizzle capability in struct wined3d_d3d_info.
d3d11: Report format support more accurately based on feature level.
wined3d: Make the adapter responsible for initialising and de-initialising 3D.
wined3d: Propagate HRESULTs in context creation functions.
wined3d: Fix wined3d_get_wine_vk_version().
Louis Lenders (5):
user32: Added GetPointerType stub.
dwmapi: Return DWM_E_COMPOSITIONDISABLED instead of E_NOTIMPL in DwmGetTransportAttributes.
advapi32: Add InitiateShutdown{A,W} stub.
rpcrt4: Add NdrServerCallAll stub.
kernel32: Add K32GetWsChangesEx stub.
Martin Storsjo (2):
avicap32: Fix compilation with older videodev2.h.
qcap: Fix compilation with older videodev2.h.
Michael Müller (3):
version: Correctly return VFF_CURNEDEST in VerFindFileA.
include: Add dxva.h header file.
avifil32: Correctly handle compressed frames when desired format is specified.
Michael Stefaniuc (7):
ntdll/tests: Avoid the comma operator.
ntoskrnl.exe: Correctly initialize two CRITICAL_SECTION_DEBUGs.
wintrust: Use the ARRAY_SIZE() macro.
mscoree: Remove a redundant NULL check before heap_free().
riched32/tests: Test the correct return value.
mfplat/tests: Remove a duplicated ok() check.
rpcrt4: Use CONTAINING_RECORD instead of an extra macro.
Nikolay Sivov (32):
tools: Update to Unicode 12.0.
mfplat: Improve thread safety for IStream-based stream.
mfplat: Improve method traces.
mfreadwrite: Return sample timestamp from ReadSample().
mf: Add stub scheme handler for local file urls.
ntdll: Account for null terminating char in unload traces (Coverity).
mfreadwrite: Wake waiting threads on stream states changes.
ntdll: Initialize critical section debug info with correct pointer value.
mfplat: Copy attributes when cloning presentation descriptor.
mfplat: Add more attribute guids.
mf: Add MFEnumDeviceSources() stub.
dbgeng/tests: Fix event handle leak (Coverity).
mfplat: Implement async file stream creation API.
mf: Register file: scheme handler.
mfplat: Use file url scheme as a fallback.
mfplat/tests: Add some tests for calling scheme handler directly.
mf: Implement file scheme handler.
wmvcore: Return success from OpenStream().
mf: Add a stub for sample grabber activation object.
mfplat: Add topology attributes guids.
mf: Implement SetObject()/GetObject() for topology node.
mfplat: Improve SetGUID() traces.
mfplat: Implement Read() for file-based stream.
mfplat: Implement IsEndOfStream() for file stream.
mfplat: Write attribute store when registering MFT.
mfplat: Write flags when registering MFT.
mf: Set preferred media types for nodes.
mf: Implement CloneFrom() for nodes.
mf: Implement node connections.
mf: Rework node collection implementation.
mf: Disconnect removed nodes.
mf: Add IMFGetService stub for media session.
Paul Gofman (3):
wined3d: Check if destination texture is FBO attachable in glsl_blitter_supported().
ddraw: Fix vertex count in d3d_device3_DrawIndexedPrimitiveVB().
wined3d: Apply stencil mask to stencil reference value.
Piotr Caban (9):
winebus.sys: Add more traces on hidraw communication errors.
hid: Add HidP_SetUsages implementation.
hid: Add support for ranges in find_value.
hid: Only set first usage in an array in HidP_SetUsageValue.
hidclass.sys: Set LinkCollection field in build_elements function.
hidclass.sys: Set LinkUsagePage field in build_elements function.
hidclass.sys: Set LinkUsage field in build_elements function.
hidclass.sys: Treat all one-bit fields as buttons.
hidclass.sys: Fill some reserved fields when building HIDP_{BUTTON,VALUE}_CAPS.
Qian Hong (1):
server: Create primary group using DOMAIN_GROUP_RID_USERS.
Rafał Harabień (1):
ntoskrnl.exe: Fix handling relocations on page boundary.
Tim Schumacher (2):
winejoystick: Add support for wheel axes.
dinput: Map wheel, gas, and brake axes as well.
Vijay Kiran Kamuju (4):
virtdisk: Add stub and tests for OpenVirtualDisk.
include: Add missing defines, enums and functions for dwmapi.h.
wpcap: Fix compile warnings for redefinition of PCAP_OPENFLAG_PROMISCUOUS.
include: Add missing navigation and gamepad key definitions in winuser.rh.
Vincent Povirk (2):
mscoree: Accept old framework build in exe metadata.
windowscodecs: Treat 16-bit channels as little endian.
Zebediah Figura (30):
quartz: Convert media type registration to IRegistrar mechanism.
quartz: Avoid importing shlwapi.
evr/tests: Rewrite test_evr_filter_aggregation().
evr/tests: Add tests for filter interfaces.
winegcc: Add support for -fno-PIC.
makefiles: Build with -fno-PIC on i386.
setupapi: Extract individual files from cabinets.
setupapi/tests: Avoid assert().
setupapi/tests: Add some tests for SetupInstallFilesFromInfSection().
setupapi: Avoid passing a NULL source root path to SetupQueueDefaultCopy() and SetupQueueCopySection().
setupapi: Fill out all source file parameters in SetupQueueCopySection().
setupapi: Fill out all source file parameters in SetupQueueDefaultCopy().
setupapi: Implement SetupQueueCopyIndirectA() on top of the W variant.
setupapi: Remove implementation for LayoutInf parameter of SP_FILE_COPY_PARAMS.
setupapi: Separate the entire copy operation into a helper function.
setupapi: Keep track of source media in a separate list.
setupapi: Implement SetupDefaultQueueCallback(SPFILENOTIFY_NEEDMEDIA).
setupapi: Implement W -> A mapping of SPFILENOTIFY_NEEDMEDIA.
setupapi: Properly null-terminate the path in concat_W().
setupapi: Use the source file name if the destination file name is NULL.
setupapi: Implement source media path resolution.
setupapi/tests: Add tests for source media path resolution.
setupapi: Add magic bytes to struct file_queue and validate them in SetupCloseFileQueue().
ntoskrnl.exe/tests: Use coarser waits for timer tests.
ntoskrnl.exe/tests: Avoid linking directly to CancelIoEx().
msi: Remove registration for no longer used WineMsiRemoteCustomAction coclass.
setupapi: Avoid passing a NULL source filename to SetupQueueDefaultCopy().
strmbase: Move some internal definitions to strmbase_private.h.
strmbase: Move "AttemptConnection" to the base source pin function table.
strmbase: Get rid of the "pfnGetMediaTypeVersion" callback.
Zhiyi Zhang (1):
include: Add more kernel mode graphics driver definitions.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.7 is now available.
What's new in this release (see below for details):
- Support for builtin libraries in PE format even on Unix.
- Updated version of the Mono engine.
- More implementation of the Debug Engine DLL.
- Support for the Command Link standard control.
- Improved Edit control sizing in CJK locales.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.7.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.7.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.7 (total 34):
11985 Status bar of D3D9 app window disappearing
15934 Can't see Worms 2 intro films as they play (mciavi32 missing support to MCI_MCIAVI_PLAY_FULLSCREEN)
15980 Multiple applications expect security descriptors present in process object/token (Rhapsody 2, Rockstar Games Social Club v1.x)
29921 Microsoft Visual Studio 2005, 2008, 2010 Express installer shows highlighted items incorrectly
41212 Alt-Tab in full-screen on resolutions other than native causes a crash
42518 WinVerifyTrust fails for signatures using SHA256 digest
44656 Multiple applications need ntdll.NtSuspendProcess and ntdll.NtResumeProcess implementation (Crashpad/Chromium/CEF, Oracle Data Visualization Desktop, cbwin)
45543 Multiple games and applications crash in dwrite due to invalid index access to cluster array (Rekordbox 5.3.0, SpellForce 3)
45703 Microsoft Office 365 applications crash on startup (Microsoft AppV ISV virtual filesystem technology requires several native and core API to be hot-patchable)
45819 Symantec Eraser Control Driver 'eeCtrl64.sys' (Norton 360) fails in driver entry point due to 'ntoskrnl.exe.ExInitializeResourceLite' stub (needs STATUS_SUCCESS)
45963 Multiple applications need setupapi.SetupDiInstallDeviceInterfaces and setupapi.SetupDiRegisterCoDeviceInstallers stubs for HID device driver install
46174 Multiple apps (Halo Online Voice Chat, Discord, Miro Realtimeboard) crashes on unimplemented function qwave.dll.QOSCreateHandle
46378 WarGaming.net Game Center crashes when installing games or self-updates
46626 UPlay fails to start : "Error at hooking API LoadStringA" (UPlay's hooking engine can't handle ENDBR32 instruction inserted at non-hotpatch API entries due to distro build environments '-fcf-protection')
46685 AviUtl: Can't specify 4 digits number as image size in new project dialog.
46794 Skyrim crashes upon clicking Continue on macOS
46899 SIMATIC WinCC V15.1 Runtime installer: user can't accept license terms (richedit20 ITextRange::ScrollIntoView lacks handling of 'tomEnd')
46927 Oracle Java SE Runtime Environment 7/8, OpenJDK JVM for Windows with '-XX:+UseNUMA' setting needs kernel32.dll.VirtualAllocExNuma (Minecraft)
46934 Oracle Java SE Runtime Environment 7/8, OpenJDK JVM for Windows: InternalError: Should not get here at sun.nio.fs.WindowsNativeDispatcher.FindFirstStream0
46953 Watch_Dogs crashes after intro
46971 Multiple games crash at launch (Sniper Elite V2, Sniper Elite 3)
46974 Assetto Corsa sometimes crashes when clicking on buttons in the setup menu
46996 Improvements to the 7.1 and 5.1 to stereo conversion
46998 Yakuza Kiwami: Controllers aren't detected
46999 Controller with invalid HID range value causes division by zero error
47009 msi x64 installation file created by Visual Studio cannot be uninstalled
47022 Multiple performance monitor applications fail to display system physical/committed virtual memory usage (Sysinternals Process Explorer v16.x, builtin Taskmgr)
47031 widl generates invalid typelib when importing types from multiple typelibs
47034 Star Wars The Old Republic - Certificate Authentication Failed with wine-dev 4.6 (regression)
47039 Shantae Risky's Revenge has a blank screen in Wine 4.6
47051 Microsoft Excel 2016 (Office 365) crashes on startup (Microsoft AppV ISV virtual filesystem technology requires kernel32.CreateActCtxW to be hot-patchable)
47055 Unloaded modules traces are not accessible (RtlGetUnloadEventTraceEx)
47063 Command Link Support in Wine
47065 Vocaloid 5 (.NET 4.x app) crashes on startup (needs 'Win32_OperatingSystem' WMI class 'SystemDrive' property)
----------------------------------------------------------------
Changes since 4.6:
Akihiro Sagawa (18):
user32/tests: Use GREEK_CHARSET in margin tests to avoid Associated Charset feature.
user32/tests: Remove win9x workarounds in margin tests.
user32/tests: Use calculated WM_SETFONT margins in the CJK case.
user32: Implement WM_SETFONT margins in the CJK case.
user32/tests: Add more margin tests in CJK font case.
user32: Fix edit control margins in CJK font case.
comctl32/tests: Use GREEK_CHARSET in margin tests to avoid Associated Charset feature.
comctl32/tests: Skip margin tests if a font for the target charset isn't available.
comctl32/tests: Use EM_SETMARGINS to test EC_USEFONTINFO margins.
comctl32/edit: Fix minimum control size conditions when using EC_USEFONTINFO.
comctl32/tests: Move the default margin size tests into a separate function.
comctl32/tests: Add Unicode version tests for Edit control margins.
comctl32/tests: Tests default margin size with various font face and charset.
comctl32/tests: Use calculated EC_USEFONTINFO margins in the CJK case.
comctl32/edit: Implement EC_USEFONTINFO margins in the CJK case.
comctl32/tests: Use calculated WM_SETFONT margins in the CJK case.
comctl32/edit: Implement WM_SETFONT margins in the CJK case.
user32: Make the second parameter of get_font_margins const.
Alexandre Julliard (41):
configure: Don't inherit CFLAGS for cross-compilation.
configure: Cache result of the cross-compiler check.
configure: Also cache negative results of soname checks.
configure: Cache result of the flex version check.
configure: Cache results of the compiler checks.
configure: Cache result of the msgfmt check.
shell32: Fix compiler warnings for the Windows build.
winegcc: Add option to put a builtin dll signature in the DOS header of PE files.
server: Add flag for builtin dlls in the image information.
ntdll: Move open_dll_file() to avoid forward declarations.
ntdll: Only pass the NT path name to open_dll_file().
ntdll: Add support for loading PE builtin dlls.
setupapi: Add support for installing PE builtins as fake dlls.
winetest: Also check for builtin dll signature.
winedump: Also check for builtin dll signature.
makefiles: Build modules that don't contain code as PE builtins.
include/msvcrt: Define math constants by default, for compatibility with Mingw.
include/msvcrt: Remove some prototypes that conflict with gcc builtins.
include/msvcrt: Make offsetof constant for compatibility with Mingw.
include/msvcrt: Use _fpclass() instead of _dclass().
include/msvcrt: Add noreturn attributes.
cryptnet/tests: Avoid using snprintf().
fusion/tests: Avoid using snprintf().
mshtml/tests: Avoid using snprintf().
msi/tests: Avoid using snprintf().
ole32/tests: Avoid using snprintf().
setupapi/tests: Avoid using snprintf().
widl: Use %define parse.error verbose instead of %error-verbose.
d3dcompiler: Use %define parse.error verbose instead of %error-verbose.
wbemprox: Use %define parse.error verbose instead of %error-verbose.
ntdll: Use the correct type for %llu scanf format.
makefiles: Allow using EXTRADLLFLAGS instead of APPMODE.
makefiles: Build stub programs with msvcrt.
makefiles: Build stub services with msvcrt.
makefiles: Build modules that use msvcrt as PE builtins.
makefiles: Don't use -fno-builtin flag with MinGW.
makefiles: Build all tests with msvcrt.
configure: Add check for recent enough bison.
msvcrt: Don't export the __p__* functions on 64-bit.
include/msvcrt: Add stdint.h header.
makefiles: Don't allow using system headers with msvcrt.
Alistair Leslie-Hughes (6):
include: Remove duplicate extern C from d3dx10core.idl.
include: Remove duplicate extern C from mimeole.idl.
include: Remove duplicate extern C from vsbackup.idl.
winex11/wintab: Set all Device Orientation values.
xinput: Check that we actually received a value before assignment.
dinput: Don't report SysMouse/Keyboard devices as supporting Force Feedback.
Andreas Maier (2):
jscript: Stub Enumerator object.
jscript_test: Simple test for Enumerator().
Andrew Eikum (1):
dinput: Report controllers as gamepads, not joysticks.
Andrey Gusev (2):
dxgi: Add DECLSPEC_HOTPATCH to d3d11_swapchain_Present().
setupapi: Add DECLSPEC_HOTPATCH to SetupDiEnumDeviceInfo().
André Hentschel (1):
ntdll: Reuse signal to trap translation for FreeBSD on ARM.
Bruno Jesus (1):
mciavi32: Add Support for MCI_MCIAVI_PLAY_FULLSCREEN.
Damjan Jovanovic (4):
configure: Link wineserver to libinotify if necessary.
qcap/tests: Fix a COM reference leak in the audiorecord test.
avicap32: Verify v4l devices can capture before returning them.
devenum: Iterate over all avicap devices instead of giving up at the first failure.
Derek Lesho (4):
ntoskrnl.exe: Implement PsLookupThreadByThreadId.
server: Allow creating process kernel objects.
ntoskrnl.exe: Implement process object constructor.
ntoskrnl.exe: Implement PsLookupProcessByProcessId.
Detlef Riekenberg (3):
taskschd/tests: Avoid a crash in a test after E_ACCESSDENIED.
qcap/tests: Avoid a crash in a test.
kernel32/pipe: Avoid a crash in a test.
Dmitry Timoshkov (2):
cryptui: Implement CryptUIDlgSelectCertificateFromStore.
kernel32: Add MapUserPhysicalPages stub.
Erich Hoover (5):
server: Add default security descriptor ownership for processes.
server: Add default security descriptor DACL for processes.
kernel32: NeedCurrentDirectoryForExePath does not use the registry.
advapi32: Move the DACL combining code into a separate routine.
advapi32: Fix the initialization of combined DACLs when the new DACL is empty.
Fabian Maurer (2):
kernel32: Partially implement VirtualAllocExNuma.
kernel32: Stub FindFirstStreamW/FindNextStreamW.
François Gouget (2):
d3d10core/tests: Limit the flood of failures in test_depth_bias().
d3d11/tests: Limit the flood of failures in test_depth_bias().
Gabriel Ivăncescu (7):
comctl32/tests: Avoid leaks by moving creation calls outside the loop.
comctl32/button: Preserve BST_HOT when mouse button is released.
comctl32/button: Move the drawing of the button's image into a separate function.
comctl32/button: Implement command links.
comctl32/button: Implement themed command links.
comctl32/button: Implement BCM_GETIDEALSIZE for command links.
comctl32/tests: Test for BCM_GETIDEALSIZE on command links with notes.
Gijs Vermeulen (2):
riched20: Handle tomEnd in ITextRange::ScrollIntoView.
ntoskrnl.exe: Add Ex[p]InterlockedFlushSList.
Hans Leidekker (11):
msi: Use KEY_WOW64_* flags in ACTION_Register/UnregisterClassInfo.
msi: Get rid of a redundant get_registry_view call.
msi: Take architecture into account when accessing the shared dll reference count.
msi: Remove system environment variables on uninstall.
msi: Fix architecture handling in the AppSearch action.
msi: Get rid of redundant KEY_WOW64_64KEY flags.
msi/tests: Check the NT key first when retrieving registered owner and organization.
msi: Always use the 64-bit registry view to retrieve registered owner and organization.
wineboot: Also process Run keys from the 32-bit registry view.
wbemprox: Implement Win32_OperatingSystem.SystemDrive.
wbemprox/tests: Introduce a helper to check properties.
Henri Verbeet (5):
wined3d: Pass a wined3d_adapter_gl structure to wined3d_adapter_gl_init().
wined3d: Assign "adapter_ops" in wined3d_adapter_init().
wined3d: Don't bother allocating "free_fences" in context_create().
wined3d: Don't bother allocating "free_occlusion_queries" in context_create().
wined3d: Don't bother allocating "free_timestamp_queries" in context_create().
Isira Seneviratne (1):
po: Update Sinhala translation.
Jacek Caban (26):
mshtml: Support type conversion in functions with arguments using default values.
mshtml: Support argument type conversion for functions with IDispatch arguments.
mshtml: Support argument type conversion for functions with dual interface arguments.
mshtml: Support argument type conversion for functions with dual interface return type.
mshtml/tests: Properly release elem2 in test_elem_bounding_client_rect.
mshtml: Add ISVGElement stub implementation.
mshtml: Add ISVGSVGElement stub implementation.
mshtml: Add ISVGCircleElement stub implementation.
mshtml: Add ISVGTSpanElement stub implementation.
mshtml: Use DispHTMLDOMImplementation for IDispatchEx implementation.
mshtml: Pass style value as nsAString to set_nsstyle_property.
mshtml: Use nsAString in fix_px_value.
mshtml: Return nsAString from var_to_styleval.
mshtml: Factor out variant_to_nsstr from var_to_styleval.
mshtml: Use variant_to_nsstr in IHTMLDOMNode3::put_textContent.
mshtml: Support VT_R8 in variant_to_nsstr.
jscript: Fix handling empty string regexp matches in String.prototype.split implementation.
jscript: Don't skip empty strings in String.prototype.split in ES5 mode.
msvcp140: Add _Resize implementation.
ntoskrnl.exe/tests: Add more NtOpenThread tests.
ntoskrnl.exe: Return error codes compatible with recent Windows versions in PsLookupThreadByThreadId.
ntoskrnl.exe: Add MmUnmapLockedPages stub.
server: Allow creating file kernel objects.
server: Set file user pointer in get_next_device_request handler.
server: Ensure that IRP_MJ_CLOSE is queued only once.
server: Use generic kernel object list to store client device file pointer.
John Thomson (1):
shell32: Do not fail in SHCreateDirectoryExW for ERROR_ALREADY_EXISTS.
Józef Kucia (7):
d3d9: Fix memory leak in device_init() (Coverity).
wined3d: Make the adapter responsible for creating devices.
wined3d: Create Vulkan device for wined3d_device_vk.
d3d11: Fix d3d11_immediate_context_RSGetScissorRects().
d3d11: Fix d3d10_device_RSGetScissorRects().
wined3d: Use vkGetDeviceProcAddr() to load Vulkan device functions.
wined3d: Avoid enabling all features supported by Vulkan physical device.
Louis Lenders (4):
ntdll: Add DECLSPEC_HOTPATCH to NtQueryDirectoryFile.
ntdll: Add DECLSPEC_HOTPATCH to NtQueryValueKey.
rpcrt4: Quiet two noisy fixme`s.
kernel32: Add DECLSPEC_HOTPATCH to CreateActCtx.
Marko Friedemann (1):
wintrust: Use enhanced crypto provider in VerifyImageHash.
Martin Storsjo (2):
msvcrt: Fix the fallback implementation of asinh for large negative values.
msvcrt: Hook up the unprefixed logb/logbf/logbl functions for msvcr120/ucrtbase.
Mathew Hodson (1):
include: Add cast to avoid a compiler warning on MSVC.
Michael Müller (2):
avifile.dll16: Correctly convert result of AVIStreamGetFrame to a segptr.
avifile.dll16: Convert between AVISTREAMINFO (16 bit) and AVISTREAMINFOA.
Nikola Pavlica (2):
dsound: Revised 5.1 to stereo downmix.
dsound: Added 7.1 to stereo downmix.
Nikolay Sivov (36):
mf/tests: Fix test crash on Vista.
include: Add IMFPMediaPlayer definition.
dwrite/layout: Fix invalid index access to cluster array.
ntdll/tests: Add some tests for thread suspend/resume.
mfreadwrite: Output warning for uninitialized stream descriptor.
mfplat/tests: Add a test for stream descriptor major type behavior.
mfreadwrite: Duplicate media type returned with GetNativeMediaType().
mfreadwrite: Add a helper to get associated event object value.
mfreadwrite: Add a helper to get stream identifier.
mfreadwrite: Handle MEMediaSample event.
mfreadwrite/tests: Add some tests for ReadSample().
ntdll: Add NtSuspendProcess()/NtResumeProcess() implementation.
dbgeng: Add support for non-invasive attach on WaitForEvent().
dbgeng: Implement GetNumberModules().
dbgeng: Implement GetModuleByIndex().
dbgeng: Implement GetModuleParameters().
dbgeng: Implement GetModuleByOffset().
mfreadwrite: Add partial implementation of ReadSample().
mfreadwrite: Handle failure path in GetNativeMediaType().
mfreadwrite: Wake also on new streams.
mfreadwrite: Handle some of stream state change events.
mfplay: Add a stub for MFPCreateMediaPlayer().
ntdll/tests: Add some tests for unloaded modules traces.
ntdll: Implement RtlGetUnloadEventTrace()/RtlGetUnloadEventTraceEx().
dbgeng: Implement ReadVirtual().
dbgeng: Implement IsPointer64Bit().
dbgeng: Implement GetExecutingProcessorType().
dbgeng: Partially implement GetModuleNameString().
dbgeng: Implement GetModuleVersionInformation().
comctl32/button: Improve repainting on WM_SETFOCUS.
dbgeng: Improve GetDebuggeeType() stub.
dbgeng: Set module timestamp field.
dbgeng: Add IDebugAdvanced stub.
dbgeng: Add IDebugSystemObjects stub.
kernel32/tests: Add a test for critical section DebugInfo initial value.
mfplat: Add partial implementation of ConvertToContiguousBuffer().
Paul Gofman (1):
wined3d: Use intBitsToFloat() instead of uintBitsToFloat().
Qian Hong (1):
advapi32/tests: Test prefix and use of TokenPrimaryGroup Sid.
Stefan Dösinger (1):
winemac: Add +fps support for Vulkan.
Vijay Kiran Kamuju (18):
include: Add missing includes, functions to qos2.h.
qwave: Add stub for QOSCreateHandle and tests.
kernel/nls: Fix country name in Tatar locale.
kernel/nls: Fix LOCALE_SNAME for Azeri (Cyrillic).
kernel/nls: Fix LOCALE_SNAME for Uzbek (Cyrillic).
kernel/nls: Fix LOCALE_SNAME for Serbian (Cyrillic).
kernel/nls: Fix country name and sname in English-Caribbean locale.
kernel/nls: Fix country name in Manx Gaelic locale.
kernel32: Add implementation of CAL_SSHORTESTDAYNAME*.
ntdll: Report system information SystemPerformanceInformation info class.
kernel/nls: Add LOCALE_SMONTHDAY to all supported languages.
kernel/nls: Fix LOCALE_SLONGDATE and LOCALE_SYEARMONTH for some chinese locales.
kernel32: Add implementation for CAL_SMONTHDAY.
kernel/nls: Fix LOCALE_SABBREVCTRYNAME for Serbian.
include: Add CAL_UMALQURA definition to winnls.h.
include: Add missing ACE and ACL related defines in winnt.h.
include: Add missing structures for ACE and Tokens in winnt.h.
advapi32/tests: Add additional tests for NtAccessCheck.
Vincent Povirk (2):
mscoree: Try skipping c: when searching for support msi.
mscoree: Update Wine Mono to 4.8.3.
Vladimir Bespalov (1):
user32: Make LoadString[AW] patchable.
Zebediah Figura (38):
qedit/tests: Add more tests for sample grabber filter interfaces.
qedit/samplegrabber: Don't expose IMediaPosition from the filter.
qedit/samplegrabber: Don't expose IMediaSeeking from the filter.
qedit/tests: Test that reference counts are shared between interfaces.
qedit/tests: Add some tests for IBaseFilter::EnumPins() on the sample grabber.
qedit/tests: Add some tests for IBaseFilter::FindPin() on the sample grabber.
qedit/tests: Add some tests for querying sample grabber pin information.
qedit/samplegrabber: Separate sink and source QueryInterface() implementations.
qedit/tests: Add some tests for sample grabber pin interfaces.
qedit/tests: Clean up and expand aggregation tests.
qedit: Fix return code for requesting aggregation with an interface other than IUnknown.
quartz: Vend CLSID_NullRenderer from qedit.
widl: Correctly set the import library offset for all imported types.
msi: Fix handling of architecture in MSIREG_{Open, Delete}UninstallKey().
winecfg: Use GetSysColorBrush().
winecfg: Also set the text color for the license and version controls.
user32: Use GetSysColorBrush().
wordpad: Use GetSysColorBrush().
regedit: Use the default implementation of WM_ERASEBKGND.
qedit/tests: Abort on missing qedit.dll.
qedit/tests: Add some tests for null renderer filter interfaces.
qedit/tests: Add some tests for IBaseFilter::EnumPins() on the null renderer.
qedit/tests: Add some tests for IBaseFilter::FindPin() on the null renderer.
qedit/tests: Add some tests for querying null renderer pin information.
qedit/tests: Add some tests for null renderer pin interfaces.
qedit/tests: Add a test for aggregation on the null renderer.
quartz/tests: Clean up and expand tests for aggregation.
regedit: Use an I-beam cursor in the hex edit dialog.
devenum: Fix device and friendly name for video capture devices.
qcap: Use the v4l2 device_caps field if supported.
amstream: Reference the returned IMediaStream pointer in IAMMultiMediaStream::AddMediaStream().
amstream/tests: Add some test for supported interfaces.
amstream/tests: Add tests for IMediaStreamFilter::EnumPins().
amstream/tests: Add some tests for IMediaStreamFilter::FindPin().
amstream/tests: Add some tests for querying pin information.
quartz: Get rid of register_coclasses().
quartz: Get rid of register_interfaces().
winegstreamer: Convert media type registration to IRegistrar mechanism.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.6 is now available.
What's new in this release (see below for details):
- Beginnings of a Vulkan backend for WineD3D.
- Support for loading Mono libraries from a shared location.
- Libwine.dll no longer needed when using Wine DLLs on Windows.
- Regression tests compiled directly to PE format.
- Support for the Split Button Common Control.
- Complex structs support in the typelib marshaller.
- Video capture ported to Video4Linux version 2.
- Initial version of the Debug Engine DLL.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.6.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.6.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.6 (total 50):
8036 The Spirit Engine's save/load functionality does not work
14415 Monkey Island 3 demo slow
15232 Button in simple OpenGL application gets overdrawn
18099 No keyboard response in Super Mario 3 remake
20082 SIV (System Information Viewer) v4.00 SIVDRIVER crashes (IRP_MJ_CREATE and IRP_MJ_CLOSE dispatch routines not called)
20123 Addition of Windows Vista/7 Split Button Support
21161 Still Life 2 Demo: Black and broken textures
21403 Shiva Editor/Evochron: Mercenary refuse to run with built-in dinput/dinput8.dll
24429 fifaconfig.exe: save function don`t work when Wine uses Mono 2.6 instead of dotnet20
27629 Pride of Nations Demo: crashes before entering game
28140 Theatre of War 3: Korea demo 1.2.0 crashes on startup (hook engine can't cope with GOT/PIC register load code at API entry, needs DECLSPEC_HOTPATCH for kernel32.SizeofResource and kernel32.FindClose)
32086 LBA2 black screen above diagonal from bottom left to upper right
33845 Warframe (Steam) updater fails to replace 'Launcher.exe', reports sharing violation
33904 Face Noir demo crashes on start without native d3dx9_36 ('D3DXLoadSkinMeshFromXof' must return 'ID3DXSkinInfo' interface even with no skinning info present)
34237 Jenkins 1.526 service (.NET 2.0 app) fails to install with Wine-Mono
37784 wine-mono does not appear in "wine uninstaller" list on a 64-bit prefix
38307 Last Half of Darkness: Beyond the Spirit's Eye crashes at start
40544 Ultimate Unwrap Pro v3.50.14 x64 demo: Fails to run
42103 VSCode.exe v1.8.1 crash
42572 Older directx games (Revenant) have black character models
43270 Exact Audio Copy does not detect plugins
43356 Mass Effect (1) Steam freezes since Steam Update from 8th of July 2017
43411 Older directx games (The Sims, Revenant) - Screen not redrawing properly (needs Set/GetClipStatus implementation)
45325 Ubisoft detection tool dont recognize correctly cpu
45844 Battleye's BEDaisy.sys requires correct KeGetCurrentThread implementation
45854 Magic the Gathering demo graphical glitch with virtual desktop
45878 Aruba digital signature crashes on missing hid.dll.HidD_FlushQueue
46019 Multiple NSIS 2.x based installers fail due to invalid module handle passed to 'kernel32.FreeLibrary', causing code dll unmapped as data dll (Adobe Digital Editions 4.5.x, ConceptDraw Office 4)
46115 Cursor in unity games moving down and to the right one pixel on any mouse interaction
46187 Windows PowerShell Core 6.2 Preview 2 for ARM32 crashes due to unhandled trap_no 0 (write watch access causes SIGSEGV)
46189 Windows PowerShell Core 6.2 Preview 2 for ARM32 crashes due to ntdll 'set_cpu_context' not restoring Thumb mode during return from exception handling
46205 Multiple kernel drivers need implementation of 'ntoskrnl.ObReferenceObjectByHandle' for 'PsThreadType' (PETHREAD)
46316 Hauppauge Capture version 36187 crashes during install
46711 Since 3.3 other HID devices than Joysticks not supported anymore
46713 School days HQ occasional divide by zero
46800 LINE (Powered by Naver): LINE v5.12.XXX series crashes after few seconds
46804 StarForce v3 kernel driver service 'sfhlp02' crashes in driver entry point due to 'ntoskrnl.exe.IoCreateSynchronizationEvent' stub
46829 Wizard101 crashes after playing the game after awhile.
46863 If prefix contains "windows" drive information not available in 64-bit prefix
46898 SIMATIC WinCC V15.1 Runtime installer fails in Windows 7 mode, reporting "The Microsoft security update KB3033929 was not found on your system." ('ksecdd.sys' missing with version resource)
46902 SIMATIC WinCC V15.1 Runtime installer: S7Inst64.exe sub-installer crashes on unimplemented function msvcr110.dll._wcsnset_s
46903 SIMATIC WinCC V15.1 Runtime installer: AdHocSigner.exe tool crashes on unimplemented functions mssign32.dll.SignerSignEx and SignerFreeSignerContext
46917 d3d8/9 visual tests fail on i965
46923 X-Tension, X-Beyond The Frontier: Dynamic light breaks after opening up a menu
46928 Atelier Firis config tool doesn't show up when launched through Steam
46939 propvarutil.h: missing extern "C"
46954 Relay trace causes crash in wine_dbgstr_wn helper due to invalid string pointer access
46968 ksecdd.sys is not copied when creating/updating WINEPREFIX (SIMATIC WinCC V15.1 Runtime installer)
46979 Winecfg hangs (winedevice.exe 100% CPU usage) when removing an assigned drive
46991 debug.h warning: "conversion from 'WCHAR' to 'char', possible loss of data" on line 293
----------------------------------------------------------------
Changes since 4.5:
Akihiro Sagawa (4):
gdi32: Implement GetCharWidthInfo().
gdi32/tests: Add tests for GetCharWidthInfo().
user32/tests: Use calculated EC_USEFONTINFO margins in the CJK case.
user32: Implement EC_USEFONTINFO margins in the CJK case.
Alexandre Julliard (71):
notepad: Use C runtime wchar functions instead of wine/unicode.h.
reg: Use C runtime wchar functions instead of wine/unicode.h.
regedit: Use C runtime wchar functions instead of wine/unicode.h.
taskmgr: Use C runtime wchar functions instead of wine/unicode.h.
wordpad: Use C runtime wchar functions instead of wine/unicode.h.
msvcp: Use C runtime wchar functions instead of wine/unicode.h.
include: Disallow using unicode.h when building against msvcrt.
libwine: Move string functions to libwine_port.
crtdll: Sort source file list.
msvcrt: Add MSVCRT_ prefix to the spawn() functions.
msvcrt: Export an import symbol for __acrt_iob_func() for compatibility with Mingw.
msvcp: Define _vsnprintf().
libport: Don't hide the casemap and wctype tables.
ntdll: Use static debug info before initialization is done.
include: Make wine_dbgstr_an()/wine_dbgstr_wn() into inline functions.
include: Make wine_dbg_sprintf() into an inline function.
include: Make wine_dbg_printf() into an inline function.
ntdll: Export __wine_dbg_get_channel_flags().
include: Make wine_dbg_log() into an inline function.
ntdll: Remove no longer used debug functions.
ntdll: Store offsets instead of pointers in the debug_info structure.
winecrt0: Add a fallback implementation of __wine_dbg_strdup().
winecrt0: Add a fallback implementation of __wine_dbg_output().
winecrt0: Add a fallback implementation of __wine_dbg_get_channel_flags().
winecrt0: Add a fallback implementation of __wine_dbg_header().
reg: Add missing null to terminate a string.
libport: Add stubs for libwine functions that don't make sense on Windows.
makefiles: Don't use libwine for Windows builds.
libwine: Remove some conditional code that was only needed for Windows.
winebuild: Avoid using mmap().
winedump: Avoid using mmap().
configure: Remove some obsolete checks.
configure: Also build msvcrt for Windows.
configure: Add --with-mingw option and print a notice when not found.
ntdll: Define IsBadStringPtr to handle exceptions in debug traces.
kernel32: Validate handle before freeing a LOAD_LIBRARY_AS_DATAFILE module.
msvcrt: Don't export _matherr().
winegcc: Use Wine's msvcrt for Windows builds.
winmm/tests: Fix printf format warnings for the Windows build.
winecrt0: Avoid using wine/port.h.
makefiles: Don't link against wine_port when using msvcrt.
configure: Check for supported warning flags also for the cross-compiler.
wine.inf: Remove invalid comma.
configure: Use CROSSCFLAGS when testing the cross-compiler.
d3dxof: Avoid using DPRINTF().
krnl386.exe: Avoid using DPRINTF().
ntdll: Avoid using DPRINTF().
wineps: Avoid using DPRINTF().
include: Get rid of the DPRINTF() macro.
msvcrt: Don't set invalid std handles with kernel32.
makefiles: Add a helper to generate a winegcc command line.
makefiles: Default to building test resource dlls as PE.
makefiles: Default to building test modules as PE.
makefiles: Store resource files in a separate array.
makefiles: Unify APPMODE and EXTRADLLFLAGS variables.
msvcp: Rename clog variable to avoid conflict with builtin function.
msvcp: Remove some redundant clearing of buffers.
msvcrt/tests: Use existing function pointers to call functions.
msvcrt/tests: Add some function pointers to bypass gcc builtin functions.
include: Add cast to avoid a compiler warning on MSVC.
msvcp60: Rename clog variable to avoid conflict with builtin function.
msvcirt: Rename clog variable to avoid conflict with builtin function.
include: Default to the standards-compliant version of swprintf().
include: Add wcsicmp() inline wrapper.
msvcrt/tests: Add a function pointer to bypass builtin printf().
ntoskrnl.exe/tests: Avoid standard C functions in kernel drivers.
wmc: Avoid using wine/unicode.h on Windows.
wrc: Avoid using wine/unicode.h on Windows.
sfnt2fon: Avoid using wine/unicode.h on Windows.
makefiles: Stop installing wine/unicode.h.
configure: Set wine_makedep variable outside of the cache check.
Alistair Leslie-Hughes (8):
uianimation: Add DllCanUnloadNow, DllGetClassObject, DllRegisterServer, DllUnregisterServer stubs.
include: Wrap D3DX10 functions in extern "C".
winecrt0: Correct compile error with older gcc.
hid: Implement HidD_FlushQueue().
winejoystick.drv: Remove support for linux kernels older than 2.2.
winex11: Implement PK_CHANGE for wintab.
wintab32: Improve tracing of LOGCONTEXT.
wintab32/tests: Add WTInfoA tests.
André Hentschel (5):
ntdll: Add stub for RtlInstallFunctionTableCallback on ARM/ARM64.
ntdll: Adjust PC according to THUMB/ARM flag.
kernel32: Add forward for RtlInstallFunctionTableCallback on ARM/ARM64.
include: Fix vararg standard call types for ARM.
ntdll: Translate signal to trap when trap code is 0 on ARM.
Aric Stewart (1):
winebus.sys: Allow mapping of SDL controllers.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Austin English (2):
propvarutil.h: Add extern "C" if __cplusplus is defined.
ksecdd.sys: Add stub driver.
Christian Costa (1):
d3dx9/tests: Add tests for 32 bpp BMP with alpha.
Detlef Riekenberg (4):
ntdll/tests: Fix failures in the file tests.
combase/tests: Remove a no longer useful test.
iphlpapi/tests: Remove a test with a wrong assumption.
kernel32/tests: Fix FormatMessage test failures on recent win10 (ERROR_NO_WORK_DONE).
Fabian Maurer (1):
sxs: Implement SxsLookupClrGuid and add tests.
François Gouget (3):
imagehlp/tests: Add a trailing '\n' to some ok() calls.
urlmon/tests: Minor spelling tweak in a comment.
Disable multithreaded DirectX tests if WINETEST_NO_MT_D3D is set.
Gabriel Ivăncescu (17):
shell32/autocomplete: Forward to the original listbox proc outside the switch.
shell32/autocomplete: Make the dropdown listbox a proper pop-up window.
shell32/autocomplete: Encapsulate the listbox into an owner window.
shell32/autocomplete: Use an owner-drawn listbox for the dropdown.
shell32/autocomplete: Use LBS_NODATA for the dropdown listbox.
comctl32/button: Center align split buttons' text by default.
comctl32/button: Implement BCM_SETDROPDOWNSTATE.
comctl32/button: Implement BCM_SETSPLITINFO.
comctl32/button: Implement BCM_GETSPLITINFO.
comctl32/tests: Add tests for BCM_SETSPLITINFO and BCM_GETSPLITINFO.
comctl32/button: Implement split buttons.
comctl32/button: Implement themed split buttons.
comctl32/tests: Add tests for BCN_DROPDOWN notification.
comctl32/button: Implement BCM_GETIDEALSIZE for split buttons.
comctl32/tests: Also test for split buttons when testing BCM_GETIDEALSIZE.
comctl32/button: Delay calling get_button_text until it is needed to prevent a leak.
comctl32/button: Use WM_GETTEXTLENGTH to see if the button has any text.
Gijs Vermeulen (5):
msvcrt/tests: Add missing return value check.
msvcrt: Implement _wcsnset_s.
kernel32: Add DECLSPEC_HOTPATCH to SizeofResource().
mssign32: Add SignerSignEx stub.
mssign32: Implement SignerFreeSignerContext.
Henri Verbeet (10):
wined3d: Introduce a Vulkan based adapter implementation.
d3d10core/tests: Introduce and use check_readback_data_u16.
d3d10core/tests: Introduce and use check_readback_data_u24.
d3d11/tests: Introduce and use check_readback_data_u16.
d3d11/tests: Introduce and use check_readback_data_u24.
wined3d: Get rid of wined3d_device_init_gdi().
wined3d: Get rid of wined3d_device_uninit_gdi().
ddraw: Simplify ddraw_destroy_swapchain().
wined3d: Explicitly create the implicit swapchain.
dxgi: Slightly simplify d3d11_swapchain_init().
Huw D. M. Davies (2):
wineps: Include the meta region in the clip region.
configure: Use a separate cache variable for the cross-compiler flags.
Isira Seneviratne (6):
po: Update Sinhala translation.
progman: Add missing apostrophe to IDS_SAVE_GROUP_AS_s string.
cmd: Correct capitalization of "Windows Explorer".
start: Correct capitalization of "Windows Explorer".
kernel32/winerror: Correct capitalization of "Windows" in ERROR_OLD_WIN_VERSION string.
po: Update Sinhala translation.
Jacek Caban (14):
mfobjects.idl: Add missing MFVideoTransferMatrix entries.
mshtml.idl: Add some SVG interfaces declaration.
server: Use generic kernel object list to store client device pointer.
ntoskrnl.exe: Implement IoCreateSynchronizationEvent.
ntoskrnl.exe: Don't add device to the list if IoCreateDevice fails.
server: Allow creating thread kernel objects.
ntoskrnl.exe: Implement thread object constructor.
ntoskrnl.exe: Implement KeGetCurrentThread.
ntoskrnl.exe: Reimplement PsGetCurrentProcessId and PsGetCurrentThreadId on top of KeGetCurrentThread.
server: Return client thread object pointer from get_next_device_request if available.
mshtml.idl: Add more SVG interfaces.
jscript: Support type conversion to VT_UI2.
ntoskrnl.exe: Use proper device handle in DevicePropertyPhysicalDeviceObjectName implementation.
ntoskrnl.exe: Open thread with THREAD_QUERY_INFORMATION access in KeGetCurrentThread.
Józef Kucia (22):
wined3d: Initialise Vulkan for adapters.
wined3d: Add support for USE_WIN32_VULKAN.
wined3d: Pass application info to Vulkan.
wined3d: Use Vulkan physical device properties to fill GPU description.
wined3d: Introduce support for Vulkan formats.
ddraw: Avoid passing invalid device type to wined3d.
wined3d: Map GL_EXT_texture_swizzle to GL_ARB_texture_swizzle.
wined3d: Handle GL_EXT_vertex_array_bgra directly in gl_extension_map.
wined3d: Implement adapter_vk_get_wined3d_caps().
wined3d: Initialise driver and device UUID for Vulkan adapters.
wined3d: Add support for Vulkan instance extensions.
d3d11/tests: Use check_readback_data_color() in test_clear_buffer_unordered_access_view().
d3d11/tests: Reduce output produced by test_clear_buffer_unordered_access_view().
winevulkan: Generate conversion function for VkInstanceCreateInfo structure extensions.
winevulkan: Generate conversion function for VkDeviceCreateInfo structure extensions.
winevulkan: Enable VK_AMD_memory_overallocation_behavior.
winevulkan: Enable VK_EXT_memory_priority.
winevulkan: Enable VK_EXT_external_memory_host.
winevulkan: Enable VK_KHR_shader_float16_int8.
winevulkan: Enable VK_EXT_ycbcr_image_arrays.
winevulkan: Enable VK_NV_cooperative_matrix.
winevulkan: Enable VK_NV_dedicated_allocation_image_aliasing.
Lauri Kenttä (1):
po: Update Finnish translation.
Mark Jansen (1):
wintrust: Verify image hash in WinVerifyTrust.
Martin Storsjo (4):
configure: Use -Werror=unknown-warning-option in later cross tests.
winebuild: Print the nm command in verbose mode.
msvcrt: Implement _get_environ and _get_wenviron.
msvcrt: Implement the remquo family of functions.
Matteo Bruni (2):
d3dx9/tests: Avoid a test failure on Vista testbot.
d3dx9: Fix argument type in convert_dib_to_bmp().
Micah N Gorrell (1):
winex11.drv: Recreate gl_drawable for top-level windows as non-top level when clipping for child windows is required.
Michael Müller (3):
l3codeca.acm: Check input format in MPEG3_StreamOpen.
taskmgr: Use system font instead of special bitmap font.
server: Correctly validate SID length in sd_is_valid.
Michael Stefaniuc (5):
user32: Avoid using the comma operator.
dxdiagn: Remove useless cast to self.
msg711.acm: Remove useless casts to self.
wineps.drv: Avoid using the comma operator.
gdi32/tests: Avoid the comma operator.
Nikolay Sivov (35):
mfplat: Partially implement MFCreateWaveFormatExFromMFMediaType() for PCM format.
mferror: Add more media source and stream error codes.
mfplat: Add symbolic names for event id tracing.
mfreadwrite: Partially implement setting output media types for reader.
mfreadwrite: Add a trace for async reader mode.
mfplat: Add per-method helpers for attributes, use them for media type.
mfplat: Use attributes helpers for stream descriptor.
mfplat: Use attributes helpers for presentation descriptor.
mfplat: Use attributes helpers for samples.
mfplat: Trace known format ids in MFCalculateImageSize().
mfplat: Use attributes helpers for events.
include: Add IDebugClient interface definition.
dbgeng: Add IDebugClient stub.
dbgeng: Add IDebugDataSpaces stub.
dbgeng: Add IDebugSymbols stub.
include: Add IDebugControl2 definition.
dbgeng: Add IDebugControl2 stub.
mferror: Consistently format error messages.
mfplat: Fix early return from GetString() (Coverity).
mfplat: Output warning for unexpected result object passed for periodic callback (Coverity).
mfplat/tests: Add some return value checks (Coverity).
mfreadwrite/tests: Add missing return value check (Coverity).
mfreadwrite/tests: Remove some null checks.
include: Add more audio format tags.
dbgeng: Implement engine options access methods.
dbgeng: Add IDebugSymbols3 definition.
mfreadwrite: Keep media stream id for event matching.
mfreadwrite: Handle MENewStream event.
mfreadwrite/tests: Add some tests for source reader.
mfreadwrite: Set url hint for WAVE audio streams.
mfreadwrite/tests: Remove broken test.
include: Add more dbgeng interface definitions.
dbgeng: Keep a list of processes to attach to.
dbgeng: Keep event callbacks pointer.
dbgeng: Update stub to IDebugSymbols3.
Paul Gofman (10):
ddraw: Fix ddraw[1-4] light activation / deactivation.
ddraw: Port light delete / add test for ddraw2.
ddraw: Port light delete / add test for ddraw1.
d3d9: Keep previous stream source stride and offset only when setting NULL buffer.
wined3d: Store and use stream offset in state block.
d3d8: Keep previous stream source stride only when setting NULL buffer.
kernel32: Add DECLSPEC_HOTPATCH to FindClose().
wined3d: Use ARB_shader_bit_encoding for storing local constants when available.
ddraw: Improve d3d_device7_GetClipStatus() stub.
xaudio2_7: Also preserve %ebx in call_on_voice_processing_pass_start().
Piotr Caban (33):
msvcr110: Fix __crtGetShowWindowMode implementation.
version: Don't use strncasecmp.
ver.dll16: Don't use strncasecmp.
user.exe16: Don't use strncasecmp.
tapi32: Don't use strncasecmp.
shell.dll16: Don't use strncasecmp.
ntoskrnl.exe: Don't use strcasecmp.
msvideo.dll16: Don't use strncasecmp.
msvfw32: Don't use strncasecmp.
mshtml: Don't use strncasecmp.
mscoree: Don't use strncasecmp.
krnl386.exe16: Don't use strncasecmp.
krnl386.exe16: Get rid of NE_str(n)casecmp helper.
iphlpapi: Don't use strncasecmp.
hhctrl.ocx: Don't use strncasecmp.
crypt32: Don't use strncasecmp.
ws2_32: Don't use strcasecmp.
wininet: Don't use strcasecmp.
winex11.drv: Don't use strcasecmp.
winspool.drv: Don't use strcasecmp.
wined3d: Don't use strcasecmp.
d3dxof: Don't use strncasecmp.
shell32: Don't use strcasecmp.
shlwapi: Fix PathIsContentTypeA implementation.
msi: Use case sensitive compare in handle_msi_break.
wineps.drv: Don't use strcasecmp.
d3d11: Don't use strcasecmp.
inetcomm: Don't use strcasecmp.
dinput: Don't use strcasecmp.
dbghelp: Don't use strcasecmp.
gdi32: Don't use strcasecmp.
d3dx9: Don't use strcasecmp.
d3dcompiler: Don't use strcasecmp.
Sebastian Lackner (4):
shlwapi: SHMapHandle should not set error when NULL is passed as hShared.
dinput: Do not wait for hook thread startup in IDirectInput8::Initialize.
dinput: Avoid deadlock when CS are acquired in different order.
user32: Implement CWF_CREATE_ONLY flag for CreateWindowStation.
Sergio Gómez Del Real (1):
riched20: Handle efficiently caret creation/destruction.
Thomas J. Moore (1):
ntdll: Also try to stat() the drive root.
Vijay Kiran Kamuju (4):
uianimation: Add stub dll.
d3dx9: Generate ID3DXSkinInfo in D3DXLoadSkinMeshFromXof() when needed.
taskmgr: Use StrFormatKBSizeW/StrFormatByteSizeW to show memory usage.
include: Add missing tags and defines in mmreg.h.
Vincent Povirk (7):
uninstaller: Re-exec as 64-bit in wow64.
mscoree: Update Wine Mono to 4.8.1.
mscoree: Check for mono runtime path in registry.
mscoree: Search shared addon locations for mono runtime.
mscoree: Update install process to account for shared installs.
mscoree: Don't return from _CorExeMain.
mscoree: Don't use a shared mono install with no drive letter.
Zebediah Figura (92):
quartz/tests: Clean up tests for video renderer filter interfaces.
quartz/tests: Add some tests for IBaseFilter_EnumPins() on the video renderer.
quartz/tests: Add some tests for IBaseFilter_FindPin() on the video renderer.
quartz/tests: Add some tests for querying video renderer pin information.
quartz/tests: Add some tests for video renderer pin interfaces.
setupapi: Also check devices not in the set when using DICD_GENERATE_ID.
hid: Fix length argument to GetOverlappedResult().
winebus.sys: Retrieve hidraw device strings from the parent USB device.
rpcrt4: Detect enums and aliases in get_base_type().
rpcrt4: Factor out type_pointer_is_iface().
rpcrt4: Handle TKIND_ALIAS in more places.
rpcrt4: Abort if an interface is passed directly to write_type_tfs().
rpcrt4: Improve struct type detection.
rpcrt4: Write parameters for fixed structs.
rpcrt4: Write type format strings for complex structs.
oleaut32/tests: Test marshalling of complex structs.
rpcrt4: Properly handle complex arrays in the typelib marshaller.
quartz/tests: Add some tests for video renderer media types.
quartz/tests: Link to strmiids and uuid.
quartz/tests: Add tests for IVMRFilterConfig on the VMR7.
quartz/vmr9: Avoid unloading d3d9 while holding d3d9 objects.
quartz/vmr9: Implement IVMRFilterConfig::SetRenderingMode().
quartz/tests: Add tests for VMR7 filter interfaces.
quartz/tests: Add tests for IBaseFilter::EnumPins() on the VMR7.
quartz/tests: Add tests for IBaseFilter::FindPin() on the VMR7 filter.
quartz/tests: Add tests for querying VMR7 pin information.
quartz/tests: Add tests for VMR7 pin interfaces.
d3d9/tests: Add more tests for calling stateblock methods while recording.
d3d9: Forbid applying a stateblock while recording.
d3d9: Forbid capturing a stateblock while recording.
d3d9: Forbid creating a stateblock while recording.
quartz/tests: Add tests for IVMRFilterConfig9 on the VMR9 filter.
quartz/tests: Add tests for VMR9 filter interfaces.
quartz/tests: Add tests for IBaseFilter::EnumPins() on the VMR9 filter.
quartz/tests: Add tests for IBaseFilter::FindPin() on the VMR9 filter.
quartz/tests: Add tests for querying VMR9 pin information.
d3d8/tests: Add more tests for calling stateblock methods while recording.
d3d8: Forbid applying a stateblock while recording.
d3d8: Forbid capturing a stateblock while recording.
d3d8: Forbid creating a stateblock while recording.
quartz/tests: Fix some VMR9 test failures.
quartz/tests: Add tests for VMR9 pin interfaces.
ddraw/tests: Add some tests for calling stateblock methods while recording.
ddraw: Return D3DERR_INBEGINSTATEBLOCK when BeginStateBlock() is called while recording.
ddraw: Return D3DERR_NOTINBEGINSTATEBLOCK when EndStateBlock() is called while not recording.
ddraw: Forbid applying a stateblock while recording.
ddraw: Forbid capturing a stateblock while recording.
ddraw: Forbid creating a stateblock while recording.
quartz/systemclock: Avoid a use-after-free (Coverity).
ntdll: Avoid crashing while tracing parameters to NtCreateNamedPipeFile().
qcap/tests: Add some tests for audio capture filter interfaces.
qcap/tests: Add some tests for IPersistPropertyBag on the audio capture filter.
qcap/tests: Add some tests for AVI compressor filter interfaces.
qcap/tests: Add some tests for IBaseFilter::EnumPins() on the AVI compressor.
qcap/avico: Fix pin IDs.
qcap/tests: Add some tests for IBaseFilter::FindPin() on the AVI compressor.
qcap/tests: Add some tests for querying AVI compressor pin information.
hid: Implement HidD_GetIndexedString().
devenum: Return S_FALSE from CreateClassEnumerator() if no devices exist.
qcap/tests: Add some tests for AVI compressor pin interfaces.
qcap/tests: Add some tests for IPersistPropertyBag on the AVI compressor.
qcap/avico: Initialize variant type to VT_BSTR in AVICompressorPropertyBag_Load().
qcap/tests: Get rid of test_AviCo().
qcap/tests: Add some tests for AVI compressor media types.
ntoskrnl.exe: Implement ExInitializeResourceLite().
ntoskrnl.exe: Implement ExAcquireResourceExclusiveLite().
ntoskrnl.exe: Implement ExAcquireResourceSharedLite().
ntoskrnl.exe: Implement ExAcquireSharedStarveExclusive().
ntoskrnl.exe: Implement ExAcquireSharedWaitForExclusive().
ntoskrnl.exe: Implement ExReleaseResourceForThreadLite().
ntoskrnl.exe: Implement ExReleaseResourceLite().
ntoskrnl.exe: Implement ExDeleteResourceLite().
qcap: Port to libv4l2.
qcap: Require libv4l2 to perform pixel format translation.
qcap: Get rid of no longer used YUV to RGB conversion routines.
ntoskrnl.exe: Implement ExGetExclusiveWaiterCount().
ntoskrnl.exe: Implement ExGetSharedWaiterCount().
ntoskrnl.exe: Implement ExIsResourceAcquiredExclusiveLite().
ntoskrnl.exe: Implement ExIsResourceAcquiredSharedLite().
ntoskrnl.exe/tests: Add tests for ERESOURCE functions.
qcap: Get rid of V4l_Unprepare().
qcap: Get rid of V4l_Prepare().
qcap: Get rid of V4l_GetFrame().
qcap: Get rid of an unnecessary allocation and copy.
qcap: Make the image buffer a local variable.
winex11: Resize the screen when changing CRTC modes.
qcap/tests: Remove some unnecessary workarounds.
qcap/tests: Add some tests for smart tee filter interfaces.
qcap/tests: Add some more tests for IBaseFilter::EnumPins() on the smart tee filter.
qcap/tests: Add some tests for IBaseFilter::FindPin() on the smart tee filter.
qcap/tests: Add more tests for querying smart tee pin information.
qcap/tests: Add more tests for smart tee pin interfaces.
Zhiyi Zhang (5):
dinput: Fix a possible deadlock at exit.
ntdll/tests: Test readonly file access.
kernel32/tests: Test readonly file access.
kernel32/tests: Add more tests for ReplaceFileA().
kernel32: Open replaced file without GENERIC_WRITE in ReplaceFileW().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.5 is now available.
What's new in this release (see below for details):
- Support for Vulkan 1.1.
- Better support for kernel objects in device drivers.
- Still more Media Foundation APIs implemented.
- Support for SVG elements in MSHTML.
- Fixes for case conversion troubles in Turkish locale.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.5.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.5.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.5 (total 30):
19098 Regedit randomly crashes when deleting registry keys
23455 FileAlyzer 1.6.0.4, Affinity-installer-1.6.5.123 can't load PE images (needs imagehlp.ImageLoad and imagehlp.ImageUnload implementation)
26445 URLDownloadToFileW does not support FTP URLs
38087 Settlers III: mouse not working on start screen and menu (after fixing raw input bug 33479)
38801 Settlers Heritage of Kings crashes when loading a map
41591 Solidworks 2016 installer needs ADVAPI32.dll.RegLoadAppKeyW
45322 League Of Legends installer on tr_TR.UTF-8: unknown color "systemhighlight"
45429 Inno Setup v5.x based game-installers using 'wintb' plugin fail with: 'Runtime error 229 at <address>' (Win7+ ITaskbarList3 ThumbBar/Thumbnail semi-stubs needed)
45497 Biamp Systems Nexia v3.3: Button labels missing in DSP controls
45998 64-bit FACEIT Anti-cheat client claims "Your system is out of date, you are missing important Windows updates!" (needs 'wintrust.CryptCATAdminAcquireContext2' stub)
46115 Cursor in unity games moving down and to the right one pixel on any mouse interaction
46222 Star Citizen hang on splash screen
46643 Belarc Advisor Computer Inventory 9.0 crashes on unimplemented function advapi32.dll.AuditQuerySystemPolicy with WinVer >= Windows Vista
46807 The Sims hangs when opening menus
46812 PS4 Remote Play installer 2.8.x fails, claims 'You need the Media Feature Pack' (MsiGetDatabaseState is called from a custom action)
46830 Gaea 1.0.x installer stops: err:msi:ITERATE_Actions Execution halted, action L"WixSchedInternetShortcuts" returned 1603 (MsiViewGetErrorA/W() needs to be RPC-compatible)
46833 Multiple application installers fail with err:msi:ITERATE_Actions Execution halted, action L"<custom action>" returned 1603 (iTunes 12.9.3.3, Dameware Mini Remote Control 10.x)
46845 Freelancer: character glitches in cutscenes after loading a saved game
46846 msi x64 installer does not display splash and other texts like a license agreement
46848 PTC Mathcad Prime 3.0 Web installer crashes on unimplemented function api-ms-win-crt-convert-l1-1-0.dll.wctrans
46851 Can't input Japanese text after updating to 4.4.
46881 Power World Simulator installer needs unimplemented function msi.dll.MsiSourceListForceResolutionW
46885 Multiple applications fail to install with wine-4.4-114-g15f852015a+, reporting err:msi:ITERATE_Actions Execution halted, action L"BindImage" returned 1615 (MS Office 2007, AstroToaster 2.x. MS .NET Framework 4.x)
46892 redefinition of typedef ‘UUID’
46894 SIMATIC WinCC V15.1 Runtime installer (.NET 4.0) fails in CoreLib::GetPhysicalMemoryAmountWmi() (missing 'DeviceLocator' property of 'Win32_PhysicalMemory' WMI class)
46895 SIMATIC WinCC V15.1 Runtime installer (.NET 4.0) fails due to missing 'OperatingSystemSKU' property of 'Win32_OperatingSystem' WMI class
46906 SIMATIC WinCC V15.1 Runtime installer: SeCon tool 'SeCon_Win32.exe' crashes due to hnetcfg 'INetFwRules::get__NewEnum' not initializing out parameter
46907 msi crashes in RemoveFiles action for a broken msi
46908 Support msvcp mtx_init 'mtx_try' flag (0x2) to create a mutex object that supports test and return
46909 Missing (black) textures in Black & White
----------------------------------------------------------------
Changes since 4.4:
Akihiro Sagawa (7):
user32/tests: Skip margin tests if a font for the target charset isn't available.
user32/tests: Use EM_SETMARGINS to test EC_USEFONTINFO margins.
user32: Fix minimum control size conditions when using EC_USEFONTINFO.
user32/tests: Move the default margin size tests into a separate function.
user32/tests: Add Unicode version tests for Edit control margins.
user32/tests: Tests default margin size with various font face.
imm32: Correctly return the size of the required output buffer.
Alexandre Julliard (22):
winebuild: Use proper RVAs for the export table on Windows.
makefiles: Pass --subsystem to the linker also.
winebuild: Set the import hint based on the name index.
winebuild: List stubs in the import library .def files.
winedump: Also print the thunk address for ordinal imports.
make_unicode: Don't output array sizes that could be over-estimated.
ntdll: Default to 7-bit ASCII before codepages are initialized.
libwine: Move wctype tables to libwine_port.
libwine: Move casemap tables to libwine_port.
libwine: Move collation table to libwine_port.
imagehlp: Get rid of the custom heap.
msvcrt: Export the onexit functions from the import library.
msvcrt: Export the __acrt_iob_func function from the import library.
ntdll/tests: Mark as broken a test that fails on win2003.
shell32: Load wine_get_build_id() dynamically.
user32: Add a dummy _wassert implementation to avoid a Mingw build issue.
libwine: Move string functions to libwine_port.
msvcrt: Only add __acrt_iob_func() to the import library of msvcrt itself.
msvcrt: Only add the onexit functions to the import library of msvcrt itself.
msvcrtd: Share source with msvcrt.
crtdll: Share source with msvcrt.
Revert "libwine: Move string functions to libwine_port."
Alistair Leslie-Hughes (2):
regedit: Grow the buffer when modifying a DWORD value.
urlmon: Pass unescaped URLs to InternetOpenUrl in ftp protocol handler.
Andrew Eikum (3):
winecoreaudio.drv: Remove useless cast to self.
wineandroid.drv: Remove useless cast to self.
ntdll: Fix memory region check in NtQueryVirtualMemory.
Aric Stewart (1):
winebus.sys: Add UID to IOHID devices.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Austin English (1):
advapi32: Add RegLoadAppKeyA/RegLoadAppKeyW stubs.
Claudio Fontana (1):
kernel32: Allow empty profile section and key name strings.
Derek Lesho (5):
ntdll: Fix unwinding from leaf function on x86_64.
ntoskrnl.exe: Implement ObGetObjectType.
ntoskrnl.exe: Add IoWMIOpenBlock stub.
ntoskrnl.exe: Add emulation of rdmsr for MSR_LSTAR control register.
ntoskrnl.exe: Update the tick count in KUSER_SHARED_DATA when accessed.
Detlef Riekenberg (7):
devenum/tests: Accept ERROR_KEY_DOES_NOT_EXIST from IPropertyBag_Read.
advapi32/tests: Accept failure code from recent win10.
hid/tests: Do not access uninitialized memory.
hid/tests: Do not fail when the device is busy.
schedsvc/tests: Avoid a crash in a SchRpcRegisterTask test.
wer: Fix WER_REPORT_TYPE failures on recent win10.
secur32: Handle a new, undefined SECPKG_FLAG value.
Erich Hoover (2):
msidb: Permit specifying tables to import by filename.
msidb: Add support for wildcard table import.
Fabian Maurer (1):
shell32: In SHRestricted add missing slash.
François Gouget (8):
kernel32/tests: A spelling fix in a win_skip() message.
ntoskrnl.exe/tests: Make vskip_(), win_skip_() and kmemcpy() static.
dbghelp: Make minidump_add_memory64_block() static.
mfplat/tests: A wording tweak in a win_skip() messages.
d3d12/tests: A spelling fix in a skip() message.
xaudio2_7: Add a trailing '\n' to an ERR() message.
dwrite/tests: Avoid a couple of unneeded lstrlenW() calls.
dwrite: Remove freetype_get_design_glyph_bbox(). It's not used anymore.
Gabriel Ivăncescu (2):
include: Add PtInRect as inline version of common RECT helpers.
include/commctrl: Add style definitions for split buttons.
Gijs Vermeulen (7):
msvcr120: Add [to]wctrans.
wintrust: Update spec file.
mscat32: Update spec file.
wintrust: Add CryptCATAdminAcquireContext2 stub.
hnetcfg: Initialize INetFwRules::get__NewEnum out parameter.
scrrun/tests: Add more Clone() tests.
scrrun: Implement Clone() for drive collection.
Hans Leidekker (4):
msi: Disable filesystem redirection only when really needed.
wbemprox: Implement Win32_PhysicalMemory.DeviceLocator.
wbemprox: Implement Win32_OperatingSystem.OperatingSystemSKU.
msi: Avoid a crash in RemoveFiles if the component directory is invalid.
Henri Verbeet (2):
wined3d: Do not take "draw_rect" into account when comparing attachment sizes in ffp_blitter_clear().
wined3d: Also update the "src_texture_gl" pointer when using a staging texture in the blitter.
Isira Seneviratne (14):
po: Update Sinhala translation.
po: Update Tamil translation.
po: Update Sinhala translation.
po: Update Sinhala translation.
winmm: Correct phrasing of some resource strings.
winecfg: Fix some punctuation in error messages.
xcopy: Fix punctuation in STRING_HELP string.
taskmgr: Replace repeated code with for loops.
kernel32/nls: Change Sinhala sublang identifier to SUBLANG_SINHALESE_SRI_LANKA.
po: Update Sinhala translation.
wineandroid.drv: Add Override annotation to overridden methods.
wineandroid.drv: Remove unnecessary 'extends Object' statement.
po: Update Sinhala translation.
po: Update Tamil translation.
Jacek Caban (51):
jscript: Add Object.create implementation.
mshtml: Add IHTMLCSSStyleDeclaration::setProperty implementation.
mshtml: Add IHTMLAnchorElement::get_protocol implementation.
mshtml: Add IHTMLAnchorElement::get_host implementation.
jscript: Support undefined context value in Array.prototype.forEach.
jscript: Support undefined context value in Array.prototype.map.
mshtml: Set elem_vars to NULL when detaching.
mshtml: Remove selection and range objects from document list when detaching.
mshtml: Return NULL for document not attached to window in IHTMLDocument7::get_defaultView.
mshtml: Use get_parentWindow for IHTMLDocument2::get_Script implementation.
jscript: Use parse_decimal for parsing JSON numeric literals starting with 0.
mshtml.idl: Add DispHTMLW3CComputedStyle declaration.
mshtml: Add IHTMLWindow6::get_localStorage implementation.
mshtml: Introduce new CSSStyle type as a base for different style object implementations.
mshtml: Move style DispatchEx to CSSStyle.
mshtml: Forward HTMLStyle IUnknown calls to IHTMLCSSStyleDeclaration implementation.
mshtml: Pass style as CSSStyle to set_style_property.
mshtml: Pass style as CSSStyle to set_style_property_var.
mshtml: Pass style as CSSStyle to get_style_property.
mshtml: Pass style as CSSStyle to get_style_property_var.
mshtml: Move style zoom property implementation to IHTMLCSSStyleDeclaration.
mshtml: Move backgroundPosition[XY] properties implementation to IHTMLCSSStyleDeclaration.
mshtml: Move IHTMLCSSStyleDeclaration implementation to CSSStyle.
mshtml: Move IHTMLCSSStyleDeclaration2 implementation to CSSStyle object.
server: Introduce kernel_object struct for generic association between server and kernel objects.
server: Store pointers to objects created by kernel_object_from_handle in server.
server: Allow kernel to keep reference to server objects by client pointer.
server: Allow queuing IRPs with no file associated.
server: Notify client about freed object so that it may free associated kernel object.
ntoskrnl.exe: Support creating event objects from server handle.
ntoskrnl.exe: Support waiting on kernel objects.
ntoskrnl.exe: Support event functions on kernel objects.
mshtml: Add IHTMLCSSStyleDeclaration::getPropertyValue implementation.
mshtml: Use CSSStyle for HTMLCurrentStyle implementation.
mshtml: Pass style as CSSStyle to current style property getters.
mshtml: Use interface agnostic form of dispids for compat_dispid.
mshtml: Expose IHTMLCSSStyleDeclaration to scripts from current style object.
mshtml: Introduce map_nsresult and use it in return_nsstr.
mshtml: Propagate nsIDOMCSSStyleDeclaration errors.
mshtml: Add IHTMLWindow7::getComputedStyle implementation.
mshtml: Expose getComputedStyle to scripts.
mshtml: Handle removeAttribute("filter") calls on detached style objects.
mshtml: Add IHTMLElement::getClientRects implementation.
mshtml: Add IHTMLRectCollection implementation.
mshtml: Alloc proper BSTR size in return_nscstr.
mshtml: Add IHTMLDocument7::createElementNS implementation.
mshtml: Add IHTMLDOMNode3::get_namespaceURI implementation.
mshtml: Add IElementSelector::querySelector implementation.
mshtml: Support SVG element style.
mshtml: Move detach_document_node call to HTMLDocumentNode_unlink.
mshtml: Implement IHTMLElement6::msMatchesSelector.
Jon Doron (1):
kernel32: Make GetEnvironmentStringsW returns a copy of the environment.
Józef Kucia (39):
wined3d: Pass swap interval to swapchain ops.
wined3d: Make adapter partially responsible for filling wined3d caps.
wined3d: Set 3D device caps in adapter_gl_get_wined3d_caps().
winevulkan: Update vk.xml to 1.1.104.
winevulkan: Use blacklist also for instance extensions.
winevulkan: Enable VK_EXT_swapchain_colorspace.
winevulkan: Implement VK_EXT_host_query_reset.
winevulkan: Implement VK_KHR_external_fence_capabilities.
winevulkan: Implement VK_KHR_external_memory_capabilities.
winevulkan: Implement VK_KHR_external_semaphore_capabilities.
winevulkan: Enable a few extensions promoted to core in Vulkan 1.1.
winevulkan: Enable Vulkan 1.1.
winevulkan: Trace structure types as decimal numbers.
winevulkan: Convert VkPhysicalDeviceFeatures2 in VkDeviceCreateInfo chain.
dxgi: Add support for building with Win32 Vulkan.
d3d12: Add support for building with Win32 Vulkan.
d3d12: Load vulkan-1.dll once.
d3d12: Call vkd3d_serialize_root_signature() directly.
wined3d: Merge if statements in adapter_gl_get_wined3d_caps().
wined3d: Introduce a separate structure for OpenGL adapters.
include/d3d12: Get rid of duplicated prototype.
wined3d: Unset WINED3DFMT_FLAG_TEXTURE for unsupported shadow textures.
wined3d: Get rid of special case for shadow textures from wined3d_check_device_format().
wined3d: Pass context to vp_free() and free_private().
wined3d: Cleanup CheckDepthStencilCapability().
wined3d: Always check if format has depth/stencil flags in wined3d_check_depth_stencil_format().
wined3d: Cleanup CheckRenderTargetCapability().
wined3d: Cleanup wined3d_check_surface_capability().
wined3d: Always check format flags in wined3d_check_depth_stencil_match().
wined3d: Add adapter_check_format() to adapter_ops.
wined3d: Use adapter_check_format() in wined3d_check_depth_stencil_format().
wined3d: Call wined3d_check_pixel_format_color() also for adapter format.
wined3d: Use adapter_check_format() in wined3d_check_render_target_format().
wined3d: Move pixel formats to wined3d_adapter_gl.
wined3d: Pass wined3d_adapter to shader_get_caps().
wined3d: Pass wined3d_adapter to vp_get_caps().
wined3d: Pass wined3d_adapter to fragment_pipe->get_caps().
wined3d: Avoid using gl_info in wined3d_get_device_caps().
wined3d: Get rid of wined3d_check_render_target_format().
Ken Thomases (3):
msvcrt: Fix vtable alignment on macOS and certain non-x86 architectures.
msvcp90: Fix vtable alignment on macOS and certain non-x86 architectures.
.editorconfig: Remove the trim_trailing_whitespace setting.
Lass Safin (1):
krnl386.exe: Add comment explaining what ZeroBits argument of NtMapViewOfSection is for.
Lauri Kenttä (2):
po: Update Finnish translation.
po: Update Finnish translation.
Louis Lenders (6):
explorerframe: Return S_OK in ITaskbarList3 SetThumbnailTooltip method.
explorerframe: Return S_OK in ITaskbarList3 ThumbBarAddButtons.
explorerframe: Return S_OK in ITaskbarList3 ThumbBarUpdateButtons method.
advapi32: Add AuditQuerySystemPolicy stub.
uianimation.idl: Add more interfaces.
msi: Add MsiSourceListForceResolution{A,W} stub.
Mark Jansen (2):
imagehlp/tests: Add tests for ImageLoad, ImageUnload, GetImageUnusedHeaderBytes.
wintrust/tests: Add tests for WinVerifyTrust.
Matteo Bruni (5):
d3dx9: Avoid double free on effect initialization failure.
d3dx9: Simplify effect cleanup.
d3dx9: Simplify effect init.
include: Fix D3DXF_FILELOADMEMORY definition.
d3dx9/tests: Improve D3DXMatrixInverse() test a tiny bit.
Michael Müller (2):
imagehlp: Implement ImageLoad and cleanup ImageUnload.
d3dx9/tests: Add initial tests for dummy skin info interface.
Michael Stefaniuc (46):
sti/tests: Remove useless cast to self.
d3dx9: Merge the d3dx_effect_GetVertexShader() helper.
d3dx9: Pass a struct d3dx_effect to get_valid_parameter().
d3dx9: Pass a struct d3dx_effect to get_valid_pass().
d3dx9: Pass a struct d3dx_effect to the version helpers.
d3dx9: Pass a struct d3dx_effect to add_param_to_tree().
d3dx9: Pass a struct d3dx_effect to get_annotation_by_name().
d3dx9: Pass a struct d3dx_effect to d3dx9_base_effect_cleanup().
xaudio2_7/tests: Remove redundant not-NULL checks (coccinellery).
d3dx9: Move param_tree out of struct d3dx9_base_effect.
d3dx9: Move full_name_tmp out of struct d3dx9_base_effect.
d3dx9: Move full_name_tmp_size out of struct d3dx9_base_effect.
d3dx9: Pass a struct d3dx_effect to get_parameter_element_by_name().
d3dx9: Don't expose struct d3dx9_base_effect outside effect.c.
d3dx9: Don't pass a struct d3dx9_base_effect to d3dx9_base_effect_init().
d3dx9: Pass a struct d3dx_effect to d3dx9_create_object().
d3dx9: Move technique_count out of struct d3dx9_base_effect.
d3dx9: Use get_version_counter_ptr() instead of open coding it.
d3dx9: Move parameters out of struct d3dx9_base_effect.
d3dx9: Move techniques out of struct d3dx9_base_effect.
quartz: Remove useless casts to self.
propsys: Remove useless cast to self.
comdlg32: Avoid using the comma operator.
gdiplus: Avoid using the comma operator.
iphlpapi: Drop unneeded continue statements (coccinellery).
d3dx9: Avoid using 'This' in d3dx_effect_GetPool().
d3dx9: Merge the two pool fields of struct d3dx_effect.
d3dx9: Avoid using This in d3dx_effect_Clone().
d3dx9: Move flags out of struct d3dx9_base_effect.
d3dx9: Get rid of struct d3dx9_base_effect.
d3dx9: Secure against unsafe iface to COM object transitions.
d3d9/tests: Remove redundant not-NULL checks (coccinellery).
dmcompos: Use HIWORD / LOWORD instead of open coding them.
dmscript: Use HIWORD / LOWORD instead of open coding them.
dmusic: Use HIWORD / LOWORD instead of open coding them.
dmusic: Use dump_DMUS_OBJECTDESC() instead of open coding it.
dswave: Use HIWORD / LOWORD instead of open coding them.
mstask: Avoid using the comma operator.
oleacc: Avoid using the comma operator.
wineoss.drv: Remove useless cast to self.
winealsa.drv: Remove useless cast to self.
cmd: Avoid using the comma operator.
shell32: Avoid using the comma operator.
oleaut32/tests: Remove useless casts to self.
d3d8: Actually test two return values.
d3d9: Actually test two return values.
Nikolay Sivov (56):
mferror: Add error messages dll.
mfplat: Implement Compare() for attributes.
mfplat: Get rid of variant coercion calls.
mfplat: Take a shortcut when comparing attribute with mismatching type.
mfplat: Add sample timestamp and duration methods.
mfplat: Add some sample attributes guids.
mfreadwrite: Query presentation descriptor on reader creation.
mfplat/tests: Skip more tests on older systems.
mfreadwrite: Subscribe to source events on reader creation.
mfreadwrite: Shut down source on reader destruction.
mfreadwrite: Forward GetPresentationAttribute() to descriptor when appropriate.
mfreadwrite: Implement GetServiceForStream() for media source.
mfreadwrite: Determine first streams on reader creation.
mfreadwrite: Implement stream selection methods for source reader.
mfreadwrite: Implement GetNativeMediaType() for source reader.
mfplat: Add media source attribute guids.
mfreadwrite: Support source configuration with MF_SOURCE_READER_MEDIASOURCE_CONFIG.
mfreadwrite: Keep async callback reference for the reader.
mfreadwrite: Add support for MF_SOURCE_READER_DISCONNECT_MEDIASOURCE_ON_SHUTDOWN.
mfplat: Add event attributes guids.
mfreadwrite: Forward remaining indices in GetPresentationAttribute() to stream descriptors.
mfreadwrite: Add partial implementation of SetCurrentPosition() for source reader.
mfplat/tests: Add stream descriptor tests.
mfplat: Implement GetMajorType() for stream descriptor.
mfplat: Forward CopyAllItems() for presentation descriptor.
mfplat: Implement MFCalculateImageSize().
mfplat: Implement MFCompareFullToPartialMediaType().
mfplat: Implement attributes serialization.
mfplat: Implement attributes deserialization.
mfplat: Print warning instead of fixme for unsupported interfaces in attributes object.
mfplat: Remove typedef for attributes structure.
mfplat: Implement media type wrapping.
mfplat: Implement IStream-based bytestream object.
mfplat: Set capabilities flags for IStream-based bytestream object.
mfplat: Set default attributes for file-based bytestream object.
mfplat: Add IMFGetService stub for file-based bytestream.
mfplat: Create dummy descriptor using public API.
mfplat: Add more attributes guids.
mfplat: Add tracing for media formats guids.
mfplat: Implement MFCreateMFByteStreamWrapper().
mfplat: Use existing helper for BeginWrite() too.
mfreadwrite: Use single helper for source reader creation functions.
mfreadwrite: Set url hint from stream content.
mfplat: Keep file handle open for file stream.
mfplat: Return capabilities for file stream.
mfplat: Fix return value for IsCompressedFormat().
winegstreamer: Use init-once API to initialize library.
winegstreamer: Get rid of allocated arguments array.
winegstreamer: Print current and build version of GStreamer.
winegstreamer: Actually pin module on initialization.
mfplat: Use current stream position when async request is made.
po: Update Russian translation.
include: Add IMFMediaStream definition.
mfplat: Fix EndCreateObject*() when events are used.
mfplat: Use correct callback for CreateObjectFromURL().
mfplat: Add traces for attributes methods of IMFMediaType.
Oliver Henning (1):
po: Fix German translation.
Paul Gofman (11):
ddraw: Deny adding the same light to viewports multiple times.
ddraw/tests: Port test for adding the same light to viewports multiple times for ddraw2.
ddraw/tests: Port test for adding the same light to viewports multiple times for ddraw1.
ddraw: Do not set ambient light component for d3d[1-4].
ddraw/tests: Test lighting with ambient light and material in ddraw2.
wined3d: Treat zero shininess as no specular lighting in legacy lighting mode.
d3d9/tests: Test specular lighting with zero shininess.
d3d8/tests: Test specular lighting with zero shininess.
ddraw/tests: Test specular lighting with zero shininess in ddraw7.
ddraw/tests: Test specular lighting with zero shininess in ddraw4.
ddraw/tests: Test specular lighting with zero shininess in ddraw2.
Piotr Caban (28):
msvcrt: Fix long limits in _atol_l.
msvcrt: Don't detect overflow in atol implementation.
msvcrt: Correctly set _stat64.st_dev fields in _wstat64.
msvcrt: Use correct locale when comparing strings in getenv.
kernel32: Restore C locale for LC_CTYPE category.
ntdll: Fix tolower implementation to not depend on locale.
ntdll: Use ANSI code page in toupper.
ntdll: Use NTDLL_tolower in _memicmp.
ntdll: Use NTDLL_tolower in _strlwr.
ntdll: Fix _strnicmp implementation to not depend on locale.
ntdll: Use _stricmp instead of strcasecmp.
ntdll: Use NTDLL_tolower instead of toupper.
ntdll: Don't use toupper in RtlIsNameLegalDOS8Dot3 tests.
msvcrt: Use internal tolower implementation.
msvcrt: Use internal toupper implementation.
msvcrt: Use _stricmp instead of strcasecmp.
msvcrt: Use _strnicmp instead of strncasecmp.
msvcp90: Add support for more creation flags in _Mtx class.
ntdll: Use RtlUpperChar in _strupr implementation.
kernel32: Don't use toupper.
kernel32: Don't use strcasecmp.
winmm: Don't use toupper.
Revert "kernel32: Restore C locale for LC_CTYPE category.".
oleaut32: Don't use strcasecmp.
wldap32: Don't use strcasecmp.
winhttp: Don't use strcasecmp.
winemapi: Don't use strcasecmp.
msvcp140: Don't forward __ExceptionPtrDestroy to msvcr120.
Sebastian Lackner (2):
winex11: Forward all clipping requests to the right thread.
wintrust/tests: Add some additional tests.
Stefan Dösinger (3):
ddraw: Don't operate on stored invalid clippers.
ddraw/tests: Test invalid clipper objects.
wined3d: Adjust video memory when resizing swapchain buffers.
Sveinar Søpler (1):
wined3d: Add GPU information for the NVIDIA RTX series.
Thomas Faber (1):
riched20: Implement MSVC asm wrappers.
Vijay Kiran Kamuju (1):
imagehlp/tests: Add initial tests for CheckSumMappedFile.
Vincent Povirk (1):
appwiz.cpl: Search /opt/wine for addons.
Zebediah Figura (19):
quartz/systemclock: Avoid using the sink structure pointer as a cookie.
quartz/systemclock: Store all the sinks in a single list.
quartz/systemclock: Clean up the remaining IUnknown methods.
quartz/systemclock: Get rid of the SystemClockImpl typedef.
wined3d: Make wined3d_device_set_texture() infallible.
wined3d: Get rid of the "src_state" local variable from wined3d_stateblock_capture().
msi: Don't fail the BindImage action if the BindImage table is absent.
msi: Append the custom action client PID to the endpoint name.
wined3d: Clean up lights in wined3d_stateblock_cleanup().
msi/tests: Test calling more functions from custom actions.
msi: Return MSIDBSTATE_ERROR when MsiGetDatabaseState() is called from a custom action.
msi: Return ERROR_INVALID_HANDLE when MsiDatabaseApplyTransform() is called from a custom action.
msi: Return ERROR_INVALID_HANDLE when MsiDatabaseExport() is called from a custom action.
msi: Return ERROR_INVALID_HANDLE when MsiDatabaseImport() is called from a custom action.
msi: Return ERROR_INVALID_HANDLE when MsiEnableUIPreview() is called from a custom action.
msi: Return ERROR_INVALID_HANDLE when MsiOpenPackage() is called from a custom action.
msi/tests: Separate and expand tests for MsiViewGetError().
msi: Perform partial copies in MsiViewGetError().
msi: Handle the remote case in MsiViewGetError().
Zhiyi Zhang (12):
setupapi/tests: Test phantom value after device creation.
setupapi: Set phantom value after device creation.
setupapi: Implement SetupDiOpenDeviceInfoW().
setupapi: Implement SetupDiOpenDeviceInfoA().
setupapi/tests: Add SetupDiOpenDeviceInfo() tests.
setupapi/tests: Add more SetupDiCreateDeviceInfo() tests.
setupapi: Check registered device duplicate in SetupDiCreateDeviceInfo().
include: Add more SetupAPI property keys.
hidclass.sys: Handle create existent device failure.
winebus.sys: Handle create existent device failure.
include: Avoid type redefinition.
kernel32: Add DECLSPEC_HOTPATCH to VirtualAllocEx().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.4 is now available.
What's new in this release (see below for details):
- New MSIDB tool for manipulating MSI databases.
- Support for custom draw buttons in common controls.
- Many more Media Foundation APIs implemented.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.4.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.4.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.4 (total 50):
10407 StarForce v3 kernel driver service 'sfhlp02' crashes on unimplemented function ntoskrnl.exe.IoCreateSynchronizationEvent
10531 Windows Calculator: Color in buttons missing
13087 Hard Truck Apocalypse fails to load keyboard layout
17005 Chicken Tournament: Rendering issues
23175 Zak McKracken - Between Time and Space fails to play back intro video (ICM_DECOMPRESS_GET_FORMAT problems with Xvid)
25180 Clonk Endeavour's intro video is not rendered correctly (iccvid does not support non-multiple of 4 video width)
28240 Mipony 1.5.x (.NET 2.0 app): Embedded web browser shown in too small window
28847 LabChart Reader 7.x crashes due to missing wmvcore 'IWMProfileManager2', CLSID '{7a924e51-73c1-494d-8019-23d37ed9b89a}'
30548 MediaOne Plus 2.0 PhotoImpact (Ulead PhotoImpact X3) installer runs "regedit" with unsupported "/c" switch
33506 Microsoft Expression Design 4 (Free Version) crashes when quickly populating main menu items (dropdown sub-menu drawing)
35251 Skype 4 MSI installer fails to start Skype.exe when finishing installation in Vista mode (TaskService_Connect is a stub)
35841 R.U.S.E. Demo need wmvcore.dll.WMCreateSyncReader implementation
35986 Multiple DRM-enabled apps and games crash when being relay traced (game overlay renderer enabled Steam games)
37325 Rhapsody 4.0 auto setup for DRM crashes on unimplemented function wmvcore.dll.WMCreateBackupRestorerPrivate
37327 Rhapsody 4.0 crashes on unimplemented function 'wmvcore.dll.WMCreateSyncReaderPriv' when playing a track
37585 64-bit Chromium browser engine with native API sandboxing/hooking scheme fails if 64-bit ntdll.dll.so is not mapped at desired fixed address (Google Chrome 38+ crashes with WinVer <= Vista)
37871 GOG.com downloader (.NET 3.5 app) wants wininet.GetUrlCacheConfigInfoA/W implementation
37972 Multiple application installers fail due to VBScript parser failure in 'Get' method calls (UC Receptionist Console 14 SP6, PostgreSQL 9.3, Symantec VIP Access)
38791 In server/queue.c, clipping cursor to empty rectangle is off by one pixel (affects "The Long Dark")
38943 Warhammer 40k: Dawn of War GOTY (Steam) crashes while loading to the menu with Wine-Mono 4.7.5 or earlier
39606 Infinite loop in StackWalk64
41226 Sound effects play at incorrect volume in Halo PC and Halo Custom Edition
42939 NOX App Player v3.8.x (Android Emulator) fails in post-installation step (VirtualBox COM Server raises assert: failed to set self TLS. lasterr=87 thread 'CGMgr')
42982 Bayonetta can't save settings
43071 Bayonetta can't read its "system_data" config file
43851 Monkey Island Special Edition Collection: Installer crashes on the first run
44423 Office 2007/2010 32bit - links not working
44793 Epic Games Launcher 7.x crashes on startup (relies on native Windows behaviour: 'shcore.dll' loaded by 'shlwapi.dll')
44800 FL Studio: Attempting to minimize FL Studio shows a small label instead
45577 Skyrim tries to install MS VC Redist Package each launch
45925 WPF application (.NET 4.5) printing fail: crash in unimplemented function prntvpt.dll.PTOpenProviderEx
45927 Tom Clancy's TheDivision.exe terminates itself a few seconds after launch
46305 Skyrim, Fallout 3, and Fallout: New Vegas all crash upon clicking 'Play'
46371 FFXI + Ashita random crash ingame
46571 FPS Monitor doesn't work (needs gdi32.D3DKMTCloseAdapter stub)
46579 F.E.A.R. 2: Project Origin screen is completely light grey while playing intro movie
46680 redefinition of typedef ‘fnprintf’
46706 Eventide H9 Control crashes on unimplemented function bthprops.cpl.BluetoothFindDeviceClose
46712 Atelier Firis config tool crashes with "Unhandled page fault on execute access"
46721 Two quotes together (in outer quotes) not parsed correctly in argv
46731 64-bit dotnet20 installer freezes in 4.2
46754 Multiple application installers fail in VBscripts due to IWshEnvironment::Item property returning BSTR with embedded null terminator (PostgreSQL 9.3)
46761 BigNox VM VirtualBox Support Driver 'YSDrv.sys' (part of NoxPlayer 6.x) crashes on unimplemented function ntoskrnl.exe.MmBuildMdlForNonPagedPool
46762 BigNox VM VirtualBox Support Driver 'YSDrv.sys' (part of NoxPlayer 6.x) crashes on unimplemented function ntoskrnl.exe.ExSetTimerResolution
46772 Creo Elements/Direct Modeling Express 6.0 installer fails with VBScript parser error: parser_lex '_' not followed by newline
46783 Metro Exodus crash on start [DXGI]
46792 Europa Universalis III crashes after start
46798 Multiple Microsoft applications need support for Antimalware Scan Interface (AMSI) 'AMSI.dll'
46811 Inquisitor: black screen after start in fullscreen mode
46835 Wine fails to compile with vkd3d 1.0
----------------------------------------------------------------
Changes since 4.3:
Alexandre Julliard (27):
winebuild: Open the output file only when needed.
winebuild: Add a helper function to open a temporary file as output.
winebuild: Rename BuildSpec32File() for consistency.
winebuild: Output the module filename along with the stub data.
winebuild: Add a helper for decorating stdcall function names.
winebuild: Add a helper for generating RVA pointers.
winebuild: Add a helper for generating data directories.
winebuild: Don't use underscore prefix on 64-bit Windows.
winebuild: Specify the correct linker emulation for Windows platforms.
winegcc: Get rid of the Mingw Unicode hack.
winegcc: Make get_lddllflags() more generic to return all link flags.
winegcc: Also return Windows link flags in get_link_args().
configure: Remove a few no longer used definitions.
winebuild: Support generating a .spec.o file for Windows platforms.
winegcc: Use a .spec.o files when building for Windows.
libport: Get rid of memcpy_unaligned().
libport: Simplify configuration checks in getopt.c.
libport: Remove checks for gettimeofday().
libport: Remove checks for memmove().
libport: Remove checks for strerror().
Avoid using Windows includes that are already handled in wine/port.h.
libwpp: Use __int64 instead of long long.
configure: Hardcode some headers for Windows platforms.
configure: Hardcode some types for Windows platforms.
configure: Hardcode some functions for Windows platforms.
libport: Don't build some functions that aren't needed on Windows.
libport: Avoid issues with struct timeval on Windows.
Alistair Leslie-Hughes (5):
secur32: Stop memory leak (Coverity).
oleaut32: Add missing return value checks (Coverity).
setupapi: Added CM_Request_Device_EjectA/W stub.
setupapi: Add SetupDiInstallDeviceInterfaces.
setupapi: Add SetupDiRegisterCoDeviceInstallers stub.
Andrew Eikum (2):
user32: GetRawInputDeviceInfo uses characters for RIDI_DEVICENAME size.
winhttp: Don't crash setting up secure proxy.
Andrey Gusev (2):
wmvcore: Implement WMCreateSyncReader.
wmvcore: Implement WMCreateSyncReaderPriv.
Brendan McGrath (3):
kernel32: Allow double quote style escape in argv.
kernel32/tests: Length of sort keys must be equal with and without dest.
libwine: get_sortkey to return consistent length with and without dstlen.
Daniel Ansorregui (5):
d3d9/tests: Add a basic Fetch4 sampling test.
d3d9/tests: Add texldd/texldb/texldl Fetch4 sampling tests.
d3d9/tests: Add tests for Fetch4 format support.
d3d9/tests: Add tests for Fetch4 with 3D textures.
d3d9/tests: Add tests for Fetch4 with depth textures.
Dmitry Timoshkov (2):
advapi32/tests: Add a test for provider handle returned by CryptAcquireContext(CRYPT_DELETEKEYSET).
advapi32: CryptAcquireContext(CRYPT_DELETEKEYSET) should set returned provider handle to 0.
Erich Hoover (12):
msidb: Add stub tool for manipulating MSI databases.
msidb: Add support for importing database tables.
msidb: Add support for adding stream/cabinet files to MSI databases.
msi: Add support for deleting streams from an MSI database.
msi: Add support for exporting the _SummaryInformation table.
msi: Break out field exporting into a separate routine.
msi: Add support for exporting binary streams (Binary/Icon tables).
msidb: Add support for removing stream/cabinet files from MSI databases.
msidb: Add support for extracting stream/cabinet files from MSI databases.
msidb: Add support for exporting database tables.
msidb: Add support for exporting with short (DOS) filenames.
msidb: Add support for wildcard (full database) export.
Fabian Maurer (1):
comctl32/combo: Fix misleading indentation.
François Gouget (12):
strmbase: A spelling fix in a comment.
gdi32: Fix the FreeType case in a comment.
mfplat/tests: Fix the trailing '\n's in ok() messages.
user32/tests: Remove a space before a '\n'.
dbghelp: Spelling fixes in a couple of comments.
windowscodecs: Spelling fixes in a comment.
vbscript/tests: A spelling fix in a comment.
setupapi/tests: Add a trailing '\n' to a couple of ok() calls.
vssapi: A spelling fix in a variable name.
windowscodecs/tests: Add a trailing '\n' to an ok() call.
comsvcs/tests: Fix a typo in an ok() message.
widl: A spelling fix in a variable name.
Gabriel Ivăncescu (8):
include: Add CDRF_DOERASE and CDRF_SKIPPOSTPAINT definitions.
comctl32/button: Implement NM_CUSTOMDRAW for Push Buttons.
comctl32/button: Implement NM_CUSTOMDRAW for themed Push Buttons.
comctl32/button: Implement NM_CUSTOMDRAW for other buttons.
comctl32/button: Implement NM_CUSTOMDRAW for other themed buttons.
comctl32/button: Implement NM_CUSTOMDRAW for BS_USERBUTTON.
comctl32/button: Don't draw the button when losing focus before invalidating it.
comctl32/tests: Add tests for NM_CUSTOMDRAW buttons.
Gijs Vermeulen (4):
d3d8: Improve ValidatePixelShader().
wmvcore: Upgrade to IWMProfileManager2.
ntoskrnl.exe: Add MmBuildMdlForNonPagedPool stub.
ntoskrnl.exe: Add ExSetTimerResolution stub.
Hans Leidekker (5):
bcrypt: Implement BCRYPT_HASH_REUSABLE_FLAG.
advapi32: Add a stub implementation of SaferIdentifyLevel.
amsi: New dll.
amsi: Add stub implementations for a couple of functions.
msi: Skip the special SummaryInformation stream in msi_commit_streams.
Henri Verbeet (1):
d3d9/tests: Mark one more test in test_vshader_input() as broken on WARP.
Huw D. M. Davies (3):
winegcc: Restore the linker option specifier for strip.
winebuild: Use the correct section label on macOS.
winemaker: Fix --single-target option parsing.
Isira Seneviratne (1):
kernel32/nls: Fix some values in Sinhala NLS file.
Jacek Caban (67):
jscript/tests: Allow GetTypeInfo calls.
jscript: Use jsstr_t as string argument type in OP_obj_prop.
jscript: Support embedded null bytes in unescape.
jscript: Return regexp string as jsstr_t from lexer.
jscript: Pass string as jsstr_t to push_instr_str.
jscript: Add support for string literals with embedded null bytes.
mshtml.idl: Add IHTMLDOMImplementation2 and IDOMDocumentType declarations.
mshtml: Add IHTMLDOMImplementation2 stub implementation.
mshtml: Don't store NSContainer in nsWineURI.
rpcrt4/tests: Avoid type redefinition.
mshtml: Use load_flags instead of is_doc_uri in nsChannel implementation.
mshtml: Get nsIWebProgress from notification callback if load group has no observer.
mshtml: Always use get_channel_window to get window in nsIChannel::AsyncOpen.
mshtml: Get rid of no longer needed windowref_t.
mshtml: Use channel_bsc from URI for child documents as well.
mshtml: Move TranslateUrl call to before_async_open.
mshtml: Get rid of no longer needed is_doc_uri from nsWineURI.
mshtml: Simplify handling origin URI charset.
mshtml: Rename NSContainer to GeckoBrowser.
mshtml: Detach more document objects in detach_inner_window.
mshtml: Move child window list to inner window and detach children when detaching parent.
mshtml: Pass GeckoBrowser instead of HTMLDocumentObj to create_document_node.
mshtml: Use global security manager.
mshtml: Store weak GeckoBrowser reference in HTMLDocumentNode.
mshtml: Pass GeckoBrowser instead of HTMLDocumentObj to create_outer_window.
mshtml: Store GeckoBrowser weak reference in HTMLOuterWindow.
mshtml: Create top content window in init_browser.
jscript: Add Object.getPrototypeOf implementation.
ntoskrnl.exe: Support NULL type in ObReferenceObjectByHandle.
server: Connect pipe servers in order that they enter listening state.
server: Wake waiters when new pipe server instance is created.
ntdll/tests: Add more event op tests.
ntdll: Fix event op functions declarations.
ntdll: Add support for returning previous state argument in event functions.
mshtml: Move script mode handling to GeckoBrowser.
mshtml: Move cycle collection to detach_gecko_browser.
mshtml: Move user mode to GeckoBrowser.
mshtml: Pass document node to handle_edit_event.
mshtml: Move IsDirty implementation to GeckoBrowser.
mshtml: Move do_ns_command to HTMLDocumentNode.
mshtml: Move cmdtable_t to HTMLDocumentNode.
mshtml: Get rid of handle_edit_load.
mshtml: Move init_editor to HTMLDocumentNode.
mshtml: Move SetDesignMode call to create_document_node.
mshtml: Don't Use HTMLDocument type in HTMLDOMNode_unlink.
mshtml: Use detach_document_node in detach_gecko_browser.
mshtml: Bind events directly to document node for documents with no window associated.
mshtml: Add IHTMLDOMImplementation2::createHTMLDocument implementation.
mshtml: Correctly handle documents with no window associated in IHTMLDocument2::get_location.
mshtml: Use is_main_content_window in a few more places.
mshtml: Access document object via browser object in IActiveScriptSiteWindow::GetWindow.
mshtml: Access document object via browser object in IOmHistory::get_length.
mshtml: Access document object via browser object in refresh_proc.
mshtml: Access document object via browser object in nsIChannel::AsyncOpen.
mshtml: Access document object via browser object in IHTMLWindow2 implementation.
mshtml: Access document object via browser object in IHTMLPrivateWindow implementation.
mshtml: Access document object via browser object in window QueryService implementation.
mshtml: Access document object via browser object in update_window_doc.
mshtml: Access document object via browser object in IBindCallbackRedirect::Redirect.
mshtml: Access document object via browser object in nsChannelBSC_init_bindinfo.
mshtml: Access document object via browser object in handle_navigation_error and handle_extern_mime_navigation.
mshtml: Access document object via browser object in navigate_javascript_proc and navigate_fragment.
mshtml: Access document object via browser object in super_navigate.
mshtml: Access document object via browser object in navigate_new_window.
mshtml: Access document object via browser object in navigate_uri.
mshtml: Get rid of no longer needed HTMLOuterWindow doc_obj pointer.
jscript: Add Array.prototype.map implementation.
Jactry Zeng (20):
riched20: Handle REO_IOB_SELECTION in IRichEditOle::GetObject().
propsys: Add VT_EMPTY support for PropVariantToStringAlloc().
propsys: Implement PropVariantToString().
propsys: Add VT_CLSID support for PropVariantToGUID().
propsys: Partially implement PropVariantToBuffer().
mfplat: Unlock section after finishing.
mfplat: Initialize attribute array.
mfplat: Implement IMFAttributes::{SetItem,GetItem}.
mfplat: Implement IMFAttributes::DeleteItem().
mfplat: Implement IMFAttributes::GetItemByIndex().
mfplat: Add support for integer attribute values.
mfplat: Implement IMFAttributes::GetCount().
mfplat: Implement IMFAttributes::{SetDouble, GetDouble}.
mfplat: Add support for string attributes.
mfplat: Implement IMFAttributes::{SetUnknown, GetUnknown}.
mfplat: Implement IMFAttributes::DeleteAllItems().
mfplat: Implement IMFAttributes::CopyAllItems().
mfplat: Add support for GUID attributes.
mfplat: Add support for blob attribute values.
mfplat: Implement CompareItem() for attributes.
Józef Kucia (47):
d3d11: Add D3D11_FORMAT_SUPPORT_TEXTURE1D to d3d11_device_CheckFormatSupport().
wined3d: Add R8G8_UNORM vertex format.
maintainers: Add d3d12 to Direct3D section.
dxgi: Introduce d3d12_swapchain_have_user_images().
dxgi: Factor out d3d12_swapchain_recreate_vulkan_swapchain().
dxgi: Handle VK_ERROR_OUT_OF_DATE_KHR returned from vkAcquireNextImageKHR().
d3d12/tests: Use multiple command lists in test_swapchain_backbuffer_index().
d3d12/tests: Use multiple command lists in test_swapchain_size_mismatch().
wined3d: Get rid of valid_rt_mask.
wined3d: Store base vertex draw capabilities in struct wined3d_d3d_info.
wined3d: Store multisample draw location in struct wined3d_d3d_info.
wined3d: Introduce general helper function to get sample count for resource.
wined3d: Avoid passing gl_info to prune_invalid_states().
wined3d: Avoid passing gl_info to compile_state_table().
wined3d: Rename StateTable.
wined3d: Rename state entry structures.
dxgi: Avoid recreating swapchain when we don't have user images.
d3d12/tests: Add test for swapchain refcounts.
dxgi/tests: Fix potential crashes in test_get_containing_output().
dxgi/tests: Make sure that device is idle before destroying swapchains.
dxgi: Implement dxgi_output_FindClosestMatchingMode1().
dxgi: Reject DXGI_FORMAT_UNKNOWN for swapchains.
dxgi: Rename d3d12_swapchain_have_user_images() to d3d12_swapchain_has_user_images().
dxgi/tests: Add tests for creating swapchain with DXGI_FORMAT_UNKNOWN.
wined3d: Implement eval_sample_index shader instruction.
d3d12: Remove export ordinals.
d3d12: Add stub for D3D12EnableExperimentalFeatures().
d3d12: Add stub for D3D12SerializeVersionedRootSignature().
dxgi: Implement dxgi_output_GetDisplayModeList1().
dxgi: Trace mode on separate line for FindClosestMatchingMode().
d3d12: Pass IDXGIAdapter and adapter LUID to vkd3d.
dxgi: Improve d3d11_swapchain_GetContainingOutput() implementation.
dxgi: Implement d3d12_swapchain_GetContainingOutput().
d3d12: Add test for creating device with adapter.
d3d12: Set ordinal for D3D12CreateDevice().
wined3d: Add driver and device UUIDs to adapter identifiers.
dxgi: Introduce IWineDXGIAdapter::get_adapter_info().
d3d12: Use VkPhysicalDevice corresponding to IDXGIAdapter.
dxgi: Factor out d3d11_swapchain_get_hwnd().
ucrtbase: Add more _o forwards.
wined3d: Store BGRA vertex capabilities in struct wined3d_d3d_info.
dxgi/tests: Use void pointer for get_refcount() parameter.
d3d12: Do not pass VkPhysicalDevice to vkd3d if we failed to find matching device.
dxgi: Do not forward d3d11_swapchain_Present() to d3d11_swapchain_Present1().
d3dxof: Change "value" size to 512.
dxgi: Do not forward d3d12_swapchain_Present() to d3d12_swapchain_Present1().
configure: Require libvkd3d 1.1.
Ken Thomases (4):
kernel32: Remove some duplicate code.
libwine: On Mac, use a more capable Mach function to map memory and avoid calling mmap() in some cases.
libwine: On Mac, use Mach APIs to enumerate address space holes instead of using trial and error.
libwine: On Mac, don't manually exclude the stack when reserving above the user space limit.
Louis Lenders (2):
bthprops.cpl: Add BluetoothFindDeviceClose stub.
gdi32: Add D3DKMTCloseAdapter() stub.
Matteo Bruni (20):
d3d9: Don't upload unused system memory vertex buffers.
d3d8: Don't upload unused system memory vertex buffers.
d3d9: Return failure in CheckDeviceFormat() for unsupported adapter formats.
d3d9/tests: Add more tests for D3DUSAGE_AUTOGENMIPMAP expected failures.
d3d9/tests: Clarify that D3DFMT_A8R8G8B8 isn't a supported adapter format.
d3d8: Return failure in CheckDeviceFormat() for unsupported adapter formats.
d3d9/tests: Fix a CheckDeviceFormat() call.
d3d9/tests: Fix test_lost_device() D3D9Ex test on Windows 10.
d3d9/tests: Fix test_wndproc() D3D9Ex test on Windows 10.
d3d8/tests: Add a test for CheckDeviceFormat() with an unsupported adapter format.
d3d9/tests: Fix test_frame_latency() D3D9Ex test on Windows 10.
d3d8/tests: Set FVF in test_draw_primitive().
d3d8/tests: Skip test_lost_device() on WARP.
d3d9: Validate vertex stride in Draw[Indexed]PrimitiveUP().
d3d8: Validate vertex stride in Draw[Indexed]PrimitiveUP().
d3d9/tests: Fix test_window_style() D3D9Ex test on current Windows 10.
wined3d: Set display mode to a suitable adapter format.
d3d9/tests: Add a test for GetDisplayMode().
d3d8/tests: Add a test for GetDisplayMode().
wined3d: Remove now unused glsl_version parameter from wined3d_guess_card().
Michael Müller (3):
iccvid: Fix calculation of stride and size.
msvidc32: Add support for converting 16 bit depth to 24 bit.
msvidc32: Fix calculation of stride and size.
Michael Stefaniuc (77):
ieframe/tests: Remove useless cast to self.
winedump: Remove useless casts to self.
ntdll/tests: Avoid using the comma operator.
progman: Avoid using the comma operator.
comctl32/tests: Remove redundant not-NULL check (coccinellery).
winebus.sys: Remove useless casts to self.
dsound: Remove useless casts to self.
winmm: Remove useless casts to self.
d3dx9/tests: Remove useless cast to self.
d3dx9: Pass a struct d3dx_effect to the d3dx_parse helpers.
d3dx9: Merge the d3dx_effect_GetParameterByName() helper.
d3dx9: Merge the d3dx_effect_GetParameter() helper.
d3dx9: Merge the d3dx_effect_GetParameterBySemantic() helper.
d3dx9: Merge the d3dx_effect_GetParameterElement() helper.
d3dx9: Move parameter_count out of struct d3dx9_base_effect.
d3dx9: Remove an unneeded forward declaration.
d3dx9: Merge the d3dx_effect_GetAnnotation() helper.
d3dx9: Merge the d3dx_effect_GetAnnotationByName() helper.
d3dx9: Pass a struct d3dx_effect to get_annotation_from_object().
d3dx9: Merge the d3dx_effect_GetPass() helper.
d3dx9: Merge the d3dx_effect_GetPassByName() helper.
d3dx9: Merge the d3dx_effect_GetTechniqueDesc() helper.
d3dx9: Merge the d3dx_effect_GetTechniqueByName() helper.
d3dx9: Merge the d3dx_effect_GetTechnique() helper.
msacm32: Remove redundant not-NULL check (coccinellery).
d3dx9: Pass a struct d3dx_effect to the get technique helpers.
d3dx9: Move object_count out of struct d3dx9_base_effect.
d3dx9: Pass a struct d3dx_effect to d3dx9_copy_data().
d3dx9: Merge the d3dx_effect_GetPassDesc() helper.
d3dx9: Move objects out of struct d3dx9_base_effect.
d3dx9: Merge the d3dx_effect_GetBool() helper.
d3dx9: Merge the d3dx_effect_GetBoolArray() helper.
d3dx9: Merge the d3dx_effect_SetBool() helper.
d3dx9: Merge the d3dx_effect_SetBoolArray() helper.
d3dx9: Merge the d3dx_effect_GetFloat() helper.
d3dx9: Merge the d3dx_effect_GetFloatArray() helper.
d3dx9: Merge the d3dx_effect_SetFloat() helper.
d3dx9: Merge the d3dx_effect_SetFloatArray() helper.
shell32: Remove redundant not-NULL check (coccinellery).
wininet: Remove redundant not-NULL check (coccinellery).
winefile: Remove useless cast to self.
winemenubuilder: Remove useless cast to self.
d3dx9: Merge the d3dx_effect_GetInt() helper.
d3dx9: Merge the d3dx_effect_GetIntArray() helper.
d3dx9: Merge the d3dx_effect_SetInt() helper.
d3dx9: Merge the d3dx_effect_SetIntArray() helper.
d3dx9: Merge the d3dx_effect_GetMatrix() helper.
d3dx9: Merge the d3dx_effect_GetMatrixArray() helper.
d3dx9: Merge the d3dx_effect_GetMatrixPointerArray() helper.
d3dx9: Merge the d3dx_effect_SetMatrix() helper.
d3dx9: Merge the d3dx_effect_SetMatrixArray() helper.
d3dx9: Merge the d3dx_effect_SetMatrixPointerArray() helper.
gphoto2.ds: Remove useless casts to self.
windowscodecs: Remove redundant not-NULL checks (coccinellery).
shell32: Remove unused return variables (coccinelle).
quartz: Remove an unused return variable (coccinelle).
d3dx9: Merge the d3dx_effect_GetMatrixTranspose() helper.
d3dx9: Merge the d3dx_effect_GetMatrixTransposeArray() helper.
d3dx9: Merge the d3dx_effect_GetMatrixTransposePointerArray() helper.
d3dx9: Merge the d3dx_effect_SetMatrixTranspose() helper.
d3dx9: Merge the d3dx_effect_SetMatrixTransposeArray() helper.
d3dx9: Merge the d3dx_effect_SetMatrixTransposePointerArray() helper.
gdi32: Remove unused return value of init_system_links().
d3dx9: Merge the d3dx_effect_GetParameterDesc() helper.
d3dx9: Merge the d3dx_effect_GetPixelShader() helper.
d3dx9: Merge the d3dx_effect_GetString() helper.
d3dx9: Merge the d3dx_effect_SetString() helper.
d3dx9: Merge the d3dx_effect_GetTexture() helper.
d3dx9: Merge the d3dx_effect_SetTexture() helper.
mfreadwrite: Remove useless cast to self.
cmd: Remove useless cast to self.
d3dx9: Merge the d3dx_effect_GetValue() helper.
d3dx9: Merge the d3dx_effect_SetValue() helper.
d3dx9: Merge the d3dx_effect_GetVector() helper.
d3dx9: Merge the d3dx_effect_GetVectorArray() helper.
d3dx9: Merge the d3dx_effect_SetVector() helper.
d3dx9: Merge the d3dx_effect_SetVectorArray() helper.
Nikolay Sivov (61):
mfplat: Implement periodic callbacks.
mf: Implement MFShutdownObject().
mfplat: Implement media event queue.
mf/tests: Add some tests for session events support.
mfplat: Move media type object code to separate file.
mfplat: Move stream descriptor implementation to separate file.
mfplat: Return stub interface for stream descriptor type handler.
mfplat: Keep stream descriptor identifier.
mfplat: Implement media type handler functionality for stream descriptor.
wshom.ocx: Fix string length returned from Check returned BSTR length.
mf: Add a stub for default presentation clock.
mfplat: Implement MFCreatePresentationDescriptor().
mfplat: Move buffer implementation to separate file.
mfplat: Move sample implementation together with buffers.
mfplat: Implement buffer collection for sample.
mfplat: Fix potential invalid memory access (Coverity).
mfplat: Fix a leak on error path (Coverity).
mfplat: Add a stub for system time source.
mfplat: Implement time source state changes.
include: Define MFT category GUIDs.
d2d1/tests: Add some missing EndDraw() checks (Coverity).
mf: Control time source state from presentation clock.
mf: Keep a list of clock state sinks.
mf: Add support for clock sink notifications.
include: Add major media types GUIDs for Media Foundation.
mfplat: Forward media type methods to attribute storage.
mfplat: Forward CopyAllItems() for media type as well.
mfplat: Forward CopyAllItems() for samples.
mfplat: Set sample flags.
winex11: Fix typo in comments.
winemac: Fix typo in comments.
mfplat/tests: Remove a test crashing on XP/Vista.
include: Add Media Foundation handler interfaces definition.
mfplat: Close event handle on async result release.
mfplat: Free event value on release.
include: Add more Media Foundation error codes.
mfuuid: Define Media Platform guids.
mfplat: Link to mfuuid.
mfplat: Implement CreateObjectFromByteStream().
mfplat: Implement async method of creating objects from bytestreams.
imm32: Replace macros with helper functions.
imm32: Fix output buffer length handling for no-conversion case of GCS_COMPSTR.
imm32: Fix output buffer length handling for A -> W conversion case of GCS_COMPSTR.
mfplat: Implement CreateObjectFromURL().
mfplat: Implement async object creation from URL.
mfplat: Implement equality test for media types.
mfreadwrite: Use source resolver when creating reader from bytestream.
mfreadwrite: Implement MFCreateSourceReaderFromURL().
ntdll/threadpool: Add support for callback priority.
mfplat: Use newer threadpool environment structure.
mfplat: Add support for work item priority.
mfreadwrite: Keep source reference in source reader.
mfreadwrite: Return source flags through MF_SOURCE_READER_MEDIASOURCE_CHARACTERISTICS.
mfplat: Forward CopyAllItems() for events.
mfplat: Forward CopyAllItems() for stream descriptor.
imm32: Get rid of some casts in attributes helper, document arguments.
mfplat: Add a helper to have readable attribute names in traces.
propsys: Add support for VT_CLSID in PropVariantCompareEx().
propsys: Add support for VT_R4/VT_R8 to PropVariantCompareEx().
mfplat: Add descriptor attributes GUIDs.
mfplat: Implement LockStore()/UnlockStore().
Paul Gofman (7):
ntdll/tests: Add test for preserving x87 fpu state when capturing context.
ntdll: Avoid resetting x87 FPU state when saving context.
ntdll: Mark 'float_status' as input operand in save_fpu().
ntdll/tests: Mark sync NtWriteFile() result for async regular file as broken.
ntdll: Return STATUS_PENDING from NtWriteFile() for async write with regular file.
ntdll/tests: Mark sync NtReadFile() result for async regular file as broken.
ntdll: Return STATUS_PENDING from NtReadFile() for async read with regular file.
Piotr Caban (1):
kernel32/tests: Show that PAGE_WRITECOPY permission changes only on modified pages.
Rob Hughes (1):
ws2_32: Handle EISCONN from sendmsg.
Stefan Dösinger (2):
ddraw: Protect against invalid clipper pointers.
ddraw: Clear *clipper on failure in ddraw_surface7_GetClipper().
Vijay Kiran Kamuju (3):
include: Add IWMLicenseBackup related interface definitions.
wmvcore: Move IWMReader implementation to separate file.
wmvcore: Add stub WMCreateBackupRestorer functions.
Vincent Povirk (1):
mscoree: Implement an override setting for .net libraries.
Zebediah Figura (59):
quartz/tests: Add some tests for media types.
quartz/tests: Add some tests for filter interfaces.
quartz/tests: Add a test WAVE file.
quartz/waveparser: Ignore unsupported chunks when connecting.
quartz/tests: Add some tests for IBaseFilter_EnumPins().
vbscript: Handle carriage return in more places.
quartz/waveparser: Fix source pin name.
quartz/tests: Add some tests for IBaseFilter_FindPin() on the WAVE parser.
quartz/tests: Add some tests for querying WAVE parser pin information.
quartz/tests: Add some tests for WAVE parser pin interfaces.
quartz/waveparser: Always allocate at least a WAVEFORMATEX for the source media type.
quartz/waveparser: Fill out all members of the source media type.
quartz/tests: Add some tests for WAVE parser media types.
oleaut32: Unify the typelib and dispatch proxy/stub factories.
quartz/tests: Add some tests for AVI decompressor filter interfaces.
quartz/tests: Add some tests for IBaseFilter_EnumPins() on the AVI decompressor.
strmbase/transform: Get rid of superfluous npins field.
strmbase/transform: Fix pin IDs.
quartz/tests: Add some tests for IBaseFilter_FindPin() on the AVI decompressor.
quartz/tests: Add some tests for querying AVI decompressor pin information.
msvfw32: Use the global HeapAlloc() wrappers.
msvfw32: Use the standard linked list implementation.
msvfw32/tests: Set requestedExecutionLevel to asInvoker to prevent registry virtualization.
msvfw32/tests: Add more tests for ICInfo().
msvfw32: Reimplement ICLocate() on top of ICInfo().
msvfw32: Get rid of enum_drivers().
msvfw32: Correctly implement ICINSTALL_DRIVER.
msvfw32: Enumerate installed functions in ICInfo().
msvfw32: Get rid of the 'reg_driver' typedef.
quartz/tests: Add some tests for AVI decompressor pin interfaces.
quartz/tests: Add initial tests for AVI decompressor media types.
quartz/tests: Add some tests for ACM wrapper filter interfaces.
quartz/tests: Add some tests for IBaseFilter_EnumPins() on the ACM wrapper.
quartz/tests: Add some tests for IBaseFilter_FindPin() on the ACM wrapper.
quartz/tests: Add some tests for querying ACM wrapper pin information.
quartz/tests: Add some tests for ACM wrapper pin interfaces.
quartz/tests: Clean up tests for IPersistPropertyBag on the DirectSound renderer.
quartz/tests: Clean up test_query_interface().
quartz/tests: Add some tests for IBaseFilter_EnumPins() on the DirectSound renderer.
strmbase: Correct pin IDs for renderers.
quartz/tests: Add some tests for IBaseFilter_FindPin() on the DirectSound renderer.
quartz/tests: Add some tests for querying DirectSound renderer pin information.
quartz/tests: Add some tests for DirectSound renderer pin interfaces.
include: Correct IDL attributes for control.idl.
quartz/tests: Add some tests for IBasicAudio on the DirectSound renderer.
quartz/tests: Rename referenceclock.c to systemclock.c.
quartz/tests: Clean up test_IReferenceClock_query_interface().
quartz/tests: Rewrite test_IReferenceClock_methods().
quartz/systemclock: Simplify SystemClockImpl_GetTime().
hid: Handle overlapped file handles.
quartz/tests: Fix static link to GetTickCount64().
quartz/tests: Add a missing call to ITypeInfo_ReleaseTypeAttr().
quartz/tests: Add some tests for advising from system clock.
quartz/systemclock: Use the global HeapAlloc() wrappers.
quartz/systemclock: Use the standard linked list implementation.
quartz/systemclock: Use GetTickCount64() directly.
quartz/systemclock: Simplify notifying the advise thread.
quartz/systemclock: Also wake the semaphore at the given start time.
quartz/systemclock: Clarify some field names.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 3.0.5 is now available.
What's new in this release (see below for details):
- Various bug fixes
The source is available from the following locations:
https://dl.winehq.org/wine/source/3.0/wine-3.0.5.tar.xzhttp://mirrors.ibiblio.org/wine/source/3.0/wine-3.0.5.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 3.0.5 (total 75):
5402 Multiple MFC-based apps crash during non-modal child dialog control creation with active window being zero (Canon PhotoStitch 3.1.13, Flexible Renamer v8.4)
16845 Radio buttons not being checked on focus
33117 Can't load Bach41.ttf with CreateFontIndirect
33502 SnagIt writes incomplete HKLM\\System\\CurrentControlSet\\Control\\Print\\Printers entry, causing loader failures for apps that depend on winspool.drv
35320 setlocale(Chinese_China.950) returns NULL
35504 LibreOffice 4.2 installer copies MSVC++ runtime files into erroneous 'C:\Win\System\' path (directory targets/properties not re-resolved after updates from custom actions)
38066 Memento Mori (Numen: Contest of Heroes): mouse buttons don't work (needs native dinput8)
38402 glDebugMessageCallback has mismatched calling convention
39051 TabbedTextOut() incorrect output on tab character
39508 Microsoft Office 365/OneDrive for Business installer fails in Win8+ mode with 'advapi:ParseStringSidToSid String constant not supported: "OW"' (failure to decode 'Owner Rights' SID 'S-1-3-4')
40160 cant install mobogenie
40206 Revit Architecture fails to install: throws Messagebox "Function failed" and aborts
40208 Cegid Business Line installer fails in custom script action with "Object doesn't support this property or method: 'ObjRegistry.CreateKey'" (needs 'StdRegProv.CreateKey')
40264 Iris Online cannot connect to login server (SO_SNDBUF with value 0 is not allowed in OSX)
40303 Control Data passed in DIALOGEX Resource passes pointer with offset sizeof(WORD)
40433 Fifa 11 EU demo fails to install when run from custom DVD
40828 Switching resolution in desktop mode makes task bar redraw on top of full screen game
41039 Multiple kernel drivers crash on unimplemented function ntoskrnl.exe.FsRtlIsNameInExpression (VirtualBox, QQProtect for Tencent TIM (com.qq.office) 2.1.x)
41356 Multiple applications and games need support for szOID_NIST_sha* OIDs in crypt32 (The Crew (Uplay), Star Wars The Old Republic, PSNow v9.0.5)
41404 WPS Office 10.1.0.5775 unhandled exception on installation
41419 Visio 2013 crashes with unimplemented function msvcp100.dll.?_GetCombinableSize@details@Concurrency@@YAIXZ
41934 Spreaker Studio 1.4.2 fails to install
42010 ReactOS Calc does not show dots in radio buttons.
42078 Dungeons & Dragons: Chronicles of Mystara needs d3dx11_43.dll.D3DX11CreateShaderResourceViewFromMemory
43187 EA Origin 'OriginWebHelperService' (QGuiApplication) non-interactive service process crashes due to null monitor info when determining the primary (default) screen
43358 EVE Online crashes on startup in Win7+ mode (XAudio 2.7 'IXAudio2SourceVoice::GetState' called with 'Flags' parameter, causing %ESI or %EDI register corruption)
43464 Elite Dangerous Horizons fails to connect to server with CRC error
43550 Photoshop Elements 15 spams console with fixme:file:MoveFileWithProgressW MOVEFILE_WRITE_THROUGH unimplemented
43630 Altium Designer Installer - Richedit control shows rtf code instead of text
43890 Divinity: Original Sin 2 does not successfully launch
44109 Simple free HAM program Opera crashes, needs unimplemented function pdh.dll.PdhVbAddCounter
44177 Guitar Pro 5: Long freezes during draw process of dashed lines (P.M. or let ring markers)
44229 Visual C++ 1.51 can't add files to project (GetOpenFileName16() doesn't support custom templates or hooks)
44409 png with indexed colors and alpha miss the alpha channel on loading
44485 Delphi 7 debugger generates new exceptions by itself
45320 cmd creates an environment variable with an empty name
45347 Google Chrome installer crashes on unimplemented function propsys.dll.InitPropVariantFromCLSID
45523 FIFA 18 Demo needs KERNEL32.dll.SetProcessWorkingSetSizeEx
45538 Multiple applications crash on unimplemented function msvcr120.dll.?wait@Concurrency@@YAXI@Z (Amazon Workspaces client, EnginePrime, Bethesda Launcher Updater)
45569 League of Legends 8.12+ needs NtQueryInformationProcess(ProcessCookie) stub
45588 .Net Framework 4.5.2 (WPF) System.Windows.Media.PixelFormat requires windowscodecs.dll.IWICPixelFormatInfo_{GetChannelCount,GetChannelMask,GetBitsPerPixel}_Proxy
45593 Wargaming.net Game Center: Installer deadlocks during download ('ntdll.RtlDeregisterWaitEx' must not synchronously wait when 'CompletionEvent' is NULL)
45673 Calling delegated proxy methods returns 0x800706b5 (RPC_S_UNKNOWN_IF), "err:rpc:RpcAssoc_BindConnection syntax {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}, 0.0 not supported"
45709 djkaty.com Simple2D demos v1.13 need support for IWICImagingFactory2, CLSID '{317d06e8-5f24-433d-bdf7-79ce68d8abc2}'
45724 Multiple EndScene calls result in multiple glFlush (FF XIV)
45782 mono needs unimplemented function api-ms-win-crt-math-l1-1-0.dll._Cbuild
45816 Orbit Profile crashes in Unhandled exception: unimplemented function msvcp140.dll.?_Winerror_message@std@@YAKKPADK@Z called
45831 Slack installer (Squirrel) fails:Unhandled Exception: System.AccessViolationException:at MS.Win32.PresentationCore.UnsafeNativeMethods.WICMetadataQueryReader.ContainsMetadataByName
45832 Windower 5 beta (FF XI tool) crash: Unhandled Exception: System.NotImplementedException at Windower.UI.Views.RootView.OnSourceInitialized (DwmExtendFrameIntoClientArea should return S_OK)
45880 Multiple PC/SC applications crash on unimplemented function winscard.dll.SCardCancel (Aruba key, SmartCard test apps)
45910 nProtect GameGuard used by multiple MMORPG games crashes on unimplemented function wevtapi.dll.EvtExportLog (4Story, Phantasy Star Online 2)
45913 tchar.h: using the macro _sntprintf leads to an undefined reference to snwprintf; macro should resolve to _snwprintf
45915 x64dbg/x32dbg crash during shutdown on unimplemented function msvcr120.dll.??0_Scoped_lock@_NonReentrantPPLLock@details@Concurrency@@QAE@AAV123@@Z
45928 Microsoft Windows SDK for Windows 10 (.NET 4.6) installer fails, claims KB3118401 is needed ('ucrtbase.dll' missing version resource, >= 10.0.0)
45942 AnyRail6: crashing when open Options
45997 iPed 7G 2019 (.NET 4.0 app) v13.0.10800 crashes with System.NotImplementedException at system.drawing.pen.ScaleTransform
46040 Intel Extreme Tuning Utility v6.4 kernel driver 'iocbios2.sys' crashes on unimplemented function ntoskrnl.exe.KeSetTargetProcessorDpc
46057 Multiple applications want 'ntdll.NtQueryInformationToken' to support 'TokenVirtualizationEnabled' (24) info class (Blizzard Battle.net)
46080 Multiple installers are missing title bar buttons
46081 Multiple installers show readonly drives with broken size
46084 Skype 8.33.0.50 installer crashes due to unimplemented msvcp140.dll.?_Winerror_map@std@@YAHH@Z
46089 TopoEdit tool from Windows 10 SDK (10.0.17763.x) crashes in ntdll.LdrResolveDelayLoadedAPI during resolver failure (NULL dll failure hook)
46129 'sqlwriter.exe' from Microsoft SQL Server 2012/2014 crashes on unimplemented function VSSAPI.DLL.??0CVssWriter@@QEAA@XZ
46135 Microsoft ODBC tool 'odbcconf.exe' (part of MDAC 2.x install) crashes during configuration (some 'advapi32.dll' API entries are not hotpatchable due to PIC/GOT code at entry)
46156 Multiple applications from Windows 7-10 crash on unimplemented function slc.dll.SLOpen
46157 Doxie 2.10.3 crashes on unimplemented function msvcr120.dll._vscprintf_l
46168 dotnet35sp1 installer has an error under wow64
46172 Multiple applications from Windows 7-10 crash on unimplemented function slc.dll.SLGetLicensingStatusInformation
46186 LoadImageA searches images in the wrong directory
46210 explorer /desktop leaks atoms from DDE interface
46215 File Open Dialog fails to set focus to Filename text box
46229 server/ptrace: NetBSD debug register storage
46328 Installer for Tanglet 1.5.3 crashes at target directory selection
46430 Doom3 (CD version) fails to install
46435 F1 2011 crashes with a messed up rendering in DX9 mode
----------------------------------------------------------------
Changes since 3.0.4:
Akihiro Sagawa (6):
dinput/tests: Use GET_DIDEVICE_SUBTYPE macro in keyboard type tests.
dinput/tests: Add more tests for keyboard subtypes.
dinput: Return DIDEVTYPEKEYBOARD_JAPAN106 subtype when it is used.
windowscodecs: Fix buffer overflow when generating a palette.
gdiplus/tests: Add more PNG color format tests.
gdiplus: Convert to 32bppARGB when PNG image with transparency chunk is loaded. (rebased).
Alex Henrie (1):
advapi32: Fix memory leak in QueryServiceConfig2W (Coverity).
Alexandre Julliard (8):
user32: Use height from font metrics for empty text runs in TabbedTextOut().
oleaut32: Fix argument order with instance and VARIANT return type.
server: Reset hardware breakpoint sizes before setting them.
commdlg: Implement custom template support in 16-bit file dialogs.
commdlg: Add support for 16-bit file dialog hooks.
ntdll: Also store FPU registers in RtlRaiseException().
msi: Return an error code instead of a button id in msi_change_media().
winspool.drv: Make cupsGetPPD optional to work around deprecation warning.
Alistair Leslie-Hughes (6):
include: Add more types to ntifs.h.
ntdll: Support TokenVirtualizationEnabled in NtQueryInformationToken.
include: Add MmIsAddressValid to header.
ws2_32: Ignore a SO_SNDBUF value of 0 on macOS.
advapi32: Add DECL_HOTPATCH to registry functions.
user32: Don't reset focus if current dialog is a child.
Andrew Wesie (2):
wined3d: Remove extraneous flush from EndScene.
ntdll: Stub for ProcessCookie in NtQueryInformationProcess.
Andrey Gusev (4):
pdh: Add PdhVbAddCounter stub.
slc: Add SLOpen stub.
slc: Add SLGetLicensingStatusInformation stub.
d3dx11: Fix D3DX11CreateShaderResourceViewFromMemory spec entry.
André Hentschel (2):
kernel32: Add stub for SetProcessWorkingSetSizeEx.
ntdll: Call system hook in LdrResolveDelayLoadedAPI when dll hook is missing.
Austin English (1):
winscard: Add SCardCancel stub.
Bernhard Übelacker (1):
user32: Let nulldrv return some dummy monitor information.
Brendan McGrath (4):
advapi32: Don't create a WoW6432 MachineGuid.
dinput/tests: Test that the GUID is the same for Instance and Product.
dinput: Use the same GUID for Instance and Product.
msi: Set stale function pointers to NULL.
Daniel Lehman (1):
gdi32: Fix memory leak (Valgrind).
Dmitry Timoshkov (13):
windowscodecs: IWICMetadataQueryReader::GetMetadataByName() should accept NULL for returned value.
kernel32: Add support for MOVEFILE_WRITE_THROUGH to MoveFile.
user32/tests: Add a test for custom dialog control data.
wrc: Fix generation of custom dialog control data.
user32: Fix the pointer to custom dialog control data.
user32: Don't force a combobox repaint on WM_SIZE.
user32/tests: Add a focus test for an empty dialog that returns TRUE in WM_INITDIALOG.
user32: If there is no dialog controls to set focus to then set focus to dialog itself.
gdi32: Improve detection of symbol charset for old truetype fonts.
user32: Move the auto radio button group logic from BM_SETCHECK to WM_LBUTTONUP handler.
user32/tests: Simplify the test for BM_CLICK on autoradio button by using a dialog.
user32/tests: Add a test for navigating a group of buttons using keyboard events.
user32: Add support for navigating a group of radio buttons using a keyboard.
Fabian Maurer (5):
propsys: Add PropVariantToStringWithDefault and tests.
msi: In dialogs show titlebar buttons.
riched20: Properly handle \0 inside rtf input.
user32: LoadImage should not only search in the working directory.
winealsa.drv: Don't crash when getting NULL event from midi.
Frédéric Fauberteau (1):
wineserver: Support debug registers on NetBSD.
Gijs Vermeulen (2):
msvcr100: Add Concurrency::wait stub.
msvcp100: Add Concurrency::_GetCombinableSize stub.
Hans Leidekker (4):
wbemprox: Implement StdRegProv.CreateKey.
msi: Allow recursive changes to the target folder path.
msi: Support substorage transforms in MsiDatabaseApplyTransform.
msi: Only perform the media check if the label of the disk entry differs from the last.
Huw D. M. Davies (1):
winspool: Skip the old printer check if it has a NULL port name.
Jacek Caban (2):
crypt32: Added support for szOID_NIST_sha* OIDs.
include: Don't use unnamed struct for NDR_SCONTEXT declaration.
Jactry Zeng (1):
ntoskrnl: Add FsRtlIsNameInExpression stub.
Jason Edmeades (1):
msvcrt: Do not put cmd.exe special environment variables into the environ.
Louis Lenders (6):
dwmapi: Return S_OK in DwmExtendFrameIntoClientArea.
ucrtbase: Add version resource.
wevtapi: Add stub for EvtExportLog.
wevtapi: Fix typo in spec file.
ntoskrnl.exe: Add stub for KeSetTargetProcessorDpc.
vssapi: Add a few win64 spec entries.
Michael Müller (2):
ntdll: Implement ProcessPriorityClass in NtQueryInformationProcess.
ntdll: Implement ProcessImageFileNameWin32 in NtQueryInformationProcess.
Michael Stefaniuc (2):
include: Make ARRAY_SIZE() available in wine/test.h.
include: Add a generic available ARRAY_SIZE().
Mihail Ivanchev (1):
include: Fixed the Unicode expansion of _sntprintf.
Nikolay Sivov (11):
propsys: Add InitPropVariantFromCLSID().
advapi32/tests: Test return SIDs for wellknown two-character names.
advapi32: Add WinCreatorOwnerRightsSid to wellknown list.
advapi32: Add a name for WinBuiltinAnyPackageSid.
wincodecs: Add IWICImagingFactory2 stub.
wincodecs/icoformat: Improve input data validation on decoder initialization.
wincodecs: Add IWICPixelFormatInfo exports.
gdiplus: Implement GdipScalePenTransform().
gdiplus: Fix the number of transformed points for squared caps.
xmllite/reader: Fix compiler warning.
inetcomm: Fix a leak on DeleteProp() (Valgrind).
Olivier F. R. Dierick (1):
explorer: Don't change Z-order of the taskbar when displaying it.
Paul Gofman (1):
d3dx9: Return correct comment length from get_instr_length().
Pierre Schweitzer (1):
msi: Don't consider read-only drives when enumerating volumes.
Piotr Caban (10):
msvcr120: Added _Cbuild implementation.
msvcp140: Added _Winerror_message implementation.
msvcr100: Use scoped_lock internal buffer when locking critical_section.
msvcr100: Add _NonReentrantPPLLock class implementation.
msvcr100: Add _ReentrantPPLLock class implementation.
msvcr100: Add _ReentrantPPLLock::_Scoped_lock class implementation.
msvcr100: Added _Scoped_lock::_NonReentrantPPLLock class.
msvcrt: Support "China" country name in setlocale function.
msvcp140: Add _Winerror_map implementation.
msvcrt: Add _vscprintf_l implementation.
Ralf Habacker (1):
explorer: Fix atom leaks caused by not releasing DDE interface.
Roger Zoellner (1):
ntdll: Relax checks for valid affinity mask in NtSetInformationThread().
Sebastian Lackner (2):
opengl32: Add wrappers for glDebugMessageCallback to handle calling convention differences.
xaudio2: Use assembly wrapper to call OnVoiceProcessingPassStart callback.
Serge Gautherie (1):
jscript: Fix a MSVC-x64 warning about to_uint32().
Stefan Dösinger (5):
msvcp140: Implement _Temp_get.
msvcp120: Tr2::_Rename_wchar NULL ptr handling differs from tr2::_Rename.
msvcp140: Export _Rename.
msvcp140/tests: Test _Last_write_time and _Set_last_write_time.
ntdll: Avoid more race conditions in RtlDeregisterWaitEx.
Sven Baars (2):
dsound: Fix a memory leak (Valgrind).
gdiplus: Fix a memory leak (Valgrind).
Zebediah Figura (2):
rpcrt4/tests: Add tests for delegated proxy methods.
ole32: Use the real proxy IID in ClientRpcChannelBuffer_GetBuffer().
Zhiyi Zhang (1):
riched20: Fix a use after free.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 4.3 is now available.
What's new in this release (see below for details):
- Reimplementation of XAudio2 using the FAudio library.
- Mono engine updated to the latest upstream.
- More modern handling of iconic windows.
- Improved handling of kernel objects.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.3.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.3.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 4.3 (total 45):
1719 MDI child window minimize problem in Delphi VCL applications
7287 Redundant "tabs" appear with tabbed MDI (test with LTSpice)
8226 DlgDirListComboBox does not fail properly on bad path spec argument
15703 LEGO Star Wars controller options
18496 BREW simulator always shows a black display
19777 Ad Astra game runs very slow
21023 SetupDiOpenDevRegKey() returns wrong HKEY
26653 Multiple VB6 applications need oleaut32 VarRound to support VT_DECIMAL
31954 Second Sight hangs with a black screen after the intro videos
32374 List box with LBS_NODATA set, has very low performance, depending on items count.
35516 Microworlds EX hangs when clicking toolbar button
37705 Heroes of Might and Magic VI Shades of Darkness Textures Fail to Display in Most Campaign Maps
38488 Wrong traces in functions *_invalidate_location
39932 bat-script with quotes cann't be called using CreateProcess
41670 BattlEye launcher stuck at 'Starting BattlEye Service...' (PUBG, Planetside2, H1Z1: King of the Kill, Tibia 11)
43395 Wine intermittently crashes after any program terminates
43659 Jurassic Park: Operation Genesis crashes inside winegstreamer (disabling winegstreamer is a workaround)
44300 Windows Media Player 7.1 fails to play media due to unimplemented function wmvcore.dll.WMCheckURLExtension
45149 Provide mscoree.dll.CorIsLatestSvc stub with diagnostic message to tell native MS .NET CLR bootstrapper must be used (dll override)
45631 League of Legends client crashes when joining a lobby with other players
45632 Garena client v2.0.x crashes on startup ('ntdll.NtQueryVirtualMemory' needs to validate 'MemoryInformationLength' before writing to buffer)
45841 Battleye's BEDaisy.sys requires that PsThreadType and PsProcessType are defined
46105 TopoEdit crashes with unimplemented function mf.dll.MFCreateSequencerSource
46245 V-sync setting does not work (Direct3D 12)
46318 vbscript doesn't parse if identifier is also keyword token
46319 32-bit IL-only executable launched as 32-bit subprocess on Wine and 64-bit subprocess on Windows
46442 FormatCurrency(9) returns .9.00 (period in front)
46481 strftime has a buffer overflow
46493 Functions ilogb* are not implemented
46583 LINE latest version doesn't work
46623 Game controller behaves incorrectly
46638 dotnet40 no longer installs using winetricks
46639 LoadLibraryShim fails in wow64
46654 dotnet35sp1 fails to install with winetricks
46678 Width of latin characters is wrong with some fonts.
46681 TopoEdit crashes with unimplemented function mf.dll.MFCreateTopologyNode
46691 comctl32/tests/propsheet.c shows uninitalized memory use
46708 Photoline crashed right after start, no problem with wine 3.0.4
46717 TopoEdit crashes with unimplemented function mf.dll.MFCreateTopoLoader
46719 iTunes crashes during the installation
46724 Call of Juarez: Bound in Blood crashes on startup when using FAudio
46727 Alekhine's Gun crashes on startup when using FAudio
46728 dotnet35sp1 fails to complete with install via winetricks
46729 Wine directx not detecting Intel HD Graphics 620 (Rev 02) chipset
46732 BleachBit-2.0 crashes at startup
----------------------------------------------------------------
Changes since 4.2:
Alexandre Julliard (12):
kernel32/tests: Add a test to check some fields in fake dlls.
winebuild: Align resource data to dword boundaries even on 64-bit.
winebuild: Make thiscall an entry point flag instead of a function type.
winebuild: Add support for fastcall entry points.
ntdll: Support relay debugging of fastcall entry points.
ntdll: Use the fastcall flag for RtlInterlockedPushListSList.
hal: Specify fastcall entry points using the appropriate spec file flag.
ntoskrnl.exe: Specify fastcall entry points using the appropriate spec file flag.
kernel32/tests: Use GetTempFileName() instead of hardcoding directory names.
winebuild: Use stdcall for fastcall wrappers.
winebuild: Make relay entry points hot-patchable.
wrc: Don't map version block names to the target language.
Alistair Leslie-Hughes (8):
oleaut32: Support VT_DECIMAL in VarRound.
mf: Add IMFSequencerSource stub.
kernel32: Correct GetCurrencyFormatW/A spec entries.
oleaut32: Correctly get the Currency separator in VarFormatCurrency.
oleaut32: Correctly get the thousands separator in VarFormatCurrency.
oleaut32: Correctly get the Grouping separator.
include: Add more DB_E_* defines.
vbscript: Move variable declaration outside of for.
Andrew Eikum (1):
xaudio2: IXAPO::Process out parameter should not be const.
Andrey Gusev (11):
ext-ms-win-ntuser-windowclass-l1-1-0: Add dll.
ext-ms-win-ntuser-window-l1-1-0: Add dll.
ext-ms-win-ntuser-window-l1-1-4: Update spec file.
ext-ms-win-gdi-dc-create-l1-1-0: Add dll.
ext-ms-win-gdi-draw-l1-1-0: Add dll.
ext-ms-win-ntuser-gui-l1-1-0: Add dll.
ext-ms-win-gdi-font-l1-1-0: Add dll.
ext-ms-win-gdi-font-l1-1-1: Add dll.
ext-ms-win-ntuser-dialogbox-l1-1-0: Add dll.
ext-ms-win-ntuser-message-l1-1-0: Add dll.
ext-ms-win-ntuser-misc-l1-1-0: Add dll.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Austin English (1):
comctl32: Fix a memory leak (valgrind).
Brendan McGrath (2):
vbscript: Allow most keywords to be used as 'dot' identifiers.
vbscript: Add todo test for 'rem' as 'dot' identifier.
Byeong-Sik Jeon (1):
gdi32: Add a workaround for Freetype < 2.8.1 using v40 FT_LOAD_TARGET_MONO.
Daniel Lehman (1):
kernel32/tests: Add tests for SpecialCasing.
Dmitry Timoshkov (8):
windowscodecs: Add support for 32bppRGB, 32bppRGBA and 32bppPRGBA to format converter.
windowscodecs/tests: Add a test for 8bpp indexed TIFF format.
windowscodecs: Fix the SupportsTransparency flag value for various pixel formats.
windowscodecs: Fail earlier in TIFF decoder's Initialize method for unsupported pixel formats.
windowscodecs: Avoid redundant checks when reading a TIFF tile.
windowscodecs: Add support for CMYK to BGR conversion.
windowscodecs: Move JPEG frame image data initialization from Frame::CopyPixels to Decoder::Initialize.
wpcap: Fix compilation with recent pcap/pcap.h versions.
Ethan Lee (3):
xaudio2: Rewrite to use FAudio.
xaudio2: Fix uninitialized variable access (Valgrind).
xaudio2: IXAudio23 needs its own interface, for XAUDIO23_VOICE_SENDS parameters.
Gabriel Ivăncescu (22):
comctl32/listbox: Use a helper to retrieve item height by index.
comctl32/listbox: Use a helper to set item height by index.
comctl32/listbox: Move the item data insertion into a separate function.
comctl32/listbox: Move the item data removal into a separate function.
comctl32/listbox: Implement LBS_NODATA for single-selection listboxes.
comctl32/tests: Test negative counts in LB_SETCOUNT.
user32/listbox: Use a helper to retrieve item height by index.
user32/listbox: Use a helper to set item height by index.
user32/listbox: Move the item data insertion into a separate function.
user32/listbox: Move the item data removal into a separate function.
user32/listbox: Implement LBS_NODATA for single-selection listboxes.
user32/tests: Test negative counts in LB_SETCOUNT.
comctl32/listbox: Use is_item_selected in GetSelCount and GetSelItems.
user32/listbox: Use is_item_selected in GetSelCount and GetSelItems.
comctl32/listbox: Use a helper to set item data by index.
comctl32/listbox: Rewrite FindString to use helpers and avoid the macro.
comctl32/listbox: Use a helper to get the size of an item.
comctl32/listbox: Implement LBS_NODATA for multi-selection listboxes.
user32/listbox: Use a helper to set item data by index.
user32/listbox: Rewrite FindString to use helpers and avoid the macro.
user32/listbox: Use a helper to get the size of an item.
user32/listbox: Implement LBS_NODATA for multi-selection listboxes.
Gijs Vermeulen (2):
ntdll: Validate len in NtQueryVirtualMemory.
mfplat: Implement MFHeap[Alloc|Free].
Hans Leidekker (13):
msi: Don't use delay imports.
winhttp: Include URL extra info in the path unless the caller asks for it separately.
winhttp: Introduce a structure to describe URL components.
secur32: Fix the username fallback in get_key_container_path.
ws2_32: Always set overlapped status in AcceptEx.
mscms: Add a partial implementation of WcsOpenColorProfileA/W.
mscms: Map BM_KYMCQUADS to TYPE_KYMC_8.
mscms: Set last error on insufficient buffer in EnumColorProfilesA/W.
msi: Don't use globals to manage assembly cache state.
fusion: Use bcrypt to compute the assembly token.
dnsapi: Add support for DNS_TYPE_OPT records.
dnsapi: Fix data length returned for records that contain Unicode strings.
dnsapi: No longer prefer native.
Henri Verbeet (1):
wined3d: Get rid of unused wined3d_blit_op enum elements.
Huw D. M. Davies (4):
server: Add new pipe servers to the end of the servers list.
ntoskrnl.exe: Add stubs for PsSuspendProcess() and PsResumeProcess().
comctl32/listbox.c Use helper functions for item initialization.
user32/listbox: Use helper functions for item initialization.
Isira Seneviratne (8):
wordpad: Update STRING_TEXT_FILES_UNICODE_TXT string to plural format.
po: Add Tamil translation.
po: Update Sinhala translation.
po: Update Sinhala translation.
kernel32: Add the Sinhala NLS file.
kernel32: Fix LOCALE_SSCRIPTS value for Sinhala.
po: Update Sinhala translation.
po: Update German translation.
Jacek Caban (19):
include: Add atlthunk.h.
atlthunk: Add stub DLL.
atlthunk: Implement AtlThunk functions.
atlthunk/tests: Add tests.
ntdll/tests: Introduce test_object_type helper.
server: Support process object type.
server: Support thread object type.
server: Support token object type.
server: Return proper object type for mailslot and device files.
ntoskrnl.exe/tests: Add object reference tests.
ntoskrnl.exe: Export object type values.
ntoskrnl.exe: Introduce common kernel object allocator and use it for driver object.
ntoskrnl.exe: Use kernel object allocators for device object.
ntoskrnl.exe: Add missing ObReferenceObject call to ObReferenceObjectByName.
ntoskrnl.exe: Use kernel object allocators for file object.
ntoskrnl.exe: Add partial ObReferenceObjectByHandle implementation.
ntoskrnl.exe: Implement ObReferenceObject and ObDereferenceObject.
ntoskrnl.exe: Implement file object constructor.
jscript: Use flatten string in create_regexp debug traces.
Jactry Zeng (1):
mfplat: Add MFCreateMFByteStreamOnStreamEx() stub.
Józef Kucia (14):
wined3d: Add new registry setting to select shader backend.
d3d11: Use better name for current entry variable in validate_stream_output_entries().
dxgi/tests: Run test_swapchain_present() on D3D12.
dxgi: Always use user images instead of using Vulkan swapchain directly.
dxgi: Re-create swapchain on VK_ERROR_OUT_OF_DATE_KHR.
dxgi: Set Vulkan swapchain size according to VkSurfaceCapabilitiesKHR.
dxgi: Use VK_FILTER_LINEAR for swapchain blits if dimensions don't match.
d3d12/tests: Add test for swapchain and window sizes mismatch.
dxgi: Implement 0 sync interval for D3D12 swapchains.
dxgi: Recreate Vulkan swapchain only when current buffer index is 0.
d3d12/tests: Add test for backbuffer index after changing sync interval.
wined3d: Rename ShaderBackend registry setting to shader_backend.
wined3d: Add GPU information for Intel HD Graphics 620.
winevulkan: Use VkBase{In, Out}Structure instead of custom structure.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (2):
ole32: Add CoEnableCallCancellation stub.
ole32: Add CoDisableCallCancellation stub.
Mark Jansen (2):
msi: Do not leak rootkey.
msi: Prevent uninitialized variable usage.
Matteo Bruni (10):
d3dx9: Simplify get_parameter_by_name().
d3d8/tests: Add a test for Reset() with bound DEFAULT resources.
d3d9/tests: Add a D3D9Ex test for Reset() with bound resources.
d3d9/tests: Fix device tests on Windows 10.
d3d8/tests: Fix device tests on Windows 10.
d3d9: Release system memory wined3d buffer only after the draw buffer is destroyed.
d3d8: Release system memory wined3d buffer only after the draw buffer is destroyed.
d3d9/tests: Add a test for drawing with released buffers.
d3d8/tests: Add a test for drawing with released buffers.
d3dx9: Get rid of the ID3DXEffectImpl #define.
Michael Stefaniuc (37):
oleaut32/tests: Propagate the const instead of casting it away.
hnetcfg: Remove redundant "not NULL" check (coccinellery).
winmm/tests: Floating point numeric constants are by default doubles.
secur32: Use offsetof() instead of pointer substraction.
msxml3: Remove useless casts to self.
msxml3/tests: Floating point numeric constants are by default doubles.
d3d8/tests: Remove useless casts to self.
ddraw/tests: Avoid using the comma operator (coccinellery).
mshtml: Remove useless casts to self.
d3dx9: Remove redundant "not NULL" checks (coccinellery).
d3dx9/tests: Avoid using the comma operator (coccinellery).
shell32: Remove superfluous continue (coccinellery).
kernel32: Remove redundant not 0 check (coccinellery).
wineandroid.drv: Remove redundant not-NULL checks (coccinellery).
ddraw/tests: Remove redundant not NULL check (coccinellery).
oledb32: Remove redundant not-NULL check (coccinellery).
ntdll: Remove redundant not-NULL check (coccinellery).
comctl32: Avoid using the comma operator.
wintrust: Remove redundant not-NULL checks (coccinellery).
kernelbase: Remove redundant not-NULL check (coccinellery).
gdiplus: Remove redundant not-NULL checks (coccinellery).
msvcp120/tests: Avoid using the comma operator.
crypt32: Remove an unused return variable (coccinelle).
gdi.exe16: Remove an unused return variable (coccinelle).
shlwapi: Remove redundant not-NULL check (coccinellery).
msvcrt: Remove redundant not-NULL check (coccinellery).
pdh: Remove redundant not-NULL check (coccinellery).
gdiplus: Remove useless casts to self.
windowscodecs: Remove redundant not-NULL check (coccinellery).
d3dx9: Rename the ID3DXEffect object and methods.
d3dx9: Merge the stub ID3DXBaseEffect methods.
d3dx9: Merge the d3dx9_effect_GetDesc() helper.
msxml3: Remove redundant not-NULL check (coccinellery).
dwrite: Remove useless casts to self.
riched20/tests: Avoid using the comma operator.
ole32: Remove useless casts to self.
urlmon: Remove useless casts to self.
Nikolay Sivov (44):
wbemprox/tests: Add a simple test for semi-synchronous mode behaviour.
comctl32/toolbar: Draw button in idle state when mouse is captured.
comctl32/toolbar: Send BN_CLICKED for button that was pressed, not released.
comctl32/updown: Make sure buttons rectangles are consistent with each other.
mfplat: Implement MFCreateAsyncResult().
po: Update Russian translation.
mfplat/tests: Remove initialization from tests that don't need it.
mfplat: Hold platform lock for async results lifetime.
mfplat: Add basic support for user queue object lifetime management.
mfplat: Add trivial implementation of MFCopyImage().
mf: Add attributes store to topology object.
mf: Add IMFTopologyNode stub.
mfplat: Implement MFInvokeCallback().
mf/tests: Add some tests for node management.
mfreadwrite: Add MFReadWriteClassFactory stub.
mfreadwrite/tests: Initialize COM only for tests that need it.
mfreadwrite: Add CreateInstanceFromObject() stub for source reader.
mf: Assign node id on creation.
mf/tests: Add another test for duplicate node ids.
mfplat: Implement MFCreateCollection().
mf: Implement topology node handling.
mfplay: Add stub dll.
mf: Add support for source and output collections.
mf/tests: Add a basic test creating media session.
mf: Use event queue for session event handling.
mf: Add IMFTopoLoader stub.
mf: Assign topology identifiers.
mfreadwrite: Add sink writer stub.
comctl32/propsheet: Avoid posting uninitialized data (Valgrind).
usp10: Use single path for all fonts in ScriptGetCMap().
mf/tests: Fix typos in test messages.
ucrtbase: Add ilogb* functions.
mfplat/tests: Add a test for deferred item posting.
mfplat: Initialize system queues on startup.
mfplat: Add MFAllocateWorkQueueEx().
mfplat: Add a helper to create async result objects.
mfplat: Add basic support for submitting work items.
mfplat/tests: Add some tests for serial queues.
mfplat: Implement waiting items with ability to cancel.
mfplat: Add support for scheduled items.
mfplat: Cleanup user queues.
mfplat: Fail to create user queues on uninitialized platform.
user32: Do not touch some of the values on 64-bit with SetWindowLong().
user32: Make GetWindowLong() fail for some values on 64-bit.
Paul Gofman (8):
kernel32/tests: Add test for overlapped file read.
ntdll/tests: Add more tests for overlapped file read.
ntdll: Return STATUS_PENDING from NtReadFile() for async read in case of no buffering.
wined3d: Only use the LSB of the _SAMP_SRGB_TEXTURE state value.
kernel32/tests: Test ReadFileScatter() completion status with FILE_SKIP_COMPLETION_PORT_ON_SUCCESS.
ntdll/tests: Test ReadFile() completion status with FILE_SKIP_COMPLETION_PORT_ON_SUCCESS.
ntdll: Pass async parameter to add_fd_completion server call.
wined3d: Add a setting to turn off aggressive optimization on NVIDIA.
Piotr Caban (3):
winebuild: Recognize armv7a target.
msvcrt: Fix buffer overflow in _get_tzname.
msvcp140: Don't forward __ExceptionPtrCreate to msvcr120.
Sebastian Lackner (1):
server: Improve handling of cursor position clipping for empty rectangle.
Stefan Riesenberger (4):
opengl32: Add wrapper for wglCreateContext.
d3d11: Avoid calling D3D11CreateDevice() from D3D11CreateDeviceAndSwapChain().
d3d10_1: Avoid calling D3D10CreateDevice1() from D3D10CreateDeviceAndSwapChain1().
d3d10: Avoid calling D3D10CreateDevice() from D3D10CreateDeviceAndSwapChain().
Sven Baars (10):
wbemprox: Initialize a variable (Coverity).
windowscodecs/tests: Fix a memory leak (Valgrind).
windowscodecs: Add missing source_bpp initialization (Valgrind).
setupapi: Add a missing return statement (Coverity).
dinput8/tests: Fix some memory leaks (Valgrind).
wined3d: Remove a redundant adapter_count check (Coverity).
gdiplus/tests: Fix a memory leak (Valgrind).
msdmo: Allow for names to be NULL in IEnumDMO_Next.
devenum: Don't pass a name argument to IEnumDMO_Next.
dsound: Add missing SetEventHandle error handling (Coverity).
Vijay Kiran Kamuju (6):
crypt32: Add CMSG_SIGNER_UNAUTH_ATTR_PARAM implementation.
wmvcore: Add stub for WMCheckURlExtension.
user32: Add DlgDirList wildcard checks.
include: Add missing WMT_RIGHTS enum definition.
include: Add missing IWMSyncReader2 interfaces.
wmvcore: Add tests for WMCreateSyncReader.
Vincent Povirk (3):
mscoree: Update Wine Mono to 4.8.0.
gdiplus: Add support for reading nested metafiles.
mscoree: Add support for config stream in GetRequestedRuntime.
Zebediah Figura (65):
user32/tests: Add tests for GetWindowPlacement() and SetWindowPlacement().
user32/tests: Add tests for maximizing and minimizing owned windows.
user32/tests: Add tests for maximizing and minimizing child windows.
user32/tests: Add tests for maximizing and minimizing MDI child windows.
user32/tests: Add tests for ArrangeIconicWindows().
user32: SetWindowPos() shouldn't change the client rect of a minimized window.
user32: Correctly calculate the client size of a minimized window.
user32: Use the C[XY]MINIMIZED rather than C[XY]ICON size for minimized windows.
user32: AdjustWindowRect() shouldn't ignore WS_MINIMIZE.
user32: Reimplement ArrangeIconicWindows() using minimized metrics.
user32: Correctly place minimized windows.
user32: Paint title bars for minimized windows.
user32: Allow clicking the restore and maximize boxes for on minimized windows.
user32: Get rid of icon titles.
user32: Move iconic windows as their border instead of their icon.
user32: Replace the minimize box with a restore box when the window is minimized.
quartz/tests/filesource: Add some tests for IBaseFilter_EnumPins().
quartz/tests/filesource: Add some tests for IBaseFilter_FindPin().
quartz/tests/filesource: Add some tests for querying pin information.
quartz/tests/filesource: Add tests for media types.
quartz/filesource: Don't check formattype in FileAsyncReaderPin_CheckMediaType().
wined3d: Rename MAX_STREAMS to WINED3D_MAX_STREAMS.
wined3d: Rename MAX_TEXTURES to WINED3D_MAX_TEXTURES.
wined3d: Rename MAX_FRAGMENT_SAMPLERS to WINED3D_MAX_FRAGMENT_SAMPLERS.
wined3d: Rename MAX_VERTEX_SAMPLERS to WINED3D_MAX_VERTEX_SAMPLERS.
wined3d: Rename MAX_COMBINED_SAMPLERS to WINED3D_MAX_COMBINED_SAMPLERS.
quartz/filesource: Correctly initialize the default media type.
quartz/filesource: Return a default media type from FileAsyncReaderPin_GetMediaType().
quartz/tests/filesource: Add some tests for pin interfaces.
quartz/tests/filesource: Add some tests for filter state.
quartz/tests/filesource: Add tests for IAsyncReader_SyncRead().
wined3d: Rename MAX_ACTIVE_LIGHTS to WINED3D_MAX_ACTIVE_LIGHTS.
wined3d: Rename MAX_CLIP_DISTANCES to WINED3D_MAX_CLIP_DISTANCES.
wined3d: Rename HIGHEST_TRANSFORMSTATE to WINED3D_HIGHEST_TRANSFORM_STATE.
quartz/filesource: Correctly report short reads from IAsyncReader_SyncRead().
quartz/tests: Clean up CommitDecommitTest().
quartz/tests: Add tests for IMemAllocator_GetProperties() and IMemAllocator_SetProperties().
quartz/tests/filesource: Add tests for IAsyncReader_SyncReadAligned().
quartz/filesource: Correctly report short reads from IAsyncReader_SyncReadAligned().
setupapi: Return the "Device Parameters" subkey for DIREG_DEV.
setupapi: Handle error translation in SetupDiOpenDevRegKey().
setupapi: Handle error translation in SetupDiDeleteDevRegKey().
setupapi: Handle error translation in SetupDiCreateDevRegKey().
msvcr120: Add nexttoward implementation.
quartz/filesource: Set the sample length in IAsyncReader_SyncReadAligned().
quartz/filesource: Remove some incorrect assertions.
quartz/tests/filesource: Add tests for IAsyncReader_Request() and IAsyncReader_WaitForNext().
quartz/tests/filesource: Add tests for IAsyncReader_BeginFlush() and IAsyncReader_EndFlush().
quartz/tests: Rename avisplitter.c to avisplit.c.
setupapi: Search for substituted strings in SetupFindNextMatchLine().
quartz/tests/avisplit: Clean up test_query_interface().
quartz: Also report the input pin in Parser_GetPinCount().
quartz/tests/avisplit: Add some tests for IBaseFilter_EnumPins().
quartz/tests/avisplit: Add some tests for IBaseFilter_FindPin().
quartz/tests/avisplit: Add some tests for querying pin information.
quartz/tests: Add some tests for media types.
quartz/tests: Add some tests for pin interfaces.
quartz/tests: Clean up test_query_interface().
quartz/tests: Add a test mp3 file.
quartz/mpegsplit: Fix sink pin name.
quartz/tests: Add some tests for IBaseFilter_EnumPins().
quartz/tests: Add some tests for IBaseFilter_FindPin().
quartz/tests: Add some tests for querying pin information.
quartz/tests: Add some tests for pin interfaces.
mshtml: Open pages in the native browser in HlinkTarget_Navigate().
Zhiyi Zhang (4):
kernelbase/tests: Fix a possible test failure.
include: Add EnumDisplayDevices flags.
user32/tests: Add more EnumDisplayDevices tests.
ntoskrnl.exe: Implement ExUuidCreate().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.2 is now available.
What's new in this release (see below for details):
- Unicode string normalization support.
- Support for ECC cryptographic keys.
- Support for mixing 32/64-bit dlls in the load path.
- Futex-based implementations for more synchronization primitives.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.2.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.2 (total 60):
12453 Bad performance in Source based games
17913 Port Royale: sea is black
19748 Multiple games complain about checking occlusion query results from the wrong thread (Metro 2033, Unreal Tournament 3, Counter Strike: Source, Metro 2033, Call of Duty 4, Left 4 Dead, Left 4 Dead 2, Final Fantasy XIV, Half-Life 2)
20083 SIV (System Information Viewer) v4.00 SIVDRIVER crashes to due invalid PIO_STACK_LOCATION->FileObject passed into IRP_MJ_DEVICE_CONTROL dispatch routine
21101 Can't use SHIFT key with onboard visual keyboard and wine application
23863 The Bard's Tale (2005): unplayable due to almost completely black screen
28167 EA Sports FIFA 11 crashes on startup
35096 Kerning misbehavior for Hebrew text in Office 2010
35889 wine1.6 display fuzzy chinese ttf fonts, but dialog fonts display normal
36201 valgrind shows a definite leak under crypt32/tests/store.c
36261 valgrind shows a use after free in d3d_device_inner_Release() ddraw/tests/ddraw{4,7}.c
36267 valgrind shows an invalid read in ddraw/tests/ddraw4.c
36340 valgrind shows several warnings in ddraw/tests/ddraw2.c
36343 valgrind shows some leaks in ddraw/tests/ddraw4.c
36348 valgrind shows a couple leaks in d3d9/tests/d3d9ex.c
36349 valgrind shows a few leaks in d3d9/tests/stateblock.c
36380 valgrind shows a possible leak in in ddraw/tests/ddraw1.c
36381 valgrind shows a couple possible leaks in in ddraw/tests/ddraw2.c
36382 valgrind shows a possible leak in in ddraw/tests/ddraw7.c
36620 valgrind shows a few invalid reads in ddraw/tests/ddraw1.c
36621 valgrind shows several definite leaks in ddraw/tests/ddraw1.c
36623 valgrind shows some leaks in ddraw/tests/ddraw7.c
36631 valgrind shows a definite leak in in ddraw/tests/ddraw2.c
36658 valgrind shows an invalid read in ddraw/tests/d3d.c
36660 ddraw/tests/d3d.c CapsTest crashes under valgrind
36689 ddrawex/tests/surface.c crashes under valgrind/nvidia
37639 Multiple applications crash on unimplemented function vssapi.dll.?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z (AlphaShadow v1.2, EMC Retrospect 7)
38021 64-bit Planetside 2 fails to load bundled xinput1_3.dll (loader must check architecture before trying to load module)
38138 Avencast: Rise of the Mage: invisible doors
38685 valgrind shows an invalid read in d3d9/tests/d3d9ex.c
39080 The Settlers: Rise of an Empire: world geometry broken
40036 Shadows of Destiny Crash After Begins
41168 Test Drive Unlimited Crash before entry main menu
42573 Several Flickering Senran Kagura Shinovi Versus
42704 1Password 6.4.377 needs function bcrypt.dll.BCryptDeriveKeyPBKDF2
42734 NormalizeString (Unicode normalization) is not implemented
42911 Bayonetta: launches but screen stays black
44150 Alien vs Predator: Crash in DX11 Mode
45312 AC Syndicate needs bcrypt algorythm/functions (ECDH_P256, BCryptGenerateKeyPair, BCryptFinalizeKeyPair)
45473 Rogue Squadron 3D crashes on startup
45524 Add a futex-based implementation of condition variables
45570 League of Legends 8.12+ fails to start a game (anticheat engine, incorrect implementation of LdrInitializeThunk)
45820 Symantec Eraser Control Driver 'eeCtrl64.sys' (Norton 360) crashes on unimplemented function ntoskrnl.exe.ExpInterlocked{Push,Pop}EntrySList
46047 Multiple applications want Windows 8+ futex-like operations kernelbase.dll.WaitOnAddress, kernelbase.dll.WakeByAddress{All,Single} (VLC)
46088 BETest tool from Windows 10 SDK (10.0.17763.x) crashes on unimplemented function vssapi.dll.CreateVssBackupComponentsInternal
46127 aria2 1.34 fails to connect, reports 'WinTLS: Channel setup failed. Schannel provider did not fulfill requested flags. Excepted: 33180 Actual: 33052'
46208 Elite Dangerous is unstable in wine-devel
46252 StarCitizen has bad performance
46300 Yousician: unimplemented function mfplat.dll.MFGetSystemTime
46341 kernel32/tests/pipe.c shows uninitialized memory use in test_overlapped_transport()
46387 ReactOS/Windows XP TASKMGR: Column headers don't scroll when scrolling horizontally (multiple listview or header control)
46516 AfterEffects CS16 headless renderer crashes due to missing crypt32 functions CryptHashCertificate2 and CryptImportPublicKeyInfoEx2
46565 Disney's Chicken Little displays text upside down
46581 HeidiSQL generates OLE error when executing custom queries against MSSQL server.
46602 3D Custom Girl fails to render characters
46611 Readiris 17 fails to load when d2d1 is enabled: fixme:d2d:d2d_factory_CreateGeometryGroup iface
46617 Far Cry v1.40 locks up on the loading screen
46618 Far Cry v1.40 locks up when changing screen resolution or anti-aliasing level
46631 winecfg fails to load
46644 Ichitarou crashes when creating a new document (needs msvcrt._ismbcl1)
----------------------------------------------------------------
Changes since 4.1:
Alexandre Julliard (29):
kernel32: Fix handling of NULL argument in SetDllDirectoryA().
ntdll: Don't use current directory for libraries unless explicitly specified in the search path.
setupapi/tests: Avoid sizeof in traces.
ntdll: Use an NT filename to search for loaded modules.
ntdll: Return an NT filename in find_dll_file().
ntdll: Pass an NT filename to get_load_order().
ntdll: Use NT filenames when loading dlls.
ntdll: Remove no longer used parameter from find_fileid_module().
ntdll: Pass a flag instead of a file handle to load_builtin_dll().
ntdll: Directly try to open the dll file instead of checking for existence first.
ntdll: Create the memory mapping for a dll directly at open time.
server: Add custom flag for fake dlls in PE image information.
ntdll: Use the image info to check for fake dlls.
ntdll: Skip dlls of the wrong machine type when searching through the load path.
crypt32: Don't build password_to_ascii without GnuTLS.
ntdll: Use the current platform as processorArchitecture instead of a wildcard.
ntdll: Reimplement init_user_process_params() using RtlCreateProcessParametersEx().
ntdll: Hardcode the path of the windows directory for redirects.
server: Create the windows directories at startup if necessary.
ntdll: Also create the initial process parameters with RtlCreateProcessParametersEx().
ntdll: Recreate the process parameters structure once everything has been initialized.
ntdll/tests: Add tests for initial process parameters layout.
dinput: Add error check to silence a compiler warning.
ntdll: Return the kernel process start address from __wine_kernel_init().
ntdll: Rename attach_dlls() to LdrInitializeThunk().
ntdll: Make the CPU information global.
ntdll: Store extended FPU context in NtGetContextThread().
ntdll: Store extended FPU state and debug registers in RtlRaiseException().
server: Report a 64-bit CPU for IL-only binaries.
Alistair Leslie-Hughes (12):
combase: Add DllGetActivationFactory stub.
comdlg32: Improve PRINT32 dialog.
secur32: Fix compile error on older gnutls.
include: Add more VSS_* typedefs.
include: Add VSS writer enums.
include: Convert header vswriter to an idl.
include: Add vsbackup.idl.
vssapi: Add CreateVssBackupComponentsInternal stub.
vssapi: Add ?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z stub.
dsound: IDirectSoundNotify is only available when DSBCAPS_CTRLPOSITIONNOTIFY is specified.
comdlg32: Improve Printer Setup dialog.
mfplat: Implement MFGetSystemTime.
Andrey Gusev (3):
msi: Remove duplicate condition in msi_dialog_destroy().
crypt32: Remove duplicate condition in CRYPT_AsnDecodeNameValueInternal().
mscoree: Fix condition in CorDebug_Release().
Aric Stewart (2):
hidclass.sys: Prevent buffer overrun.
configure: Use SDL2_LIBS if set.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan McGrath (2):
wineboot: Fix PROCESSOR_ARCHITECTURE reg value.
vbscript: Allow more keywords to be used as identifiers.
Byeong-Sik Jeon (6):
gdi32: Fix vertical rotation.
gdi32: Add a helper function to get the transform matrices.
gdi32: Add helper functions to cache the glyph metrics.
gdi32: Add helper functions to compute the glyph metrics.
gdi32: Add helper functions to get GGO glyph bitmap.
gdi32: Add a helper macro for FreeType version check.
Dmitry Timoshkov (7):
windowscodecs: WICConvertBitmapSource should ask IWICFormatConverter::Initialize to use an optimized palette.
windowscodecs: Fix behaviour of format converter for indexed formats when NULL or empty palette has been provided.
windowscodecs/tests: Add a bunch of new tests for indexed format conversions.
windowscodecs/tests: Add some tests for converting 24bppBGR to 8bppIndexed format.
crypt32: CryptAcquireCertificatePrivateKey should look up certificate in the user's store if not linked to a provider.
wineps.drv: Add stubs for escapes required by Adobe PageMaker.
wineps.drv: PostScript header should be written by StartDoc instead of StartPage.
Gabriel Ivăncescu (28):
comctl32/listbox: Check for out of bounds using the index when painting the item.
comctl32/listbox: Use a helper to expand the item array.
comctl32/listbox: Shrink the item array with resize_storage.
comctl32/listbox: Return proper value for LB_INITSTORAGE.
comctl32/tests: Add tests for LB_INITSTORAGE.
user32/listbox: Check for out of bounds using the index when painting the item.
user32/listbox: Use a helper to expand the item array.
user32/listbox: Shrink the item array with resize_storage.
user32/listbox: Return proper value for LB_INITSTORAGE.
user32/tests: Add tests for LB_INITSTORAGE.
comctl32/listbox: Resize the entire item array at once in SetCount.
comctl32/listbox: Repaint the old selected item after setting the item selection.
comctl32/listbox: Use descr->selected_item for single-selection listboxes when checking selection.
comctl32/tests: Test changing the selection styles after listbox creation.
comctl32/listbox: Use a helper to retrieve item data by index.
comctl32/listbox: Use a helper to retrieve item string by index.
comctl32/listbox: Use is_item_selected in more places.
comctl32/listbox: Use a helper to set the selected item state.
comctl32/listbox: Send LB_RESETCONTENT from RemoveItem rather than DeleteItem.
user32/listbox: Resize the entire item array at once in SetCount.
user32/listbox: Repaint the old selected item after setting the item selection.
user32/listbox: Use descr->selected_item for single-selection listboxes when checking selection.
user32/tests: Test changing the selection styles after listbox creation.
user32/listbox: Use a helper to retrieve item data by index.
user32/listbox: Use a helper to retrieve item string by index.
user32/listbox: Use is_item_selected in more places.
user32/listbox: Use a helper to set the selected item state.
user32/listbox: Send LB_RESETCONTENT from RemoveItem rather than DeleteItem.
Hans Leidekker (14):
odbc32: Improve tracing in a number of functions.
odbc32: Work around drivers that don't accept NULL name length in SQLDescribeCol.
odbc32: Improve tracing in the remaining functions.
secur32: Add support for client certificate authentication.
crypt32/tests: Show that PFXImportCertStore doesn't set CERT_KEY_PROV_INFO_PROP_ID.
secur32: Return ISC_RET_USED_SUPPLIED_CREDS for schannel contexts if the feature was requested.
secur32: Fix default return flags for schannel contexts.
wininet: Trace modifiers in hexadecimal in HttpAddRequestHeaders.
bcrypt: Implement BCryptGenerate/FinalizeKeyPair for ECDH P256.
bcrypt: Add support for importing and exporting ECC public keys.
bcrypt: Add support for importing and exporting ECC private keys.
bcrypt: Implement BCryptDeriveKeyPBKDF2.
msi: Initialize assembly caches before disabling redirection.
msi: Link directly to sxs.
Henri Verbeet (1):
d3d8: Improve ValidateVertexShader().
Huw D. M. Davies (7):
kernel32/tests: Move the tests to a per-test todo.
kernel32: Initial support for canonical decomposition in NormalizeString().
kernel32: Implement canonical reordering.
libport: Add support for compatibility decomposition.
libport: Add support for singleton decomposition.
kernel32: Implement canonical composing.
user32/listbox: Remove some unnecessary differences to the comctl32 version.
Isira Seneviratne (4):
po: Update Sinhala translation.
po: Update Sinhala translation.
view: Move open dialog filter string to resource file and add extensions.
po: Update Sinhala translation.
Jacek Caban (13):
ntoskrnl.exe: Properly export *SList functions on win64.
ntoskrnl.exe: Add PsRevertToSelf stub.
ntoskrnl.exe: Implement ExDeleteNPagedLookasideList.
ntoskrnl.exe: Set FileObject of IRP passed to driver callbacks.
ntoskrnl.exe: Add KeRevertToUserAffinityThread stub.
ntoskrnl.exe/tests: Introduce get_proc_address helper.
mshtml: Add style.borderCollapse property implementation.
mstml: Add style.borderSpacing property implementation.
mshtml: Support custom user agent strings in IOmNavigator::get_appVersion.
ntoskrnl.exe: Add PsReferenceProcessFilePointer stub.
kernel32: Support MUI_LANGUAGE_ID flag in EnumUILanguages.
mshtml: Suport load event in HTMLXMLHttpRequest object.
mshtml: Expose nsIFormPOSTActionChannel interface from nsChannel object.
Jactry Zeng (5):
shcore: Don't return E_FAIL in IStream::SetSize() for read-only mode.
ole32/tests: Test PropVariantCopy() with VT_UNKNOWN.
propsys: Implement PSCreateMemoryPropertyStore().
propsys/tests: Add tests of IPropertyStore interface.
propsys: Implement PropVariantToDouble().
Józef Kucia (12):
d3d8/tests: Use correct index variable in test_resource_access() (Coverity).
d3d9/tests: Use correct index variable in test_resource_access() (Coverity).
d3d11: Avoid using wined3d_stream_output_element for validation.
wined3d: Do not convert SO declaration entries.
wined3d: Export wined3d_extract_shader_input_signature_from_dxbc().
wined3d: Keep original component index in stream output elements.
wined3d: Factor out shader_get_stream_output_register_info().
wined3d: Remove unnecessary src_format NULL check from arbfp_blit_supported().
wined3d: Remove unnecessary src_format NULL check from ffp_blit_supported().
wined3d: Remove unnecessary src_format NULL check from glsl_blitter_supported().
ddraw/tests: Destroy viewport in test_lighting_interface_versions() (Valgrind).
wined3d: Mark dcl_input_ps_{siv, sgv} shader instructions as implemented.
Kai Krakow (1):
editorconfig: Indent Makefiles properly.
Ken Thomases (1):
winemac: Fix failure to render OpenGL on macOS 10.14 (Mojave).
Lauri Kenttä (1):
po: Update Finnish translation.
Matteo Bruni (7):
d3d9: Refuse to create D3DUSAGE_WRITEONLY textures.
d3d8: Refuse to create D3DUSAGE_WRITEONLY textures.
ddraw: Refuse to create non-managed DDSCAPS_WRITEONLY surfaces.
wined3d: Cleanup stateblock state before enumerating resources.
d3d9: Keep track of D3DUSAGE_AUTOGENMIPMAP textures in the d3d9 device.
d3d11/tests: Simplify test_cb_relative_addressing() a bit.
d3d10core/tests: Simplify test_cb_relative_addressing() a bit.
Michael Müller (2):
ntoskrnl.exe: Implement ExInitializeNPagedLookasideList.
ntoskrnl.exe: Implement NtBuildNumber.
Michael Stefaniuc (16):
webservices: Delete duplicated return value checks.
d3dx9/tests: Actually test the return of the effect SetInt() call.
kernelbase: Avoid TRUE : FALSE conditional expressions.
taskschd: Avoid TRUE : FALSE conditional expressions.
dmime/tests: Test the return value of IDirectMusic_SetDirectSound().
gdi32: Avoid TRUE : FALSE conditional expressions.
odbc32: Print the debug strings and not the pointers.
amstream: Remove useless cast to self.
crypt32: Remove useless cast to self.
d3d10core/tests: Remove useless casts to self.
d3dxof: Remove useless casts.
oleaut32/tests: Fix printing of an expected value.
oleaut32/tests: Floating point numeric constants are by default doubles.
ddraw/tests: Remove useless casts to self.
d3d10/tests: Remove useless casts to self.
d3d11/tests: Remove useless casts to self.
Nikolay Sivov (16):
dwrite: Implement mark-to-mark attachment, GPOS lookup 6.
dwrite: Add a stub for mark-to-ligature attachment handler.
dwrite: Fix positions in outline mode.
dwrite: Store outline offset as a vector.
comctl32/listview: Take care of scrolling offset when repositioning header.
comctl32/listview: Remove duplicated handle check.
uiautomationcore: Return success from UiaRaiseAutomationEvent().
d2d1: Add ID2D1GeometryGroup stub.
uiautomationcore: Add UiaHostProviderFromHwnd() stub.
dwrite: Use more appropriate allocation helpers.
xmllite/tests: Test complete writer output for UTF-16 case.
msvcrt: Add _ismbcl0_l().
msvcrt: Add _ismbcl1_l().
msvcrt: Add _ismbcl1().
msvcrt: Add _ismbcl2_l().
msvcrt: Add _ismbcl2().
Paul Gofman (19):
user32: Select more appropriate stretch mode for colored images interpolation.
user32/tests: Add more tests for SetWindowPos() on child window.
wined3d: Use lower 8 bits only from _ALPHAREF state.
d3d9/tests: Add test for bigger alpha reference values.
d3d8/tests: Port test_alphatest() from d3d9.
wined3d: Ignore multisample quality for MULTISAMPLE_NONE in context_find_fbo_entry().
d3d9/tests: Test mismatched multisample quality with D3DMULTISAMPLE_NONE.
ddraw/tests: Port test_alphatest() from d3d9.
wined3d: Initialise stream frequency to 1.
d3d9/tests: Test GetStreamSourceFreq() before any values were set.
wined3d: Return 1e10f for MaxVertexW from wined3d_get_device_caps().
d3d9/tests: Add test for MaxVertexW device capability.
d3d8/tests: Add test for MaxVertexW device capability.
d3d9/tests: Add test for buffer read / write.
wined3d: Invalidate _SYSMEM location when mapping opengl buffer.
d3dx9/tests: Clear vertex shader constants in test_effect_states().
d3dx9/tests: Add more tests for VertexShaderConstant state.
d3dx9: Handle short parameter in d3dx_set_shader_const_state().
d3dx9: Use parameter data for the first constant only in d3dx_set_shader_const_state().
Piotr Caban (9):
kernel32/tests: Add file mapping tests on readonly file.
kernel32/tests: Test that copy-on-write file mapping is not modifying the file.
api-ms-win-crt-private-l1-1-0: Add __std_terminate implementation.
msvcrt: Add _ismbbtrail_l implementation.
msvcrt: Add _ismbclegal_l implementation.
msvcrt: Validate character in _ismbcl0.
msvcrt: Use mbtowc/wctomb for string conversion in printf.
msvcrt: Use correct locale when validating character in _ismbcl0_l and _ismbcl1_l.
msvcrt: Change __getmainargs signature.
Sergio Gómez Del Real (2):
riched20: Mask out extended flags introduced by CHARFORMAT2 when converting to CHARFORMAT.
gdi32/dibdrv: Clip segment points to dib rect in wide_line_segment().
Sven Baars (9):
ole32: Fix some memory leaks (Valgrind).
riched20: Fix IRichEditOle COM aggregation (Valgrind).
shell32: Don't return a path from SHGetKnownFolderPath when it can not be created.
mstask: Fix some memory leaks on error path (Valgrind).
mstask: Move memory allocation to avoid a memory leak (Valgrind).
taskschd: Fix some memory leaks (Valgrind).
ws2_32: Use heap_realloc instead of HeapReAlloc to avoid an invalid realloc (Valgrind).
wininet/tests: Fix some memory leaks (Valgrind).
webservices/tests: Add a missing closesocket call (Coverity).
Vijay Kiran Kamuju (1):
setupapi: Add stub for CM_Get_Sibling.
Yussur-Mustafa Oraji (1):
httpapi: Add stub for HttpCloseServerSession.
Zebediah Figura (36):
wined3d: Set the correct matrix in wined3d_device_multiply_transform().
wined3d: Store texture states in the wined3d_stateblock_state structure.
wined3d: Store textures in the wined3d_stateblock_state structure.
wined3d: Factor out init_default_sampler_states().
wined3d: Store sampler states in the wined3d_stateblock_state structure.
kernelbase/tests: Relax tests for WaitOnAddress().
ntdll: Add a futex-based implementation of WaitOnAddress().
winebus.sys: Translate SDL controller axes to unsigned 32-bit values.
hid: Don't sign-extend 16-bit values.
wined3d: Store transforms in the wined3d_stateblock_state structure.
wined3d: Store clip planes in the wined3d_stateblock_state structure.
wined3d: Store the material in the wined3d_stateblock_state structure.
wined3d: Store the viewport in the wined3d_stateblock_state structure.
wined3d: Store the scissor rect in the wined3d_stateblock_state structure.
wined3d: Store the index buffer in the wined3d_stateblock_state structure.
wined3d: Store vertex declaration in the wined3d_stateblock_state structure.
wined3d: Store blend factor in the wined3d_stateblock_state structure.
wined3d: Store stream state in the wined3d_stateblock_state structure.
ntdll: Reimplement condition variables on top of RtlWaitOnAddress().
comsvcs/tests: Add tests for implicit MTA creation in RegisterDispenser().
comsvcs: Create an implicit MTA thread in RegisterDispenser().
ntdll: Add a direct futex-based implementation of condition variables.
oleaut32: Register non-dual dispinterfaces using the correct proxy.
wined3d: Get rid of apply_lights() helper.
wined3d: Introduce a separate structure for light state.
wined3d: Introduce wined3d_state_set_light() helper.
wined3d: Store lights in the wined3d_stateblock_state structure.
wined3d: Correct indices for contained states in wined3d_stateblock_apply().
user32/tests: Execute test_shell_window() last.
wined3d: Get rid of the "update_state" field from struct wined3d_device.
wined3d: Get rid of the "state" field from struct wined3d_stateblock.
hid: Correctly sign-extend all values in HidP_GetScaledUsageValue().
hid: Scale from logical to physical coördinates in HidP_GetScaledUsageValue().
xinput: Use HidP_GetScaledUsageValue().
xinput: Use a struct instead of an array to store axis information.
xinput: Fix axis scaling arithmetic.
Zhiyi Zhang (2):
setupapi: Implement SetupDiSetDevicePropertyW.
setupapi: Implement SetupDiGetDevicePropertyW.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.1 is now available.
What's new in this release (see below for details):
- Support for NT kernel spinlocks.
- Better glyph positioning in DirectWrite.
- More accurate reporting of CPU information.
- Context handle fixes in the IDL compiler.
- Preloader fixes on macOS.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.1.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 4.1 (total 30):
11070 importpfx fails, needs PFXImportCertStore implementation
33456 D3DXMatrixTransformation: Broken calculation when scalingrotation and scaling is used
38274 White water in Heroes VI (DXTn volume textures)
38558 cmd.exe bundled with Windows XP messed up when using FOR /F
39663 GOG Galaxy client 1.x hangs or reports 'Something went wrong during DeelevateStrategy' error in Win7 mode (GOG Galaxy service needs wtsapi32.WTSQueryUserToken implementation)
39890 Orcish Inn fails to start with exception System.NotImplementedException
40441 Chicken tournament crashes when loading texture
42491 wine builds are not reproducible (widl needs initializization of datatype2 in add_typedef_typeinfo)
43252 IcmpSendEcho doesn't work with a ReplySize<56
43322 Regression in Test Drive Unlimited 2, visual artifacts
44469 Multiple apps using Windows 10 v1507+ UCRT crash due to multiple missing api-ms-win-crt-private-l1-1-0.dll._o__xxx stubs/forwards (Win10 DISM pkgmgr.exe, MS DirectX Shader Compiler)
44941 Bioshock Remastered doesn't start in windowed mode
45326 Multiple 64-bit kernel drivers crash on unimplemented function ntoskrnl.exe.__C_specific_handler (NoxPlayer 6.x, MTA:SA 1.5.x)
45447 [World of Tanks] Borderless window broken since 1.0.2
46137 NI Kontakt 5 crashes on unimplemented function msvcp140.dll.?_Getcat@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z
46298 Middle-earth: Shadow of War (steam appid 356190) crashes on launch
46303 Warcraft 3: Reign of Chaos (Czech language) can't be installed from CD
46453 The Testament of Sherlock Holmes crashes while loading level with builtin d3dx9_43
46465 Visual Studio 2015 crashes on unimplemented function msvcp140.dll._Equivalent
46469 Only the first XInput controller is detected in wine 4.0
46479 64-bit mono crashes in RtlAddGrowableFunctionTable
46482 Gas Guzzlers Combat Carnage crashes when changing screen resolution
46485 PBM_STEPIT crashes with division by zero when MinVal == MaxVal == 0
46488 Diablo 2 LoD: Direct3D regression: Unhandled exception: Access_violation (c0000005)
46489 ClrMamePro crashes on update attempt
46494 64bit WinMerge crash after clicking "About WinMerge"
46499 Multiple games crash in GetRawInputData when exiting(House Party, Murderous Pursuits, ICEY)
46520 Kindred Spirits on the Roof crashes
46536 Empire Earth (GOG version) main menu rendering is broken
46569 ToDoList 7.1 : fails to launch after WINE upgrade to 4.0 version
----------------------------------------------------------------
Changes since 4.0:
Alex Henrie (1):
shell32: Rename SHELL32_714 to PathIsTemporaryW.
Alexandre Julliard (7):
ntdll: Don't crash on empty table in RtlAddFunctionTable().
ntdll: Implement RtlIsProcessorFeaturePresent().
ntdll: Round header size to page boundary before checking it in PE header conversion.
ntdll: Support loading old runtime versions of IL-only images.
kernel32/tests: Add helper function for machine type manipulations.
kernel32/tests: Try loading the dll also for matching platform type.
kernel32/tests: Add tests for dll fallback when image type doesn't match current platform.
Alistair Leslie-Hughes (8):
ole32/tests: Test for the correct IID.
mfreadwrite: Add initial tests.
include: Add MFSetAttributeSize/MFSetAttributeRatio inline functions.
crypt32: Fix compile error on older gnutls.
crypt32: Fix compile error on older gnutls.
uiautomationcore: Update spec file.
mfreadwrite: Add DllGetClassObject/DllCanUnloadNow functions.
mfreadwrite: Register MFReadWriteClassFactory interface.
Andrey Gusev (5):
d3drm/tests: Add missing HRESULT.
d3dcompiler: Add support for two other versions of ID3D11ShaderReflection.
mshtml: Remove redundant condition.
d3dx11: Fix D3DX11CreateShaderResourceViewFromMemory spec entry.
d3dx11_42: Share source with d3dx11_43.
Daniel Lehman (3):
msvcrt: _towlower_l only lowercase A-Z in C locale.
msvcrt: _towupper_l only uppercase a-z in C locale.
ucrtbase/tests: Add tests for C locale.
David Adam (3):
ddraw/tests: Add tests for the "dwMipMapCount" field of texture sub-levels.
ddraw: Fix the "dwMipMapCount" field of texture sub-levels.
d3dx9/tests: Add more tests for D3DXMatrixTransformation().
Dmitry Timoshkov (12):
crypt32: Make sure that the provider supports the specified signature algorithm.
crypt32: Make sure that the provider supports the specified hash algorithm.
wininet: Return proper cache path from GetUrlCacheConfigInfo.
wininet: Make GetUrlCacheConfigInfo() return actual dwQuota and dwCacheSize.
crypt32: Add support for CERT_COMPARE_KEY_IDENTIFIER to CertFindCertificateInStore.
crypt32: Add support for CRYPT_ACQUIRE_SILENT_FLAG to CryptAcquireCertificatePrivateKey.
crypt32: Simplify the code.
windowscodecs: Implement IWICPalette::InitializeFromBitmap.
gdiplus: Implement GdipInitializePalette.
gdiplus/tests: Add some tests for GdipInitializePalette.
windowscodecs: Add support for converting to 8bppIndexed format.
windowscodecs: Add a NULL check to 8bpp gray converter.
Eric Bissonnette (1):
dbghelp: Support full memory dumps.
Fabian Maurer (3):
api-ms-win-crt-private-l1-1-0: Update to 10.0.17134.12 (WinBuild.160101.0800).
ucrtbase: Forward a few functions for dxil.dll and pkgmgr.exe.
mscoree: Allow loading of registration free .NET COM objects.
Gabriel Ivăncescu (7):
shell32/autocomplete: Don't autoappend on Paste if ACO_AUTOAPPEND is off.
shell32/autocomplete: Always expand if the enumerator was reset.
libport: Handle partially overlapping buffers.
kernel32/tests: Test partially overlapping buffers for MultiByteToWideChar.
shell32/shfldr_desktop: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set.
shell32/shfldr_mycomp: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set.
shell32/tests: Test GetDisplayNameOf for special folders with both SHGDN_FORPARSING and SHGDN_FORADDRESSBAR.
Gijs Vermeulen (5):
msvcp140: Export _Equivalent and port tests.
msvcp: Set correct error code on non-existing path in _Open_dir.
msvcp: Set target to null on error in _Open_dir.
kernel32/tests: Add CopyFile[Ex]A NULL handling tests.
msvcp: Return ERROR_INVALID_PARAMETER on NULL input in _Copy_file.
Hans Leidekker (12):
wbemprox: Support cpuid on 64-bit.
wbemprox: Strip trailing spaces from processor name.
wbemprox: Include extended model and family fields in processor properties.
wbemprox: Fix processor caption on AMD 64-bit.
wbemprox: Create one processor object per package.
crypt32: Initial implementation of PFXImportCertStore.
winhttp: Implement WINHTTP_OPTION_CLIENT_CERT_CONTEXT.
crypt32: Add support for importing RSA private keys from PFX blobs.
crypt32: Support password protected PFX blobs.
wineboot: More accurate reporting of AMD and Intel processors.
secur32: Ignore spurious callbacks on macOS.
crypt32: Add support for PFX objects in CryptQueryObject.
Henri Verbeet (2):
ddraw: Implement ddraw7_FlipToGDISurface().
ddraw: Return the correct swapchain surface in ddraw7_GetGDISurface().
Isira Seneviratne (2):
po: Update Sinhala translation.
po: Update Sinhala translation.
Jacek Caban (23):
widl: Fix HANDLE_PARAM_IS_RETURN flag handling.
widl: Use public HANDLE_PARAM_IS_* flags.
mshtml.idl: Add IDOMCustomEvent declaration.
rpcrt4: Fix comment about HANDLE_PARAM_IS_RETURN.
rpcrt4/tests: Run RPC tests in both mixed and fully interpreted mode.
rpcrt4/tests: Use --prefix-client to avoid duplicated function implementations.
widl: Fix context handle as return value handling.
widl: Default to input param if [out] nor [in] attribut is specified in get_contexthandle_flags.
mshtml: Add IDOMCustomEvent interface stub implementation.
rpcrt4: Fix context handle return value marshaling.
rpcrt4: Fix context handle return value unmarshaling.
rpcrt4/tests: Add context handle marshaling tests.
mshtml: Add IDOMCustomEvent::initCustomEvent implementation.
mshtml: Add IDOMCustomEvent::detail property implementation.
mshtml: Expose IDOMCustomEvent to scripts.
advapi32/tests: Add test using NotifyServiceStatusChange on different handles of the same service.
services: Store a list of service handles in service_entry.
services: Associate notify handle with service handle instead of service entry.
widl: Check function return values for additional prototype types.
widl: Fix handling context handle return type in mixed mode.
ntoskrnl.exe: Add __C_specific_handler entry.
ntoskrnl.exe: Add KeEnterGuardedRegion and KeLeaveGuardedRegion stubs.
ntoskrnl.exe: Implement KeExpandKernelStackAndCallout and KeExpandKernelStackAndCalloutEx.
Jon Doron (2):
kernel32: Fix MoveFileWithProgressW from closing same handle twice.
kernel32: Fix MOVEFILE_REPLACE_EXISTING between devices.
Joshua Ashton (2):
include: Mark IDirect3D9Ex::GetAdapterDisplayModeEx() as PURE.
include: Add a few missing d3d9 constants.
Julien D'ascenzio (1):
ntdll: Correct space/mark parity.
Józef Kucia (9):
d3d9: Validate surface parameter in d3d9_device_ColorFill().
d3d10core/tests: Add test for sample_c_lz instruction.
d3d10core/tests: Add option to enable debug layer.
d3d10core/tests: Fix crashes with debug layer enabled.
d3d10core/tests: Avoid "skipping tests" in skip() messages.
wined3d: Move wined3d_bit_scan() to public header.
d3d8: Use wined3d_bit_scan() instead of open-coding it.
d3d9: Use wined3d_bit_scan() instead of open-coding it.
ddraw: Pass correct box when mapping system memory vertex buffers.
Ken Thomases (2):
libwine: On Mac, disable ASLR for Wine processes.
loader: On Mac, move the top-down allocations area down to avoid regions reserved by the system.
Matteo Bruni (24):
d3dx9/tests: Expect plain render target creation to work.
d3dx9/tests: Fix a couple of ok() messages.
d3d9/tests: Add a D3D9Ex test for drawing with D3DPOOL_SYSTEMMEM buffers.
d3d9/tests: Test drawing with D3DPOOL_SYSTEMMEM textures.
d3d8/tests: Test drawing with D3DPOOL_SYSTEMMEM textures.
ddraw/tests: Test drawing with system memory textures.
d3dx9: Improve D3DXMatrixTransformation() implementation.
d3dx9: Improve D3DXMatrixTransformation2D().
d3dx9/tests: Avoid some 64-bit test failures.
d3d9/tests: Test D3DPOOL_SYSTEMMEM vertex buffer lock address stability.
d3d9/tests: Test D3D9Ex vertex buffer lock address stability.
d3d8/tests: Test D3DPOOL_SYSTEMMEM vertex buffer lock address stability.
d3d9: Drop map read access from the internal buffers used for user-pointer draws.
d3d8: Drop map read access from the internal buffers used for user-pointer draws.
ddraw: Drop map read access from the internal buffers used for user-pointer draws.
d3d9: Take usage flags into account when assigning map flags.
d3d8: Take usage flags into account when assigning map flags.
d3d9: Don't allow map read access to D3DUSAGE_WRITEONLY buffers.
d3d8: Don't allow map read access to D3DUSAGE_WRITEONLY buffers.
wined3d: Replace WINED3DUSAGE_WRITEONLY with resource access flags.
d3d9/tests: Use a D3DUSAGE_WRITEONLY buffer in test_vb_lock_flags().
d3d8/tests: Use a D3DUSAGE_WRITEONLY buffer in test_vb_lock_flags().
d3dx11: Downgrade ERR() to WARN() in D3DX11CreateAsyncResourceLoader*().
d3dcompiler: Actually define the correct ID3D11ShaderReflection GUIDs.
Michael Stefaniuc (10):
dmloader: Fix a memory leak.
wineandroid.drv: Use the ARRAY_SIZE() macro.
regedit: Remove redundant NULL check before heap_free().
reg: Remove redundant NULL check before heap_free().
strmbase: Remove redundant NULL check before CoTaskMemFree().
ole32: Remove redundant NULL check before CoTaskMemFree().
windowscodecs: Use the ARRAY_SIZE() macro.
windowscodecs: Remove redundant NULL check before HeapFree().
mshtml: Print the debug string and not the pointer to it.
shell32: Avoid FALSE : TRUE conditional expressions.
Nikolay Sivov (40):
d3d11: Implement d3d11_device_GetImmediateContext1().
api-ms-win-core-libraryloader-l1-2-1: Add missing FindResourceW() forward.
comctl32/progress: Handle min == max case in PBM_STEPIT.
ntdll: Store range upper boundary for dynamic unwind entry.
ntdll: Keep unwind table entry count instead of a size.
ntdll: Implement growable unwind tables API.
user32/dialog: Fix setting negative dialog item ids.
dwrite: Use array for script tags.
dwrite: Use helper to trace 4 byte tags.
dwrite: Remove special case for vertical variants.
dwrite/layout: Improve overhangs metrics computation.
dwrite: Use a helper for design advances.
dwrite/analyzer: Preserve inter-cluster spacing when apply spacing properties.
dwrite/tests: Some more tests for ComputeGlyphOrigins().
dwrite: Validate font data when retrieving supported unicode ranges data.
dwrite: Validate 'gasp' data before accessing it.
dwrite: Validate 'CPAL' data before using it.
comctl32/rebar: Do not use global variable for debug buffer (Coverity).
ntdll: Make LdrFindResource_U() and LdrFindResourceDirectory_U() patchable.
shell32: Remove duplicated assignment (Coverity).
usp10/tests: Add missing return value checks (Coverity).
include: Fix a typo in D2D1_WINDOW_STATE values.
ole32: Implement chained IInitializeSpy support.
ole32/tests: Test flags passed to spy methods.
d3dx9: Use wincodecs directly without initializing COM system.
dwrite: Validate 'COLR' data before using it.
dwrite: Validate 'CBLC' data before using it.
dwrite: Validate 'sbix' data before using it.
dwrite: Validate 'VDMX' data before using it.
dwrite/tests: Add some tests for setting glyph properties from GDEF.
dwrite: Add a helper to get shaped glyph positions.
dwrite: Resolve script and language to apply positional features.
dwrite: Collect and sort positional lookups.
dwrite: Add a helper to apply positional lookup.
dwrite: Implement masking with positional lookup flags.
winhttp/tests: Add a couple of return value tests (Coverity).
dwrite: Implement single adjustment, GPOS lookup 1.
dwrite: Implement pair adjustment, GPOS lookup 2.
dwrite: Implement cursive attachment, GPOS lookup 3.
dwrite: Implement mark-to-base attachment, GPOS lookup 4.
Orhan Kavrakoğlu (3):
crypt32: Add CryptImportPublicKeyInfoEx2 stub.
crypt32: Implement CryptHashCertificate2.
crypt32/tests: Add tests for CryptHashCertificate2.
Paul Gofman (6):
d3dx9: Factor out {lock|unlock}_surface() functions.
d3dx9: Use temporary surface in D3DXFillTexture() for unmappable textures.
d3dx9/tests: Add test for D3DXFillVolumeTexture() with default pool texture.
d3dx9: Do not ignore surface map failure in D3DXSaveSurfaceToFileInMemory().
d3dx9: Use temporary surface in D3DXSaveSurfaceToFileInMemory() for unmappable textures.
d3dx9: Use {lock|unlock}_surface() in D3DXLoadSurfaceFromMemory().
Piotr Caban (4):
msvcrt: Optimize tolower function when locale was never changed.
msvcrt: Optimize toupper function when locale was never changed.
wbemprox: Add Win32_NetworkAdapter DeviceAdapterID property.
wbemprox: Add Win32_NetworkAdapter Description property.
Sebastian Lackner (1):
wtsapi32: Improve WTSQueryUserToken stub.
Sven Baars (18):
dswave/tests: Fix a memory leak (Valgrind).
dmband/tests: Fix a memory leak (Valgrind).
dmcompos/tests: Fix a memory leak (Valgrind).
dmscript/tests: Fix a memory leak (Valgrind).
dmstyle/tests: Fix a memory leak (Valgrind).
dmusic/tests: Fix a memory leak (Valgrind).
msscript.ocx/tests: Fix some memory leaks (Valgrind).
kernel32/tests: Fix a memory leak (Valgrind).
hlink/tests: Fix some memory leaks (Valgrind).
gdiplus/tests: Fix a memory leak (Valgrind).
windowscodecs: Fix a memory leak (Valgrind).
gdiplus: Fix a memory leak on error path (Valgrind).
gdiplus/tests: Add some font family pointer tests.
wsdapi: Fix some memory leaks (Valgrind).
dmime/tests: Fix a memory leak (Valgrind).
dinput/tests: Fix some memory leaks (Valgrind).
dinput: Free the device after a callback (Valgrind).
strmbase: Fix some memory leaks (Valgrind).
Zebediah Figura (78):
d3d8/tests: Add a test for MultiplyTransform().
d3d9/tests: Add a test for MultiplyTransform().
ddraw/tests: Add a test for MultiplyTransform().
wined3d: Remove stateblock handling from wined3d_device_multiply_transform().
msi/tests: Introduce a variadic check_record() helper.
msi/tests: Use check_record() in test_columnorder().
msi/tests: Use check_record() in test_dbmerge().
msi/tests: Use check_record() in test_select_column_names().
msi/tests: Use check_record() in test_join().
setupapi: Store the path to the driver key in the device key.
setupapi: Don't use the devnode to allocate driver keys.
setupapi/tests: Create the setup class key before trying to create the driver key.
setupapi: Also remove the driver key in remove_device().
wined3d: Remove stateblock handling from wined3d_device_set_shader_resource_view().
wined3d: Remove stateblock handling from wined3d_device_set_sampler().
wined3d: Remove stateblock handling from wined3d_device_set_pipeline_unordered_access_view().
wined3d: Remove stateblock handling from wined3d_device_set_stream_output().
wined3d: Remove stateblock handling from wined3d_device_set_constant_buffer().
hal: Limit exports to the appropriate architectures.
ntoskrnl.exe: Implement KeInitializeSpinLock().
hal: Implement KeReleaseSpinLock().
ntoskrnl.exe: Implement KeReleaseSpinLock().
hal: Implement KeAcquireSpinLock().
ntoskrnl.exe: Implement KeAcquireSpinLockRaiseToDpc().
msi/tests: Use check_record() in more places.
msi: Get rid of the find_matching_rows() view operation.
msi: Get rid of the remove_column() view operation.
msi: Use a BOOL to track string persistence.
msi: Use 0-indexed row numbers in the modify() view operation.
ntoskrnl.exe: Implement IoReleaseCancelSpinLock().
ntoskrnl.exe: Implement IoAcquireCancelSpinLock().
ntoskrnl.exe: Implement ExInterlockedRemoveHeadList().
ntoskrnl.exe: Implement PsTerminateSystemThread().
wined3d: Remove stateblock handling from wined3d_device_set_geometry_shader().
wined3d: Remove stateblock handling from wined3d_device_set_compute_shader().
wined3d: Remove stateblock handling from wined3d_device_set_predication().
d3d9/tests: Add more tests for reset state after DrawIndexedPrimitiveUP().
d3d8/tests: Port test_draw_primitive() from d3d9.
msi: Factor out int_to_table_storage().
msi: Set table values directly in msi_select_update().
msi: Get rid of the get_row() view operation.
msi: Remove an unnecessary call to SELECT_get_dimensions().
msi: Store the IStorage list as an array of STORAGE structures.
ntoskrnl.exe/tests: Open the test file for synchronous I/O.
ntoskrnl.exe: Implement KeReleaseSpinLockFromDpcLevel().
ntoskrnl.exe: Implement KeAcquireSpinLockAtDpcLevel().
ntoskrnl.exe: Implement plain spinlock functions on top of DPC-level ones.
hal: Implement plain spinlock functions on top of DPC-level ones.
wined3d: Introduce a separate structure for stateblock state and store vertex shader state therein.
wined3d: Store vertex shader floating point constants in the wined3d_stateblock_state structure.
wined3d: Store vertex shader integer constants in the wined3d_stateblock_state structure.
wined3d: Store vertex shader boolean constants in the wined3d_stateblock_state structure.
wined3d: Store the pixel shader in the wined3d_stateblock_state structure.
msi: Support setting streams in msi_select_update().
msi: Implement UPDATE queries using msi_select_update().
msi: Factor out msi_view_refresh_row().
msi: Implement MSIMODIFY_REFRESH using msi_view_refresh_row().
msi: Don't check the primary keys when handling MSIMODIFY_DELETE.
ntoskrnl.exe: Implement DPC-level queued spinlock functions.
ntoskrnl.exe: Implement plain queued spinlock functions on top of DPC-level ones.
hal: Implement plain queued spinlock functions on top of DPC-level ones.
wined3d: Store pixel shader floating point constants in the wined3d_stateblock_state structure.
wined3d: Store pixel shader integer constants in the wined3d_stateblock_state structure.
wined3d: Store pixel shader boolean constants in the wined3d_stateblock_state structure.
wined3d: Factor our init_default_render_states().
wined3d: Store render states in the wined3d_stateblock_state structure.
msi/tests: Add some more tests for MsiViewModify() applied to joins.
msi: Translate records as appropriate in SELECT_modify().
msi/tests: Add more tests for MSIMODIFY_ASSIGN.
msi/tests: Add more tests for MSIMODIFY_REFRESH.
msi/tests: Add more tests for MSIMODIFY_MERGE.
msi/tests: Add more tests for MSIMODIFY_INSERT.
include: Add ExInitializeFastMutex() definition.
ntoskrnl.exe: Implement APC-level fast mutex functions.
hal: Implement plain fast mutex functions on top of APC-level ones.
hal: Implement ExTryToAcquireFastMutex().
ntoskrnl.exe: Avoid accessing fields of sync objects outside of the sync CS.
wined3d: Factor out init_default_texture_state().
Zhiyi Zhang (4):
user32: Check for null handle in GetRawInputData().
user32: Fix a memory leak.
msacm32: Reference count local drivers.
d3d8: Fix building on Mac.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine team is proud to announce that the stable release Wine 4.0
is now available.
This release represents a year of development effort and over 6,000
individual changes. It contains a large number of improvements that
are listed in the release notes below. The main highlights are:
- Vulkan support.
- Direct3D 12 support.
- Game controllers support.
- High-DPI support on Android.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0.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.
----------------------------------------------------------------
What's new in Wine 4.0
======================
*** Direct3D
- Initial support for Direct3D 12 is implemented. Direct3D 12 support
requires the vkd3d library, and a Vulkan-capable graphics card.
- The Multi-Threaded Command Stream feature is enabled by default.
- OpenGL core contexts are always used by default when available. In
the previous release, these were already used by default for
Direct3D 10 and 11 applications on AMD and Intel graphics
cards. That has been extended to all graphics cards, and all
versions of Direct3D before 12.
- Among others, the following notable Direct3D 10 and 11 features are
implemented:
- Multi-sample textures and views, as well as multi-sample resolves.
- Per-sample fragment shading.
- Support for 1D textures.
- Draws without render target views or depth/stencil views.
- Multiple viewports and scissor rectangles per draw.
- Depth clipping control.
- Depth bias clamping.
- Stream output without geometry shaders.
- Several more capability queries.
- Several more resource formats.
- The "depth bias clamping" feature mentioned above requires the
ARB_polygon_offset_clamp/EXT_polygon_offset_clamp OpenGL
extension. All Direct3D 10+ capable hardware should be able to
support that extension, but it has come to our attention that some
NVIDIA "Legacy Drivers" do not. We encourage affected users to
explore whether the Free Software Nouveau drivers meet their needs.
- Several Direct3D 11 interfaces have been updated to version 11.2,
and several DXGI interfaces have been update to version 1.6. This
allows applications requiring those newer interfaces to start
working.
- The first steps towards more fine-grained locking in the Direct3D
implementation have been taken. This will be an ongoing effort to
take better advantage of modern high core count CPUs.
- Support for using the correct swap interval is implemented, for both
DXGI and DirectDraw applications.
- Application-configurable frame latency is implemented for Direct3D
9Ex and DXGI applications.
- S3TC-compressed 3D textures are supported. S3TC-compressed 2D
textures were already supported, provided the OpenGL drivers
supported them.
- When the ARB_query_buffer_object OpenGL extension is available,
query results can be polled with lower latency, resulting in a
modest performance improvement in specific cases.
- Validation of Direct3D 8 and 9 resource pool and usage restrictions,
as well as blit restrictions, has been improved.
- The Direct3D graphics card database recognizes more graphics cards.
- New HKEY_CURRENT_USER\Software\Wine\Direct3D registry keys:
- "MultisampleTextures" (REG_DWORD)
Enable (0x1, default) or disable (0x0) support for multi-sample
textures.
- "Renderer" (REG_SZ)
The backend API to target. Possible values are "gl" (default) for
OpenGL and "gdi" for GDI.
- Deprecated HKEY_CURRENT_USER\Software\Wine\Direct3D registry key:
- "DirectDrawRenderer"
This has been superseded by the "Renderer" setting above.
- Removed HKEY_CURRENT_USER\Software\Wine\Direct3D registry key:
- "StrictDrawOrdering"
This feature was previously deprecated in favor of the
multi-threaded command stream feature, and has been completely
removed.
*** Graphics
- A complete Vulkan driver is implemented, using the host Vulkan
libraries under X11, or MoltenVK on macOS.
- A builtin vulkan-1 loader is provided as an alternative to the SDK
loader.
- Icons in PNG format are supported, enabling loading high-resolution
256x256 icons.
- The standard icons include a 256x256 version to take advantage of
the PNG support.
- Many Direct2D interfaces have been updated to version 1.2.
- New HKEY_CURRENT_USER\Software\Wine\Direct2D registry key:
- "max_version_factory" (REG_DWORD)
Limit the interface version of the ID2D1Factory interface to the
specified version. 0x0 for ID2D1Factory, 0x1 for ID2D1Factory1,
etc. By default there is no limit.
- Using an ARGB visual as default X11 visual is supported.
- The old 16-bit DIB.DRV driver is implemented using the DIB engine.
- Polygon drawing in the DIB engine is much faster for large polygons.
- A0, A1 and A2 paper sizes are supported for generic printers.
- Arrows are supported in GdiPlus.
*** Kernel
- Support for running DOS binaries under Wine is removed. When
execution of a DOS binary is requested, an external DOSBox instance
is launched. This doesn't apply to Win16 binaries, which are still
supported internally.
- All the CPU control and debug registers can be accessed by kernel
drivers, including on 64-bit.
- Events, semaphores, mutexes and timers are implemented in kernel
mode for device drivers.
- The WaitOnAddress synchronization primitives are supported.
- Reported processor information correctly distinguishes logical and
physical CPU cores to support hyper-threading.
- Detailed BIOS information can be queried on Linux platforms.
- The various debugger APIs support manipulating a 32-bit Wow64
process from a 64-bit process context.
- Application settings, compatibility information and execution levels
are recognized in application manifests.
- The various file I/O completion modes are implemented.
- Debug registers are supported on NetBSD.
*** User interface
- The infrastructure for setting DPI awareness and scaling of non
DPI-aware applications is implemented. However, actual scaling of
window contents is only supported on Android at this point.
Scaling is disabled by default and can be enabled by setting the
"DpiScalingVer" value under HKEY_CURRENT_USER\Control Panel\Desktop.
- Window class redirection is supported, enabling support of Common
Controls version 6 features for standard USER controls like buttons.
- The standard USER controls Button, Listbox, Combobox, Edit and
Static support version 6 features, including theming.
- The standard Task Dialog is implemented, including support for
icons, hyperlinks, progress bars, and various other UI elements.
- Cue banners are supported in version 6 of the Edit control.
*** Desktop integration
- Exporting MIME-type file associations to the native desktop can be
disabled with a checkbox under the Desktop Integration tab in
winecfg. It can be configured programmatically by setting the
"Enable" value under
HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations.
- The File Dialog can display file properties like size, times and
attributes.
- The File Dialog optionally shows the Places toolbar on the left-hand
side.
- The shell folder Public is used instead of AllUsersProfile to follow
the behavior of recent Windows versions.
- The shell File Browser supports keyboard shortcuts to rename (F2
key) and delete (Delete key) shell folders.
- Many standard icons are added to the Shell library.
- Shell Autocompletion is supported.
- In desktop mode the taskbar won't be displayed on top of fullscreen
windows.
- Additional names are provided for standard cursors to better match
existing X11 cursor themes.
*** Input devices
- HID game controllers are supported in the XInput and Raw Input APIs.
- An SDL driver is implemented to make SDL game controllers
available through the HID interface.
*** Internet and networking
- JScript has an EcmaScript compliant mode, which supports a number of
features not available in legacy mode.
- JavaScript property accessors are supported.
- HTML style object is rewritten to support standard-compliant mode.
- HTML documents respect X-UA-Compatible HTTP header, allowing web
pages to request specific compatibility mode. The
HKEY_CURRENT_USER\Software\Wine\MSHTML\CompatMode key may be used to
override the requested mode.
- MSHTML supports non-HTML elements, allowing limited SVG support.
- A number of new HTML APIs are supported.
- The proxy server can be configured through the Internet Control
Panel applet.
- Stream I/O is implemented in WebServices.
- The Web Services on Devices API (WSDAPI) is implemented, including
sending and receiving the various message types.
- More system information is reported through WBEM, including CPU,
BIOS, video controller, and network adapter properties.
*** Cryptography
- Asymmetric encryption keys, as well as RSA and ECDSA signature
verification are supported.
- The GCM and ECB encryption chaining modes are supported.
- Optimal Asymmetric Encryption Padding (OAEP) is supported in RSA
encryption.
- A Kerberos security provider is implemented, supporting Kerberos
authentication.
- A selection dialog for public key certificates is implemented.
- If available, GnuTLS is used on macOS in preference to the
CommonCrypto framework.
*** Text and fonts
- Character tables are based on version 11.0.0 of the Unicode Standard.
- The new subpixel font rendering of FreeType >= 2.8.1 is supported.
- When a font face is missing, FontConfig is queried to provide
possible substitutions.
- The font selected in the console emulator properly scales with the
display DPI.
- Memory font resources are supported in DirectWrite.
- The builtin Wingdings font contains clock images.
*** Audio
- The Windows Media Player interfaces are implemented and support
media playback.
- An MP3 decoder is provided as DirectX Media Object.
*** macOS
- The preloader is implemented on macOS, for better address space
layout compatibility.
- The Command key can be mapped to Ctrl, by setting the
"LeftCommandIsCtrl" or "RightCommandIsCtrl" values under
HKEY_CURRENT_USER\Software\Wine\Mac Driver.
- The App Nap energy-saving feature is disabled by default in GUI
processes. It can be re-enabled by setting the "EnableAppNap" value
under HKEY_CURRENT_USER\Software\Wine\Mac Driver.
*** Android
- Setting the mouse cursor is supported using the APIs available in
Android >= 7.
- The new version of the Android graphics buffer allocator API is
supported, to enable graphics support on Android >= 8.
- Android x86-64 platforms are supported also in 64-bit mode, however
WoW64 mode is not supported yet in the WineHQ packages.
*** ARM platforms
- Stubless COM proxies are implemented on ARM.
- The Windows calling convention for variadic functions is supported
on ARM64.
- Exception handling and debugging is better supported on ARM64
platforms.
- The MinGW toolchain is supported for cross-compilation to ARM64.
*** Built-in applications
- The Ping program provides actual pinging functionality using
IcmpSendEcho.
- The SchTasks task scheduler program can create and delete tasks.
- The RegEdit registry editor has an improved hex editor for binary
values.
- FOR loops are properly handled in the Command Interpreter.
- The XCopy program supports the /k (keep attributes) option.
*** Internationalization
- The Japanese 106 keyboard is properly supported.
- Translation of timezone names is supported.
- There is a partial translation to the Sinhala language.
- More locales are supported in the Resource Compiler (wrc) and
Message Compiler (wmc).
*** Development tools
- winedbg supports debugging WoW64 processes.
- In gdb proxy mode, winedbg supports a --port option to specify the
port used to connect to gdb.
- winegcc uses better heuristics for finding the appropriate lib
directory for 32/64-bit cross-compiles.
- winegcc supports building native subsystem libraries.
- winegcc also looks for includes in the top-level include directory
of the installation prefix.
- winebuild supports a -mfpu option for specifying the FPU
architecture on ARM platforms.
- winedump supports dumping SLTG-format typelibs.
*** IDL compiler
- Application Configuration Files (ACF) are supported.
- Asynchronous interfaces are supported.
- Type and method serialization using encode/decode attributes is
supported.
- The defaultvalue() attribute is supported for pointer types.
- Generated files are always specific to the target platform. The
target can be specified the same way as with the other tools,
using the cpu-manufacturer-os platform specification.
- Nesting of pointers and arrays works correctly.
- Correct size and alignment are generated for encapsulated unions.
- The __int32 type is supported.
- The -robust command line option is recognized (but ignored) for
compatibility with the Microsoft IDL compiler.
- Multiple typelibs can be generated into a single resource file.
*** .NET
- 32-bit CIL-only .NET binaries are supported on 64-bit.
- The Mono engine is updated to version 4.7.5 with some upstream Mono
fixes.
*** RPC/COM
- The typelib marshaller is reimplemented. It generates format strings
and then uses the standard NDR marshalling routines; this way it
also works on 64-bit and ARM platforms.
*** Installers
- MSI custom actions run in a separate process, enabling proper
support for mixed 32/64-bit installers.
- Deferred installation actions are supported in MSI.
*** Build infrastructure
- The test framework supports building helper dlls inside a test, to
allow testing features that require loading an external library.
- The test framework supports testing Windows kernel drivers.
- It is possible to build and run a WoW64 tree from inside the Wine
source directory. Previously an out-of-tree build was required.
- A .editorconfig file is provided with the recommended indentation
parameters.
*** Miscellaneous
- The Task Scheduler service and APIs are implemented.
- The Windows Management Instrumentation service is implemented.
- The OPC Services (Open Packaging Conventions, used for Microsoft
Office XML files) library is implemented.
- The HKEY_PERFORMANCE_DATA magic registry key is partially
implemented.
*** New external dependencies
- The Vulkan library is used to implement the Vulkan graphics driver.
- The Vkd3d library is used to implement Direct3D 12 on top of Vulkan.
- The SDL library is used to support game controllers.
- The GSSAPI library is used to implement Kerberos authentication.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.0-rc7 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0-rc7.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0-rc7.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 4.0-rc7 (total 13):
20728 Multiple video players crash when opening audio or video file (MPC-HC v1.6.5, PotPlayer 1.5.x)(FilterGraph_create releases/destroys controlling IUnknown)
26369 A.R.E.S. Extinction Agenda 1.x (.NET 2.0, XNA 3.1 game) crashes during intro ('quartz' FilterGraph2_Connect must translate HRESULT of failures more correctly)
29461 BurnPlot (VB6 app) fails to start, complaining with "Run-time error '438'" (WshShell3 'SpecialFolders' collection 'item' method invocation fails)
34884 Touhou Danmakufu 0.12m's font becomes distorted
35573 gdi32:fonts test_stock_fonts() fails on Windows 7 in the Japanese and Hebrew locales
36082 Cannot Read Text In "Question" Boxes On Microsoft Money 2005 Installation
36084 Microsoft Money 2005 Window Going "Black" After Certain Menu Operations
43211 NVIDIA GeForce Experience 3.x installer fails due to 'setupapi.SetupDiDeleteDeviceInfo' stub
44796 Age of Empires II: The Conquerors is broken when CSMT is enabled
45874 Secret Files 1-2: hardware mouse cursor corrupted
46212 Multiple games have performance issues (Project CARS, NFS: Hot Pursuit (2010), Gas Guzzlers: Combat Carnage)
46459 Secret Files 1-2, Ufo: Extraterrestrials: mouse cursor invisible when anti-aliasing and hardware mouse enabled
46480 Invalid write of size 2 in ntoskrnl.exe/tests/ntoskrnl.c
----------------------------------------------------------------
Changes since 4.0-rc6:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alexandre Julliard (1):
ntoskrnl.exe/tests: Fix path buffer allocation size.
Can Taşan (1):
po: Update Turkish translation.
Dmitry Timoshkov (2):
windowscodecs: Fix the buffer size check in TIFF decoder's CopyPixels implementation.
include: Fix a typo.
François Gouget (4):
po: Fix a format mismatch in a Russian translation.
po: Fuzzy a Portuguese (Portugal) translation with a format mismatch.
po: Fuzzy an Arabic translation with a format mismatch.
msi/tests: Add a trailing '\n' to an ok() call.
Gijs Vermeulen (4):
crypt32/tests: Fix a typo in ok() message.
crypt32/tests: Fix a memory leak (Valgrind).
atl100/tests: Fix a memory leak (Valgrind).
msvcp140/tests: Fix typos in ok() messages.
Henri Verbeet (2):
wined3d: Allow multisample destination textures in the GLSL blitter.
ddraw/tests: Add a test for the "GDI" surface.
Huw D. M. Davies (1):
gdi32/tests: Korean and Chinese machines may use MS Shell Dlg as their default GUI font.
Isira Seneviratne (2):
po: Update Sinhala translation.
po: Update Sinhala translation.
James Larrowe (1):
winebuild: Fix a segmentation fault.
Józef Kucia (7):
wined3d: Execute all CS commands before changing swapchain palette.
wined3d: Execute all CS commands before setting palette entries.
d3d8: Clamp vertex buffer upload range to buffer size.
d3d9: Clamp vertex buffer upload range to buffer size.
d3d8: Clamp index buffer upload range to buffer size.
d3d9: Clamp index buffer upload range to buffer size.
wined3d: Avoid potential out-of-bounds memory access in surface_cpu_blt_colour_fill().
Matteo Bruni (1):
wined3d: Set proper GL internal format for sRGB formats.
Sven Baars (13):
shell32/tests: Fix a typo.
mstask/tests: Fix some memory leaks (Valgrind).
oleaut32/tests: Fix some memory leaks (Valgrind).
shell32/tests: Fix some memory leaks (Valgrind).
xmllite/tests: Fix a memory leak (Valgrind).
wbemprox/tests: Fix some memory leaks (Valgrind).
taskschd/tests: Fix some memory leaks (Valgrind).
rpcrt4/tests: Fix some memory leaks (Valgrind).
opcservices/tests: Fix some memory leaks (Valgrind).
riched20/tests: Fix a memory leak (Valgrind).
ole32/tests: Fix a memory leak (Valgrind).
ntoskrnl.exe/tests: Fix some memory leaks (Valgrind).
ntdll/tests: Fix some string leaks (Valgrind).
Thomas Faber (1):
msxml3: Handle libxml2 API breakage.
Zebediah Figura (1):
ntoskrnl.exe: Properly handle already-loaded drivers in handle_bus_relations().
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.0-rc6 is now available.
What's new in this release (see below for details):
- Bug fixes only, we are in code freeze.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0-rc6.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0-rc6.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 4.0-rc6 (total 18):
29181 Combo box doesn't get a background in dialog editor
40433 Fifa 11 EU demo fails to install when run from custom DVD
40828 Switching resolution in desktop mode makes task bar redraw on top of full screen game
43665 The Quantum Break crashes at certain place.
45486 Byond 512.x dreamseeker will crash on loading into a ss13 station that uses shaders if run on wine 3.9 or later, but will run fine if you use 3.8
46007 Binary Domain crashes with builtin d3dx9_43 or d3dcompiler_43
46059 Final Fantasy XI Online: Mouse Movement Heavily Affects FPS
46067 Crysis has lighting issues
46200 issues printing with LTSPICE XVII X64
46275 Some autocomplete tests fail on Win2k3 VM
46346 ntoskrnl/tests/ntoskrnl.c shows uninitalized memory use
46357 Cossacks 2 Battle for Europe show crashed graphics
46359 Vietcong: shooting from weapon causes game crash
46369 将棋所(Shogidokoro) doesn't start.
46398 When starting Reflex Arena in Steam: "failed to init XAudio2, is DirectX 9.0c installed?"
46403 Vietcong: crash caused by loading map/other events
46430 Doom3 (CD version) fails to install
46435 F1 2011 crashes with a messed up rendering in DX9 mode
----------------------------------------------------------------
Changes since 4.0-rc5:
Alexandre Julliard (4):
user32: Cache full name of non-client metrics fonts.
Update copyright info for 2019.
inetcpl.cpl: Fix Piotr's name.
shell32/tests: Wait a bit longer for the explorer window to be created.
Alistair Leslie-Hughes (2):
oledb32/tests: Add convert DBTYPE_DATE -> DBTYPE_DBTIMESTAMP test.
dsound: Trace ref in a consistent way.
Dmitry Timoshkov (4):
wininet/tests: Add some tests for GetUrlCacheConfigInfo.
windowscodecs/tests: Add a test for copying pixels of a 24bpp TIFF format.
windowscodecs: Simplify the buffer size check in copy_pixels() helper.
windowscodecs/tests: Fix typos in TIFF test data.
Gijs Vermeulen (2):
wtsapi32/tests: Add WTSQueryUserToken parameter test.
ntoskrnl.exe/tests: Avoid passing uninitialized data to DeviceIoControl().
Hans Leidekker (1):
msi: Only perform the media check if the label of the disk entry differs from the last.
Henri Verbeet (7):
d3d9/tests: Add a test for ProcessVertices() on D3DPOOL_SYSTEMMEM buffers.
d3d8/tests: Add a test for ProcessVertices() on D3DPOOL_SYSTEMMEM buffers.
d3d9: Avoid calling wined3d_device_process_vertices() with unmappable source buffers.
d3d8: Avoid calling wined3d_device_process_vertices() with unmappable source buffers.
dxdiagn: Handle Red Hat and VMware in vendor_id_to_manufacturer_string().
wined3d: Support WINED3D_BLIT_OP_COLOR_BLIT_CKEY in the GLSL blitter.
wined3d: Support WINED3D_BLIT_OP_COLOR_BLIT_ALPHATEST in the GLSL blitter.
Isira Seneviratne (1):
po: Update Sinhala translation.
Jacek Caban (5):
kernel32/tests: Initialize input buffer in test_overlapped_transport.
include: Avoid narrowing conversions in struct initializers.
include: Avoid using attributes on elaborated type specifier.
include: Don't use unnamed struct for NDR_SCONTEXT declaration.
include: Define D3DCOMPILER_DLL to d3dcompiler_47.dll.
Julian Rüger (1):
po: Update German translation.
Józef Kucia (14):
d3d8: Upload vertex buffer range relative to base vertex index.
d3d9: Upload vertex buffer range relative to base vertex index.
d3d9/tests: Add test for base vertex index with sysmem vertex buffers.
d3d8/tests: Add test for base vertex index with sysmem vertex buffers.
ntoskrnl.exe: Fix service handle leak in ZwLoadDriver() (Coverity).
ddraw/tests: Add tests for attaching depth buffers of different sizes.
ddraw/tests: Fix compilation on systems that don't support nameless unions.
wined3d: Simplify wined3d_cs_emit_clear() slightly.
wined3d: Sanitise clear flags passed to blitters.
wined3d: Use accurate rt_count in ffp_blitter_clear().
wined3d: Split clears for different size resources in ffp_blitter_clear().
wined3d: Limit surface_cpu_blt_colour_fill() to dimensions of render target view.
wined3d: Do not limit draw rect to intersection of all render target views.
d3d9/tests: Add test for clearing surfaces with different sizes.
Matteo Bruni (1):
d3dcompiler_43: Define D3D_COMPILER_VERSION.
Nikolay Sivov (4):
gdiplus/tests: Add some missing return value checks (Coverity).
gdi32/tests: Fix copy-paste issue with test message (Coverity).
msi/tests: Use more reasonable buffer sizes for guid strings (Coverity).
shcore: Fix double free on error path (Coverity).
Olivier F. R. Dierick (1):
explorer: Don't change Z-order of the taskbar when displaying it.
Paul Gofman (5):
user32/tests: Add test for 8 bit image stretch mode in CopyImage().
user32/tests: Add test for 16 bit image stretch mode in CopyImage().
user32/tests: Factor out compare_bitmap_bits() function.
user32/tests: Add tests for stretch mode in LoadImage().
d3dx9: Return correct comment length from get_instr_length().
Piotr Caban (1):
server: Fix process trace_data initialization race on Mac.
Roberto Pungartnik (1):
po: Update Portuguese (Brazil) translation.
Thanasis Papoutsidakis (1):
crypt32: Add some missing CRYPT_STRING flags.
Vincent Povirk (1):
mscoree: Update Wine Mono to 4.7.5.
--
Alexandre Julliard
julliard(a)winehq.org