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 team is proud to announce that release 1.4 of vkd3d, the Direct3D to
Vulkan translation library, is now available.
This release contains improvements that are listed in the release notes below.
The main highlights are:
- Many improvements to the HLSL compiler.
- A new descriptor heap implementation using the VK_EXT_descriptor_indexing
extension.
- A new fence implementation using the VK_KHR_timeline_semaphore extension.
The source is available from the following location:
https://dl.winehq.org/vkd3d/source/vkd3d-1.4.tar.xz
The current source can also be pulled directly from the git repository:
https://source.winehq.org/git/vkd3d.git/
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
----------------------------------------------------------------
What's new in vkd3d 1.4
=======================
*** libvkd3d
- A new descriptor heap implementation using the VK_EXT_descriptor_indexing
extension. In particular, the new implementation is more efficient when
large descriptor heaps are used by multiple command lists. The new
`virtual_heaps' configuration option can be used to select the original
implementation even when the VK_EXT_descriptor_indexing extension is
available.
- A new fence implementation using the VK_KHR_timeline_semaphore extension.
The new implementation addresses a number of edge cases the original
implementation was unable to, as well as being somewhat more efficient.
- When the VK_EXT_robustness2 extension is available, it is used to implement
null views. This more accurately matches Direct3D 12 behaviour. For example,
all reads from such a null view return zeroes, while that isn't necessarily
the case for out-of-bounds reads with the original implementation.
- New interfaces:
- vkd3d_set_log_callback() allows writing log output via a custom callback.
This can be used to integrate vkd3d's log output with other logging
systems.
*** libvkd3d-shader
- New features for the HLSL source type:
- Support for integer arithmetic, bitwise and shift operations.
- Support for matrix and vector subscripting.
- Support for the mul() intrinsic function.
- Support for matrix copying, casting, and entry-wise operations.
- Support for complex initialisers.
- Support for the `nointerpolation' modifier. This modifier is applied by
default to integer variables.
- Support for the SV_VertexID semantic.
- Support for matrix-typed varyings.
- Constant folding for a number of operators.
- Copy propagation across branches and loops. This allows use of non-numeric
variables anywhere in a program, as well as more optimised code for
accessing numeric variables within branches and loops.
- The disassembler supports the shader model 5 `msad' instruction.
- New interfaces:
- vkd3d_shader_set_log_callback() allows writing log output via a custom
callback.
*** libvkd3d-utils
- New interfaces:
- vkd3d_utils_set_log_callback() allows writing log output via a custom
callback.
*** build
- The minimum required version of Vulkan-Headers and SPIRV-Headers for this
release is version 1.2.139.
- The SONAME_LIBVULKAN configure variable can be used to specify the shared
object name of the Vulkan library. Because vkd3d loads the Vulkan library
dynamically, specifying this removes the need for a Vulkan import library at
build time.
- The `crosstests' target no longer builds Win32/PE demos or tests when these
were not enabled at configure time.
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