The Wine development release 7.21 is now available.
What's new in this release:
- OpenGL library converted to PE.
- Support for multi-architecture PE builds.
- More preparation work for Vulkan 32-on-64 support.
- Support for creating import libraries without dlltool.
- Locale data updates.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.21.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.21 (total 25):
- #29974 StarBurn 13 crashes on disabling skins
- #51418 fotoBiz X - Fatal error on startup
- #51779 Visual Studio msvsmon fails to bind server socket in child processes
- #52467 Kaseya Live Connect 9.5.0.28 management software sub-component crashes
- #53081 Retina Mode broken since 7f7f9fa22c5cbe629e79a54257d5bd21403e80db
- #53100 Euphoria: freezes every second while controllers are plugged in
- #53153 SetWindowPos() incorrectly computes exposure region of parent window with WS_EX_COMPOSITED
- #53484 dxgi:dxgi times out on the debiant VM
- #53590 GetFileInformationByHandleEx() not fully implemented causing boost::directory_iterator failures with boost v1.79 and newer
- #53606 First intro stops on last frame in multiple games (Darksiders Genesis, The Medium)
- #53617 Imaris fails at exit with error, and keeps a process running.
- #53631 Multiple 64-bit applications have issues with dialogs (DipTrace, foobar2000 installer)
- #53676 vbscript can not exec_script - invalid number of arguments for Randomize
- #53738 Cherry MIDI sequencer cannot read files with a path including CJK characters
- #53749 Hotel Giant 2: black screen after changing resolution or enabling anti-aliasing
- #53768 Winfile crashes due to unimplemented user32.dll.DragObject
- #53798 Port Royale 2: incomplete text rendering
- #53849 Apiset DLLs broken in non-PE builds
- #53856 Wine 7.20 installs some windows files to the wrong location
- #53859 Hades shows black screen at Vulkan mode
- #53861 Non-PE builds fail after "makefiles: Add support for multiple PE architectures."
- #53872 Adobe Reader XI crash opening settings in Protected Mode
- #53879 Gothic 1 doesn't launch (msdbi.dll failed to initialize)
- #53888 vbscript does not allow Mid on non VT_BSTR
- #53893 ws2_32:sock - test_WSASocket() gets an unexpected raw protocol name in French on Windows
----------------------------------------------------------------
Changes since 7.20:
Alex Henrie (13):
include: Include minidumpapiset.h in imagehlp.h.
msvcrt: Change return type of _splitpath_s to errno_t.
include: Add _splitpath_s.
msvcrt: Change return type of freopen_s to errno_t.
include: Add freopen_s.
msvcrt: Change return type of wcsncat_s to errno_t.
include: Add wcsncat_s.
cmd: Remove inapplicable comment from WCMD_getfileowner.
cmd: Use the wcsrev function instead of reimplementing it.
include: Add sdkddkver.h.
uuid: Add propkey.h.
include: Define PROPSHEETPAGE[AW]_V[1-4].
mscoree: Use standard C functions for memory allocation in assembly.c.
Alexandre Julliard (34):
makefiles: Add support for multiple PE architectures.
makedep: Always generate a fake module for the native architecture.
ntdll: Fix trace formats for 64-bit values on ARM64.
wow64: Load dependencies of 64-bit modules only from the 64-bit system directory.
msvcrt: Use WINAPIV calling convention for variadic functions.
xml2: Use WINAPIV calling convention for variadic functions.
xslt: Use WINAPIV calling convention for variadic functions.
ntdll: Reimplement KeUserModeCallback in assembly on i386.
ntdll: Reimplement KeUserModeCallback in assembly on x86_64.
ntdll: Reimplement KeUserModeCallback in assembly on ARM.
ntdll: Reimplement KeUserModeCallback in assembly on ARM64.
faudio: Import upstream release 22.11.
png: Import upstream release 1.6.38.
zlib: Import upstream release 1.2.13.
lcms2: Import upstream release 2.14.
xml2: Import upstream release 2.10.3.
xslt: Import upstream release 1.1.37.
nls: Update locale data to CLDR version 42.
kernelbase: Update timezone data to version 2022f.
win32u: Always use the full union for sysparams entries.
ntdll: Don't inline NtCurrentTeb() in Unix libraries.
openal32: Remove dll.
ntdll: Use a pthread key for the TEB on all platforms.
ntdll: Move the initialization of the thread register into signal_start_thread().
ntdll: Use a separate function pointer for the TEB hack on ARM64.
ntdll: Use a proper Unix syscall for load_so_dll().
ntdll: Use a proper Unix syscall for init_builtin_dll().
ntdll: Use a proper Unix syscall for unwind_builtin_dll().
ntdll: Use a proper Unix syscall for RtlGetSystemTimePrecise().
Revert "light.msstyles: Add nonclient metrics.".
ntdll: Add a Wine-specific process info class for the LDT copy.
makedep: Remove support for "hybrid" Unix libraries.
winegcc: Remove support for "hybrid" Unix libraries.
winebuild: Remove support for "hybrid" Unix libraries.
Anton Baskanov (6):
quartz/tests: Add tests for MPEG layer-3 decoder IEnumMediaTypes.
winegstreamer: Add a skeleton MPEG layer-3 decoder filter.
quartz/tests: Add tests for MPEG layer-3 decoder accepted media types.
winegstreamer: Reject incompatible input media types in MPEG layer-3 decoder.
quartz/tests: Add tests for MPEG layer-3 decoder sink connection.
winegstreamer: Reject incompatible output types in MPEG layer-3 decoder.
Arkadiusz Hiler (1):
cmd/tests: Make sure for /f doesn't loop infinitely on NULs.
Bartosz Kosiorek (19):
msvcrt: Add _fprintf_l implementation.
msvcrt: Add _fprintf_p implementation.
msvcrt: Add _fprintf_p_l implementation.
msvcrt: Add _fprintf_s_l implementation.
msvcrt: Add _fwprintf_p implementation.
msvcrt: Add _fwprintf_p_l implementation.
msvcrt: Add _fwprintf_s_l implementation.
msvcrt: Add _scprintf_l implementation.
msvcrt: Add _scprintf_p implementation.
msvcrt: Add _scprintf_p_l implementation.
msvcrt: Add _swprintf_p_l implementation.
msvcp90: Add _Cin_func implementation.
msvcp90: Add _Wcin_func implementation.
msvcp90: Add _Cout_func implementation.
msvcp90: Add _Clog_func implementation.
msvcp90: Add _Cerr_func implementation.
msvcp90: Add _Wcout_func implementation.
msvcp90: Add _Wclog_func implementation.
msvcp90: Add _Wcerr_func implementation.
Bernhard Kölbl (3):
mf/tests: Test for copier node in topology using evr.
mf: Assume same up and downstream media type for copier creation.
mf: Set media types for output nodes in the media session.
Brendan Shanks (12):
ntdll: Print correct thread rename trace if non-pseudo-handle to current thread is used.
winemac: Remove pre-Mac OS X 10.8 workarounds.
ntdll: Set the QoS class of the main Wine thread on macOS.
ntdll: Add a Wine-specific THREADINFOCLASS to set just the native thread name.
ntdll: Add native thread renaming for exception method.
dsound: Set name of internal threads.
winepulse: Set name of internal threads.
winealsa: Set name of internal threads.
ntdll: Fix runtime availability check for pthread_attr_set_qos_class_np.
ntdll: Suppress deprecation warnings when calling MPTaskIsPreemptive().
ntdll: Stop using deprecated kIOMasterPortDefault constant.
winemac.drv: Stop using deprecated kIOMasterPortDefault constant.
Connor McAdams (7):
uiautomationcore: Add UiaNavigate stub.
uiautomationcore: Add parent link check to prepare_uia_node().
uiautomationcore: Add helper function for returning a new node from an IWineUiaProvider.
uiautomationcore: Implement ConditionType_True parent navigation for HUIANODEs.
uiautomationcore: Partially implement ConditionType_True sibling navigation for HUIANODEs.
uiautomationcore: Implement ConditionType_True child navigation for HUIANODEs.
uiautomationcore: Add support for navigating between sibling node providers of a parent HUIANODE.
Dmitry Timoshkov (1):
uxtheme: Protect CloseThemeData() from invalid input.
Eric Pouech (13):
dbghelp: No longer pass inline site's address upon creation.
dbghelp: Store address range as FAM in symt_inlinesite.
dbghelp: Use addr_range for storing symt_function address and size.
dbghelp: Get rid of symt_inlinesite by merging it inside symt_function.
user32: Fix rounding issue in edit tests for char pos messages.
conhost/tests: Fix some conditions on tty test termination.
rpcrt4: Fix unexpected exception in ndr_marshal tests.
shell32/tests: Improve timeout detection in shlexec tests.
dbghelp: Added missing DECLSPEC_HIDDEN attribute.
dbghelp: Introduce a helper for module lookup.
dbghelp: Support loading modules from Wine's multi-arch build tree.
cmd: Use CRT file I/O function inside 'for /F' handling.
riched20: Fix failing test in UTF8 locales.
Etaash Mathamsetty (1):
ntoskrnl.exe: Implement KeInitializeGuardedMutex.
Evan Tang (4):
kernel32: Null-terminate the atom names passed to NtAddAtom.
riched20: Move test class creation to a helper function.
riched20: Add test for EN_CHANGE events during window creation.
riched20: Don't emit EN_CHANGE events during window creation.
Fabian Maurer (6):
wbemproxy/tests: Prevent double free (Coverity).
shell32: Prevent double free (Coverity).
win32u: Prevent use after free (Coverity).
ntdll/tests: Fix uninitialized read in ok (Coverity).
sapi: Prevent resource leak (Coverity).
msvcrt/tests: Fix typo (Coverity).
Gabriel Ivăncescu (12):
mshtml/tests: Handle broken localStorage on native.
mshtml: Implement isContentEditable for HTML elements.
mshtml: Improve locale stub for KeyboardEvent.
mshtml: Return E_ABORT if wine-gecko's OnDataAvailable aborts the binding.
mshtml: Don't include fragment in storage event's url prop.
mshtml: Implement HTMLLocation_put_hash.
mshtml: Implement document.importNode.
mshtml: Use nsIDOMDocument instead of nsIDOMHTMLDocument where possible.
jscript: Convert filetime to date properly using unsigned division.
include: Add IDOMParser interface, dispinterface, and coclass.
include: Add CLSID_XHTMLDocument and CLSID_SVGDocument.
mshtml: Add SVG and XHTML document information to the registry.
Georg Lehmann (4):
winevulkan: Update to VK spec version 1.3.233.
winevulkan: VkDeviceAddress needs alignment.
winevulkan: Fix handling bitmasks in needs_alignment.
winevulkan: Fix handling enums in needs_alignment.
Hans Leidekker (5):
rsaenh: Pass exact size to BCryptFinishHash().
bcrypt: Use get_object() in more places.
bcrypt: Validate hash output length.
netprofm: Store a list manager pointer in the network object instead of creating a new list manager.
netprofm: Use CRT allocation functions.
Jacek Caban (41):
winevulkan: Support optional dispatch handles.
winevulkan: Assert Unix call result in generated thunks.
winevulkan: Assert Unix call result in private thunks.
winevulkan: Don't check thunk_type in VkParam.needs_unwrapping.
winevulkan: Don't store conversion functions in VkParam.
winevulkan: Introduce needs_host_type helper function.
winevulkan: Remove unneeded needs_conversion() calls.
winevulkan: Store returnedonly attribute in VkVariable.
winevulkan: Pass direction to needs_conversion helpers.
winevulkan: Move get_conversions implementation to VkVariable.
winevulkan: Remove no longer used Direction.INPUT_OUTPUT.
winevulkan: Pass type as uint32_t to wine_vk_unwrap_handle.
winevulkan: Support output array conversion in _generate_array_conversion_func.
winevulkan: Drop "static_array" from conversion function names.
winevulkan: Use separated classes for struct and array conversions.
winevulkan: Use struct conversion functions for array conversion implementations.
winevulkan: Don't declare host types for structs that don't need it.
winevulkan: Skip unsupported functions in a few more places.
mshtml: Always use navigate_fragment for fragment-only navigation in navigate_uri.
winevulkan: Move find_next_struct implementation to vulkan_private.h.
winevulkan: Convert struct chains in struct conversion functions.
winevulkan: Avoid unneeded copies in struct conversion functions.
winevulkan: Support output dynamic array conversion.
winevulkan: Always fill output in fill_luid_property.
winevulkan: Store parent in VkVariable.
winevulkan: Support pointer dynamic array lengths.
winevulkan: Use generated thunks for vkGetImageSparseMemoryRequirements(2) conversion.
winevulkan: Use const types in conversion function declarations.
winevulkan: Convert struct chain conversions for all structs that need it.
winevulkan: Use generated thunks for VkPipelineCreationFeedback conversion.
winevulkan: Support conversion of optional parameters.
winevulkan: Fix handling unions in needs_alignment().
winevulkan: Preserve const in array conversion output types.
winevulkan: Add support for pointer array conversion.
winevulkan: Use local params struct declarations for 32-bit thunks.
winevulkan: Fix host aliases declaration.
winevulkan: Use local structs declarations for 32-bit conversion functions.
winevulkan: Get rid of *_host types.
winevulkan: Remove no longer used make_vulkan functions.
winevulkan: Move needs_unwrapping implementation to VkVariable.
winevulkan: Don't generate private thunk prototypes for PE-only functions.
Jinoh Kang (7):
server: Correctly expose composited parent window and its child on position change.
server: Redraw composited window child when its z-order changes.
server: Don't invalidate the newly exposed child region on the parent if it doesn't clip children.
ntdll: Move CFI helper macros out of signal_x86_64.c.
ntdll: Add CFI unwind info to __wine_syscall_dispatcher (i386).
comctl32/tests: Flush events before testing edit control SetFocus() messages.
comctl32/tests: Flush events before testing edit control IME messages.
Martin Storsjö (5):
winegcc: Prefer -Wl,--pdb=<file> over -Wl,-pdb,<file>.
ntdll: Add ARM EHABI unwind instructions in assembly functions.
ntdll: Implement ARM EHABI unwinding.
ntdll: Write ret_len with the right size in user_mode_callback_return on arm64.
ntdll: Readd the missed initialization of the thread register on arm.
Mohamad Al-Jaf (2):
setx: Add stub program.
certutil: Add stub program.
Nikolay Sivov (9):
mf/session: Add support for MESessionScrubSampleComplete event.
vbscript: Implement PRNG functions.
comctl32/edit: Check for control destruction on notification return.
user32/edit: Check for control destruction on notification return.
vbscript: Fix a typo in Right() argument type check.
vbscript: Improve invalid argument checks in Right().
vbscript: Improve argument type handling in Mid().
d2d1/tests: Use correct flags constants with D3D11CreateDevice().
vbscript: Add support for argument list in ReDim.
Paul Gofman (28):
ws2_32/tests: Add tests for SO_EXCLUSIVEADDRUSE.
ws2_32: Track SO_EXCLUSIVEADDRUSE option value.
server: Make SO_REUSEADDR and SO_EXCLUSIVEADDRUSE mutually exclusive.
server: Use struct bound_addr as a key to bound_addresses_tree.
server: Set error in check_addr_usage().
server: Use htonl() with INADDR_ANY in ipv4addr_from_v6().
server: Do not translate loopback addr in ipv4addr_from_v6().
server: Support SO_EXCLUSIVEADDRUSE socket option.
http.sys: Use SO_EXCLUSIVEADDRUSE on listening socket.
include: Add windows.gaming.ui.idl.
windows.gaming.ui.gamebar: Add stub DLL.
windows.gaming.ui.gamebar: Add IGameBarStatics interface.
mf: Handle timer time behind clock time in present_clock_schedule_timer().
mf/samplegrabber: Process samples in paused state in ignore_clock mode.
mf/samplegrabber: Handle samples receieved in paused state.
secure32/tests: Add tests for ApplyControlToken (schannel).
secur32: Allocate buffer for either ISC_REQ_ALLOCATE_MEMORY or NULL output in schan_InitializeSecurityContextW().
secur32: Add semi-stub for ApplyControlToken (schannel).
secur32: Implement ApplyControlToken for SCHANNEL_SHUTDOWN.
ws2_32/tests: Don't test protocol name in test_WSASocket().
ntdll: Pass limit instead of zero_bits to map_view().
ntdll: Factor out allocate_virtual_memory().
ntdll: Support HighestEndingAddress in NtAllocateVirtualMemoryEx().
ntdll/tests: Add tests for memory address requirements.
wow64: Support MEM_ADDRESS_REQUIREMENTS in wow64_NtAllocateVirtualMemoryEx().
wow64: Set HighestEndingAddress in wow64_NtAllocateVirtualMemoryEx() if it is absent.
ntdll: Pass alignemnt mask to map_view().
ntdll: Support specified alignment in NtAllocateVirtualMemoryEx().
Piotr Caban (5):
wineps.drv: Add DrvDocumentPropertySheets implementation.
winspool.drv: Use DrvDocumentPropertySheets driver entry in DocumentProperties.
wineps.drv: Remove DrvDocumentProperties entry point.
msvcrt: Fix errno set on read from write-only file.
msvcrt: Fix errno set on write to read-only file.
Rémi Bernon (64):
win32u: Add a BOOL force parameter to update_display_cache.
win32u: Force update display cache after NtUserChangeDisplaySettingsEx.
win32u: Add primary adapter name parameter to ChangeDisplaySettings.
winemac.drv: Use the primary adapter name instead of calling back win32u.
win32u: Add is_primary parameter to GetCurrentDisplaySettings.
winex11.drv: Use the primary adapter info instead of calling back win32u.
winmm: Use a separate last_check for joyGetDevCapsW and joyGetPosEx.
winmm: Add missing void parameter in function definition.
winebus.sys: Ignore SDL events for devices which aren't started.
win32u: Lock display devices while applying display settings.
win32u: Write display settings to the registry in apply_display_settings.
win32u: Read mode from the registry if GetCurrentDisplaySettings fails.
winebuild: Split get_link_name into a separate get_abi_name helper.
winebuild: Use asm_name to add underscore prefix in asm_globl.
winebuild: Split output_static_lib into output_(import|static)_lib.
opengl32: Create a unixlib interface for GL functions.
opengl32: Use the unixlib for glGet(String|Integerv).
opengl32: Move the null functions to unix_thunks.c.
opengl32: Use the unixlib interface for EXT functions.
opengl32: Use the unixlib interface for WGL functions.
opengl32: Avoid using internal functions in wglUseFontBitmaps.
opengl32: Avoid using internal functions in wglUseFontOutlines.
opengl32: Introduce a new NtUserCallOpenGLDebugMessageCallback callback.
opengl32: Move some WGL functions to unix_wgl.c.
opengl32: Use the unixlib interface for more WGL functions.
winebuild: Avoid calling asm_name twice in function arguments.
comctl32/tests: Remove a now succeeding todo_wine.
xaudio2_7/tests: Mark tests failing randomly as flaky.
mf: Always enumerate branch source types for transform nodes.
mf: Add some topology source node checks in IMFMediaSession_SetTopology.
gitlab: Add a 2s wait between macOS build iterations.
opengl32: Introduce new disabled_extensions_index helper.
opengl32: Move extension filtering helpers to unix_wgl.c.
opengl32: Move glGetStringi extension filtering to unix_wgl.c.
opengl32: Move glGetString extension filtering to unix_wgl.c.
opengl32: Move glGetIntegerv extension filtering to unix_wgl.c.
opengl32: Move function / extension registry mapping to unix_thunks.c.
opengl32: Move wglGetProcAddress extension filtering to unix_wgl.c.
winebuild: Introduce a new --without-dlltool winebuild flag.
winebuild: Implement import lib generation without dlltool.
winebuild: Enable unwind tables by default in PE files.
winebuild: Implement delay import lib generation without dlltool.
winebuild: Fix import hint value for symbols imported by name.
winebuild: Put the delay import descriptor in data section.
winegstreamer: Introduce new wm_stream_allocate_sample helper.
winegstreamer: Split the wm_reader_get_stream_sample helper.
winegstreamer: Allow wg_parser_stream_get_buffer to wait on all streams.
winegstreamer: Return no buffer when wg_parser stream is disabled.
winegstreamer: Merge wm_reader_get_stream_sample with GetNextSample.
opengl32: Avoid calling back the wglMakeCurrent win32 thunk.
opengl32: Use glReserved1[0] and glReserved1[1] for draw and read DCs.
opengl32: Split opengl_ext.h into private.h and unix_private.h.
opengl32: Avoid recursively entering WGL critical section.
opengl32: Use ntdll registry functions to read disabled extensions.
opengl32: Build with msvcrt.
opengl32: Use msvcrt allocation functions.
opengl32: Use RtlSetLastWin32Error instead of SetLastError.
kernel32/tests: Test more Global/Local functions with invalid pointers.
kernel32/tests: Test (Global|Local)Handle with heap allocated pointers.
ntdll: Introduce a new heap block_set_flags helper.
ntdll: Store the user flags in the heap block flags.
ntdll: Check block user flags in RtlSetUserValueHeap.
ntdll: Check block user flags in RtlGetUserInfoHeap.
ntdll: Implement RtlSetUserFlagsHeap.
Santino Mazza (2):
user32/tests: Test for MB_SYSTEMMODAL.
user32/msgbox: Implement MB_SYSTEMMODAL.
Sebastián Aedo (2):
netprofm: Add INetwork_GetNetworkConnections test.
netprofm: Implement network_GetNetworkConnections.
Stefan Dösinger (1):
ntdll: Fix building on Mojave / Xcode 11.3.1.
Tarcísio Ladeia de Oliveira (1):
gdi32/tests: Fix assertion message.
Tim Clem (3):
wow64: Truncate too-large regions from NtQueryVirtualMemory(MemoryBasicInformation).
wow64: Return error from NtQueryVirtualMemory(MemoryRegionInformation) for a too-large address.
wow64: Truncate too-large regions from NtQueryVirtualMemory(MemoryRegionInformation).
Torge Matthies (1):
ntdll: Fix incorrectly sized mov in user_mode_callback_return.
Zebediah Figura (12):
winevulkan: Do not pass win32 allocation callbacks directly to the Unix side.
winecoreaudio: Disable thread DllMain() calls.
winecoreaudio: Clean up the timer queue handle in DllMain().
wined3d: Factor out creating the window state thread.
wined3d: Set the window state thread description only if it's actually a new thread.
d3d8/tests: Test drawing from a managed texture after Reset().
d3d9/tests: Test drawing from a managed texture after Reset().
wined3d: Factor out a mark_managed_resource_dirty() helper.
wined3d: Add a dirty rect to managed textures when resetting.
wined3d: Always invalidate ~map_binding in texture write maps.
d3d8: Build without -DWINE_NO_LONG_TYPES.
d3d9: Build without -DWINE_NO_LONG_TYPES.
Zhiyi Zhang (15):
comctl32/button: Initialize dtFlags in PB_Paint().
win32u: Skip detached monitors in is_window_rect_full_screen().
winex11.drv: Initialize escape.drawable in X11DRV_GetDC().
winecfg: Use SM_CYSIZE to set and get caption height.
winecfg: Adjust top-level window rectangles after theme changes.
user32: Hook drawing menu buttons.
uxtheme: Support drawing themed menu buttons.
user32/tests: Test creating a fullscreen window spanning multiple monitors.
winex11.drv: Support _NET_WM_FULLSCREEN_MONITORS.
d2d1/tests: Add hwnd render target pixel format tests.
d2d1: Use D2D1_ALPHA_MODE_IGNORE if D2D1_ALPHA_MODE_UNKNOWN is used for creating hwnd render targets.
uxtheme: Reference count theme classes.
uxtheme: Use atomic functions for reference counting.
light.msstyles: Add nonclient metrics.
user32: Use NtUserSetWindowLongPtr() in set_dialog_proc().
Ziqing Hui (4):
usp10/tests: Add CJK shaping test.
usp10/tests: Add Hiragana shaping test.
usp10/tests: Add Katakana shaping test.
gdi32/uniscribe: Add fallback font for Kana and CJK script.
wuliande (1):
msvcp90: Make _Condition_variable_* function pointers static.
The Wine development release 7.0.1 is now available.
What's new in this release:
- Various bug fixes
- Translation updates
The source is available at:
https://dl.winehq.org/wine/source/7.0/wine-7.0.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.0.1 (total 32):
- #12732 Nota Bene crashes on install
- #44202 undname.c fails to parse symbols with rvalue-reference semantics '&&'
- #45916 x64dbg fails to load debuggee, needs ThreadScheduler_ScheduleTask
- #50352 Maximum sockets per process is set very low
- #50370 Gothic 1 doesn't start correctly when screen resolution of the game matches display resolution
- #50433 'MsiBreak' custom action debugging aid should use custom action's name from 'CustomAction' table (currently uses 'Target' field)
- #50869 Killing Wine process in Wine 6.5 doesn't terminate the application because of the new use of start.exe
- #51163 WinOffice Pro 5.3 stops after splashscreen, needs WMI class SoftwareLicensingProduct
- #51619 advapi32:registry fails in Wine because French & German timezone name translations are too long
- #51900 regression: REAPER scrollbars flash between themed and non-themed
- #52163 postgresql-9.3 installer expects scrrun:filesys_GetTempName to return filename with TMP suffix
- #52298 Opening PPT with Freeoffice Presentations crashes on unimplemented function ole32.dll.OleConvertIStorageToOLESTREAMEx
- #52426 BCryptSignHash mishandles empty arguments
- #52434 Light Blue theme has rendering errors in tree views
- #52436 In Light Blue theme, checkable toggle buttons (BS_AUTOCHECKBOX) look unchecked when hovered
- #52446 Normal dlls with native subsystem id are no longer processed when importing system dlls with uppercase names
- #52476 QuickLOAD (VB5 app) input value is changed by factor 10
- #52494 shell32 progman_dde tests crash if run immediately after prefix creation
- #52510 alt:V mod for Grand Theft Auto V fails due to missing concrt140._Byte_reverse_table@details@Concurrency@@3QBEB
- #52562 advapi32:registry fails in Wine because some French timezone name translations are too long
- #52581 Internet MIDI crashes with Light Blue theme enabled
- #52583 ApiSetView does not display export ordinals correctly
- #52616 SteelSeries GG installer crashes on unimplemented function setupapi.dll.SetupQueryInfVersionInformationW
- #52618 32-bit EXEs do not launch from build dir on macOS 10.14 in WOW64
- #52626 MahjongSoul needs unimplemented function combase.dll.RoSetErrorReportingFlags
- #52667 DTS Master Audio Suite can't select save file location when wine's "Light" theme is used
- #52679 Anno 1602 / 1602 A.D. graphics too dark / black
- #52704 FreeHand 9 demo: invalid handle exception (0xc0000008) when attaching uxtheme.dll
- #52787 Invalid function prototype for "RegisterUserApiHook" when compiling for C++
- #52953 GuiPy crashes on unimplemented function xmllite.dll.CreateXmlReaderInputWithEncodingCodePage
- #53034 Lazarus: menu text disappears under mouse if light theme is enabled
- #53430 urlmon:url fails due to unexpected redirection
----------------------------------------------------------------
Changes since 7.0:
Alex Henrie (14):
explorer: Only try to destroy the IShellWindows object if it exists.
tzres: Inform translators of 31-character limit.
po: Update Catalan translation.
msi: Fix memory leak in get_fusion_filename (Coverity).
winhttp: Fix memory leak on error path in WinHttpCrackUrl (Coverity).
adsldp: Fix memory leak on error path in search_ExecuteSearch (Coverity).
conhost: Fix memory leak on error path in create_screen_buffer (cppcheck).
dbghelp: Fix memory leak on error path in dwarf2_read_range (cppcheck).
ws2_32: Fix memory leak on error path in get_local_ips (cppcheck).
ws2_32: Fix memory leaks on error paths in unix_gethostby* (scan-build).
sane: Fix memory leak in create_item (Coverity).
winspool: Fix memory leaks on error path in DeviceCapabilitiesA (Coverity).
shell32: Fix sizeof argument in DoPaste (Coverity).
mciwave: Fix bad free in MCI_SendCommandAsync (Coverity).
Alexandre Julliard (12):
user.exe: Make sure that the thunk selector doesn't get freed.
makefiles: Disable printf format warnings for non-PE msvcrt modules.
readme: Mention Gitlab.
kernel32/tests: Fix affinity test when there are too many CPUs.
ntdll/tests: Fix affinity test when there are too many CPUs.
secur32/tests: Update for new WineHQ certificate.
urlmon/tests: Run tests against the gitlab server to avoid redirects.
webservices/tests: Mark tests that fail on 64-bit as todo.
wininet/tests: Update WineHQ certificate.
makedep: Make the handling of install rules more generic.
makefiles: Add install-test target to install winetest.exe.
winetest: Don't require an email if we have a URL.
Alistair Leslie-Hughes (1):
msado15: Return valid object in Recordset::Clone.
Andrey Gusev (1):
d3d11: Implement the ID3DUserDefinedAnnotation interface.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bastien Orivel (1):
ws2_32: Fix setsockopt(TCP_NODELAY) when optlen is less than 4.
Ben Shefte (1):
ntdll: Use case insensitive comparison in is_import_dll_system().
Bhavesh Davda (1):
wined3d: Add GPU information for NVIDIA Ampere A10 and AMD Radeon Pro V620 GPUs.
Brandon Moore (1):
msadpm: Stop decoding instead of crashing for invalid adpcm data.
Brendan Shanks (1):
makefiles: On macOS, use @rpath instead of @loader_path when building Unix libs.
David Kahurani (1):
oleaut32: Do not skip the first decimal digit in VarParseNumFromStr().
Dmitry Timoshkov (2):
ieframe: Clear a being invalidated history entry.
ieframe: Initialize new history log entry.
Eric Pouech (3):
start: Wrap child inside a job so it gets killed when start.exe terminates.
include/msvcrt: Redefine towlower* & towupper* with wint_t types.
msacm32: Use extended structure definition for driver configuration.
Fabian Maurer (4):
printui: Use LocalFree for memory allocated by LocalAlloc (Coverity).
mfplay: Prevent usage of uninitialized pointer in error case (Coverity).
mfplat: Prevent use after free (Coverity).
shell32: Prevent user after free in error case (Coverity).
Floris Renaud (1):
po: Update Dutch Translation.
François Gouget (8):
po: Fix the French translation of 'code page'.
po: Fix backslash duplication in a French translation.
po: Remove a space before a linefeed in the French translation.
po: Remove spaces before linefeeds in the Spanish translation.
po: Remove a space before a linefeed in the Chinese translation.
po: Fix an accelerator shortcut in the Norwegian Bokmål translation.
inetmib1: Avoid overflows in IPv4 address comparisons.
inetmib1: Fix the IPv4 address network order for comparisons.
Gabriel Ivăncescu (3):
ddraw: Use WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES only if window is not in foreground.
jscript: Handle NULL return pointers in all constructors.
mshtml: Fix leak on failure in return_nsstr.
Gerald Pfeifer (1):
iphlpapi: Zero-init prefix_len to avoid a compiler warning.
Gijs Vermeulen (1):
setupapi: Add SetupQueryInfVersionInformationA/W stub.
Giovanni Mascellani (3):
winegstreamer: Do not block forever if EOS races with command queue.
mfplat: Avoid a race condition when releasing a tracked sample.
mfmediaengine: Fix a memory leak.
Hans Leidekker (1):
msi: Use custom action name for MsiBreak handling.
Henri Verbeet (2):
d3d11/tests: Add some tests for ID3DUserDefinedAnnotation.
wined3d: Add GPU information for NVIDIA Tesla T4.
Kevin Puetz (1):
winegcc: --out-implib needs to propagate -m32/-m64 to winebuild.
Lauri Kenttä (2):
po: Update Finnish translation.
readme: Update Finnish translation.
Louis Lenders (2):
wbemprox: Add some properties of SoftwareLicensingProduct class.
ole32: Add stub for OleConvertIStorageToOLESTREAMEx.
Martin Storsjö (1):
ntdll: Zero-initialize the syscall_frame used for starting threads on ARM/ARM64.
Matteo Bruni (1):
combase: Add RoSetErrorReportingFlags() stub.
Michael Stefaniuc (3):
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
gitlab: Import the gitlab CI from the master branch (devel tree).
tools: Import make_announce changes from the devel tree.
Mohamad Al-Jaf (1):
hid: Implement HidD_GetPhysicalDescriptor.
Nikolay Sivov (4):
comctl32/listview: Initialize subitem text buffer before drawing each subitem.
uxtheme: Fix double free on registry key handle.
xmllite/reader: Implement CreateXmlReaderInputWithEncodingCodePage().
evr/sample: Avoid a race condition when releasing a tracked sample.
Paul Gofman (1):
concrt140: Add ?_Byte_reverse_table@details@Concurrency@@3QBEB data export.
Piotr Caban (2):
ucrtbase: Add support for r-value demangling in unDName.
msvcr100: Improve ThreadScheduler_ScheduleTask_loc stub.
Piotr Kleski (1):
bcrypt: Return BCryptSignHash len when only output is NULL.
Robert Wilhelm (2):
scrrun: Add test for GetTempName.
scrrun: Generate temp name with tmp suffix.
Rémi Bernon (1):
mf: Handle MESourceSeeked and MEStreamSeeked state change events.
Santino Mazza (2):
ncrypt/tests: Test key import of an rsa key.
ncrypt: Make NCryptOpenStorageProvider return a valid stub pointer.
Saulius Krasuckas (1):
ntdll: Check __WINE_PE_BUILD instead of compiler macros.
Zebediah Figura (12):
ws2_32/tests: Add tests for WSAStartup().
ws2_32: Always fill the WSADATA structure in WSAStartup().
ws2_32: Cap the negotiated winsock version to 1.1 or 2.2.
ws2_32: Return 32767 or 0 in the iMaxSockets field.
ws2_32: Return 65467 or 0 in the iMaxUdpDg field.
ws2_32: Return WSAEFAULT instead of WSAEINVAL from WSAStartup() if "data" is NULL.
configure: Fix the check for CAPI support.
d3dx9: Don't mark annotation variables as dirty.
winegstreamer: Release stream_cs on error in stream_thread().
setupapi: Avoid leaking subKey in SETUPDI_AddDeviceInterfaces().
server: Allocate enough space for the backslash in dup_nt_name() (Valgrind).
tiff: Explictly link to zlib.
Zhiyi Zhang (14):
user32/tests: Test painting standard scroll bars in hovered state.
user32: Draw standard scroll bars in hovered state only when they were previously painted by DefWinProc().
comctl32/button: Use pressed state when a pushlike checkbox or radio button is checked and hovered.
comctl32/treeview: Do not draw client edge without WS_EX_CLIENTEDGE.
light.msstyles: Do not use transparent treeview parts.
uxtheme/tests: Add IsThemePartDefined() tests.
uxtheme: Search parts of any state in IsThemePartDefined().
light.msstyles: Add Menu stub class.
user32/tests: Test NUMCOLORS for display DCs.
win32u: Return -1 for NUMCOLORS with 8-bit display DCs.
include: Avoid a C++ keyword for RegisterUserApiHook().
light.msstyles: Use stretch sizing type for scroll bar arrow button background.
uxtheme: Support parsing menu class.
light.msstyles: Add Menu parts.
The Wine development release 7.20 is now available.
What's new in this release:
- Mono engine updated to version 7.4.0.
- Font linking improvements.
- A number of fixes for exception unwinding.
- Support for dumping EMF spool files in WineDump.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.20.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.20 (total 29):
- #15679 cygwin symlinks not working in wine
- #29998 Crysis 2 (>1.0) huge graphical issues after loading a savegame
- #38594 dbghelp_msc:pe_load_debug_directory Got a page fault while loading symbols (Visual C++ 2013 .pdb's)
- #38604 winedbg: internal crash/hangs when running ieframe/tests/ie.c with pdb debug symbols
- #44814 cygwin's bsdtar.exe needs a better ntdll.NtQueryEaFile stub
- #46822 Edit control in ADL search dialog gets initially not drawn in DC++ 0.868, regression
- #47595 Tequila City of Heroes Launcher - expect_no_runtimes Process exited with a Mono runtime loaded.
- #48197 Autonauts in steam under wine has a memory leak.
- #50573 division by zero in wineconsole when hovering mouse over
- #51529 CloseHandle(INVALID_HANDLE_VALUE) returns FALSE, GetLastError is ERROR_INVALID_HANDLE
- #51775 Axiom Verge 2 crashes on startup due to incomplete sapi implementation
- #52545 ACE rights parser should allow octal and decimal formats
- #52648 conhost.exe:tty test_read_console_control() fails in Hindi and Portuguese
- #52790 winedbg 'bt all' filled with dbghelp_dwarf RULE_VAL_EXPRESSION fixmes
- #53437 ZOSI Cloud crashes on start
- #53455 shell32:recyclebin - test_query_recyclebin() gets unexpected recyclebin size in Wine
- #53521 imm32:imm32 - test_default_ime_window_creation() fails on Windows 10 21H1+
- #53552 Line width calculation failure in WineMono.Tests.System.Windows.Media.TextFormatting.TextFormatterTest.NewlineCharacterCollapsibleTest
- #53608 Visual Novel Shin Koihime † Eiyuutan 4 plays opening movie in separate window
- #53669 Problems with two separate MetaTrader4 programs on the same Wine desktop
- #53679 The 64-bit ntdll:env fails on Windows 7
- #53724 Obduction fails in a random way out of a handful of possible ways
- #53770 Wrong locale data for Chinese locales for LOCALE_SNATIVEDIGITS class
- #53800 CRYPT_GetBuiltinDecoder Unsupported decoder for lpszStructType 1.3.6.1.4.1.311.2.1.4
- #53813 Let's encrypt certificate validation fails
- #53821 winbase.h: ReOpenFile declaration missing (and not available in any other header)
- #53829 Font links for MingLiU broken 32-bit wineprefixes
- #53832 wbemprox: where-clause seems to be case-sensitive
- #53838 Non-PE builds fail after "makedep: Make the installation directories architecture-generic."
----------------------------------------------------------------
Changes since 7.19:
Akihiro Sagawa (8):
quartz/tests: Add a background brush test for video renderer.
quartz: Fix video flickering.
shell32/tests: Add DBCS file name tests for DragQueryFile.
shell32/tests: Add more DragQueryFile tests.
shell32: Merge ANSI part of DROPFILES handler into DragQueryFileW.
shell32: Reimplement DragQueryFileA to rely on its Unicode version.
shell32: Returns a number of copied characters in DropQueryFileW.
shell32: Returns a number of copied bytes in DropQueryFileA.
Alex Henrie (14):
include: Add TOOLINFO[AW].
shell32: Move strndupW to dde.c.
shell32: Use standard C functions for memory allocation in dde.c.
shell32: Introduce combine_path helper for DDE.
shell32: Sanitize Program Manager icon and group names.
include: Add WSANO_ADDRESS to winsock2.h.
include: Move strto[iu]max(_l) from stdlib.h to inttypes.h.
uuid: Add devguid.h.
msvcrt: Change return type of _putenv_s to errno_t.
include: Add _putenv_s.
shell32: Don't use strdupW or heap_* functions in shellole.c.
shell32: Don't use strdupW or heap_* functions in shelldispatch.c.
shell32: Don't use strdupW or heap_* functions in shelllink.c.
shell32: Remove unused function strdupW.
Alexandre Julliard (21):
nls: Update locales that have been added in recent Windows versions.
nls: Allow specifying a locale's native digits.
makedep: Pass a generic architecture value instead of the is_cross flag to various helpers.
makedep: Make the target flags architecture-generic.
makedep: Make the debug flags architecture-generic.
makedep: Make the delay load flags architecture-generic.
makedep: Make the extra C flags architecture-generic.
makedep: Make the installation directories architecture-generic.
makedep: Make the object files architecture-generic.
makedep: Make the import library files architecture-generic.
makedep: Make the makefile targets architecture-generic.
makedep: Add support for architecture-specific sources.
makedep: Add support for architecture-specific IDL objects.
makedep: Make the resource files architecture-generic.
makedep: Add a helper function to build a source file for one architecture.
makedep: Add a helper function to get a cross-compilation make variable.
makedep: Add a helper function to build an arch-specific module name.
makedep: Make the disabled flag architecture-generic.
makefiles: Store PE objects in subdirectories in the build tree.
configure: Remove no longer needed check for dlltool.
makedep: Remove arch directories on distclean.
Alistair Leslie-Hughes (8):
crypt32: Only report Unimplemented decoder when not found in external dll.
sapi: Implement ISpObjectToken OpenKey.
sapi: Move token structure before EnumTokens function.
sapi: Store registry key to Enum builder.
sapi: Implement ISpObjectTokenEnumBuilder Item.
sapi: Implement ISpObjectTokenEnumBuilder Next.
sapi: Add default voice registry key.
sapi: Add Voice enum tests.
Anton Baskanov (6):
quartz/tests: Add tests for MPEG layer-3 decoder interfaces.
quartz/tests: Add tests for MPEG layer-3 decoder aggregation.
quartz/tests: Test MPEG layer-3 decoder unconnected filter state.
quartz/tests: Add tests for IBaseFilter_EnumPins() on MPEG layer-3 decoder.
quartz/tests: Add tests for IBaseFilter_FindPin() on MPEG layer-3 decoder.
quartz/tests: Add tests for querying MPEG layer-3 decoder pin info.
Bartosz Kosiorek (26):
msvcrt: Add _mbctolower_l partial implementation.
msvcrt: Add _mbctoupper_l partial implementation.
msvcrt: Add _mbslwr_s_l partial implementation.
msvcrt: Add _mbsupr_s_l partial implementation.
msvcrt: Add _mbschr_l implementation.
msvcrt: Add _mbsicmp_l implementation.
msvcrt: Add _mbclen_l implementation.
msvcrt: Fix error handling for _mbscmp_l.
msvcrt: Add _ismbslead_l implementation.
msvcrt: Add _ismbstrail_l implementation.
msvcrt: Add _ismbcsymbol_l implementation.
msvcrt: Add _mbsinc_l implementation.
msvcrt: Fix error handling for strcat_s.
msvcrt: Fix error handling for strcpy_s.
gdiplus: Add GdipSetPenCompoundArray implementation.
gdiplus: Add GdipGetPenCompoundCount implementation.
gdiplus: Add GdipGetPenCompoundArray implementation.
msvcrt: Add _ismbchira_l implementation.
msvcrt: Add _ismbckata_l implementation.
msvcrt: Add _mbbtombc_l implementation.
ucrtbase: Export more _o_* functions.
msvcrt: Add _mbcjistojms_l implementation.
msvcrt: Add _mbcjmstojis_l implementation.
msvcrt: Add _mbctombb_l implementation.
msvcrt: Add _mbctohira_l implementation.
msvcrt: Add _mbctokata_l implementation.
Brendan Shanks (5):
mmdevapi: Set the name of internal threads.
xinput1_3: Set thread name for hid_update_thread_proc.
sechost: Set the name of internal threads.
ntdll: Set native thread names on Linux when set with SetThreadDescription().
server: Only require THREAD_SET_LIMITED_INFORMATION access to set thread description.
Chilung Chan (1):
po: Update Traditional Chinese translation.
Connor McAdams (15):
uiautomationcore: Add support for multiple providers on a single HUIANODE.
uiautomationcore: Determine provider type for nested node providers.
uiautomationcore: Add support for getting HWND providers to UiaNodeFromProvider().
uiautomationcore: Add support for getting HWND providers to uia_node_from_lresult().
uiautomationcore/tests: Ignore UIA_NativeWindowHandlePropertyId in certain tests.
uiautomationcore: Implement UiaRegisterProviderCallback.
uiautomationcore: Add UiaGetUpdatedCache stub.
uiautomationcore: Implement UiaGetUpdatedCache.
uiautomationcore: Add basic UiaCondition support to UiaGetUpdatedCache.
uiautomationcore/tests: Add tests for boolean UIA ConditionTypes.
uiautomationcore/tests: Add ConditionType_Property tests.
uiautomationcore: Add support for ConditionType_Not conditions.
uiautomationcore: Add support for ConditionType_{And/Or} conditions.
uiautomationcore: Implement ConditionType_Property conditional for UIAutomationType_Bool properties.
uiautomationcore: Add support for UIAutomationType_IntArray property comparisons.
Daniel Lehman (4):
kernel32/tests: Add tests for CancelSynchronousIo.
ntdll: Add NtCancelSynchronousIoFile stub.
ntdll: Implement NtCancelSynchronousIoFile.
kernelbase: Call NtCancelSynchronousIoFile in CancelSynchronousIo.
David Kahurani (1):
xmllite/writer: Null terminate duplicated strings.
Eric Pouech (11):
dbghelp: Rework dwarf2_get_ranges() helper.
dbghelp: No longer call read_range() for inline site (dwarf).
dbghelp: Allow symt_block to be defined over non contiguous chunks.
dbghelp: Silence some FIXMEs.
oleaut32/tests: Fix test failing on UTF-8 locale.
ntdll/tests: Force alignment of output structures.
dbghelp: Use heap functions for allocation.
dbghelp: Realloc array of buckets inside struct vector.
conhost/tests: Fix tests for some keyboard layouts.
conhost/tests: Fix some tests on input sequences.
kernel32/tests: Workaround some broken Windows behavior in console tests.
Esme Povirk (3):
user32: Test Get/SetWindowPlacement with invalid length.
win32u: Reject invalid length in SetWindowPlacement.
mscoree: Update Wine Mono to 7.4.0.
Etaash Mathamsetty (3):
ntoskrnl.exe: Implement IoCreateNotificationEvent.
ntoskrnl.exe: Fix formatting in IoCreateSynchronizationEvent.
ntoskrnl.exe: Use LoadLibraryW for MmGetSystemRoutineAddress.
Fabian Maurer (1):
ntdll: Prevent double free (Coverity).
Florian Kübler (1):
ntdll: Add CFI unwind info to __wine_syscall_dispatcher (x86_64).
François Gouget (8):
wintrust: Add a trailing linefeed to an ERR() message.
winetest: Let the get_subtests() caller report errors.
dbghelp: Fix the trailing linefeed of a WARN() message.
d3d10core/tests: Fix the spelling of a comment.
dbghelp: Fix the spelling of a couple of comments.
rpcrt4/tests: Fix the spelling of a couple of comments.
msdasql: Fix a typo in the is_fixed_length() function name.
ddraw/tests: Mark tests failing randomly on Windows 8 as flaky.
Gabriel Ivăncescu (28):
jscript: Implement Function.prototype.bind's `thisArg` properly.
jscript/tests: Fix copy paste mistake in JSON test.
jscript: Implement `reviver` argument for JSON.parse.
wininet: Handle offline state in InternetGetConnectedStateExW.
netprofm: Handle non-internet connectivity.
mshtml: Move the ConnectionPointContainer out of basedoc.
mshtml: Move the IServiceProvider interface out of basedoc.
mshtml: Move the Persist interfaces out of basedoc.
mshtml: Move the IOleCommandTarget interface out of basedoc.
mshtml: Move the OleObj interfaces out of basedoc.
mshtml: Move HTMLDocumentObj implementation to oleobj.c.
mshtml: Move the remaining non-IHTMLDocument* interfaces out of basedoc.
mshtml: Move the IHTMLDocument2 interface out of basedoc.
mshtml: Move the IHTMLDocument3 interface out of basedoc.
mshtml: Move the IHTMLDocument4 interface out of basedoc.
mshtml: Move the IHTMLDocument5 interface out of basedoc.
mshtml: Move the IHTMLDocument6 interface out of basedoc.
mshtml: Move the IHTMLDocument7 interface out of basedoc.
mshtml: Move the IDispatchEx interface out of basedoc.
mshtml: Get rid of the outer_unk in basedoc.
mshtml: Get rid of the outer window in basedoc.
mshtml: Get rid of the HTMLDocument basedoc.
jscript: Implement VariantChangeType for VT_DISPATCH and VT_UNKNOWN.
mshtml: Allow null or undefined listeners in attachEvent/detachEvent.
mshtml: Allow null or undefined func in addEventListener.
mshtml: Get rid of a EVENTID_LAST special case.
mshtml: Implement document.mimeType.
mshtml: Implement document.referrer.
Gerald Pfeifer (2):
ntdll: Fix build on systems without ENODATA.
loader: Unbreak FreeBSD builds (ARRAY_SIZE undefined).
Hans Leidekker (2):
crypt32: Parse OCSP responder name.
wbemprox: WQL string comparisons are case insensitive.
Hugh McMaster (4):
kernel32/tests: Remove tests comparing expected output in certain functions.
kernelbase: Add stubs for GetConsoleOriginalTitleA/W().
kernel32/tests: Add tests for GetConsoleOriginalTitleA/W().
kernelbase: Avoid memory leaks in GetConsoleTitleW().
Jacek Caban (2):
user.exe: Pass resource ID as a string in DIALOG_CreateControls16.
makedep: Always use -mno-cygwin for extra test modules.
Jinoh Kang (8):
win32u: Fix data race in NtUserGetProcessDpiAwarenessContext.
gdiplus: Avoid recursively locking image in GdipImageRotateFlip.
gdiplus: Avoid copying GpImage's busy flag in select_frame_wic().
gdiplus: Replace GpImage's busy flag with SRWLOCK.
user32/tests: Test for window exposure behaviours.
kernel32/tests: Add test for pipe name with a trailing backslash.
ntdll/tests: Add tests for pipe names.
ntdll/tests: Add more tests for \Device\NamedPipe and \Device\NamedPipe\.
Joel Holdsworth (2):
ntdll/tests: Add initial tests for reparse points.
ntdll: Add FSCTL_GET_REPARSE_POINT semi-stub.
Martin Storsjö (4):
win32u: Make sure that the stack buffer in set_multi_value_key is large enough.
ntdll: Move the dwarf reading routines to a shareable header.
ntdll: Add support for aarch64 in the dwarf implementation.
ntdll: Use the local dwarf implementation on arm64.
Michael Stefaniuc (11):
ntdll: Use ARRAY_SIZE instead of open coding it.
riched20/tests: Use ARRAY_SIZE instead of open coding it.
kernel32/tests: Use ARRAY_SIZE instead of open coding it.
server: Use ARRAY_SIZE instead of open coding it.
loader: Use ARRAY_SIZE instead of open coding it.
libs/wine: Use ARRAY_SIZE instead of open coding it.
widl: Use ARRAY_SIZE instead of open coding it.
winegcc: Use ARRAY_SIZE instead of open coding it.
wmc: Use ARRAY_SIZE instead of open coding it.
wrc: Use ARRAY_SIZE instead of open coding it.
makedep: Use ARRAY_SIZE instead of open coding it.
Mihail Ivanchev (1):
include: Add prototype for ReOpenFile().
Nikolay Sivov (13):
dwrite/tests: Use existing to create factory instance.
d2d1: Test device context type in BindDC().
ntdll: Add some already implemented security descriptor exports.
kernelbase: Forward some of the security descriptor functions to ntdll.
kernelbase: Forward some directory info classes in GetFileInformationByHandleEx().
kernelbase: Make sure to provide a message for missing information classes in GetFileInformationByHandleEx().
kernelbase: Forward some more classes in GetFileInformationByHandleEx().
ntdll: Partially implement MemoryRegionInformation query.
kernelbase: Add QueryVirtualMemoryInformation().
user32: Add DragObject() stub.
win32u: Move NtUserDragDetect() to window.c.
mf/samplegrabber: Send MEStreamSinkRateChanged event.
mf/samplegrabber: Send MEStreamSinkScrubSampleComplete event.
Paul Gofman (14):
wbemprox: Fix string length in get_value_bstr().
msvcrt: Display message box in abort() for specific CRT versions only.
winmm: Use a global timeout for refreshing joystick devices.
win32u: Store GPU luid in adapters cache.
win32u: Move NtUserDisplayConfigGetDeviceInfo implementation from user32.
win32u: Store output id in monitors cache.
win32u: Implement NtUserDisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME).
ws2_32/tests: Make test_so_reuseaddr() more conclusive.
ws2_32/tests: Add tests for reusing address without SO_REUSEADDR.
ws2_32/tests: Also test TCP6 in test_so_reuseaddr().
ntdll: Move SO_REUSEADDR handling to server.
server: Track SO_REUSEADDR value.
server: Set Unix SO_REUSEADDR on all the TCP sockets.
ws2_32/tests: Also test bind to any together with loopback in a different order.
Piotr Caban (34):
winedump: Add initial EMF spool files support.
winedump: Fix buffer overflow in debugstr_wn helper.
winedump: Don't use static offset in dump_emfrecord.
winedump: Dump metafiles in EMF spool files.
winedump: Add prefix when dumping EMF files.
winedump: Add support for EMRI_METAFILE_EXT records.
comctl32: Add helper for calling PROPERTYSHEETPAGE callback.
comctl32: Add helper for getting flags from HPROPSHEETPAGE.
comctl32: Add helper for loading dialog template from HPROPSHEETPAGE.
comctl32: Add helper for getting title from HPROPSHEETPAGE.
comctl32: Add helper for getting icon from HPROPSHEETPAGE.
comctl32: Add helper for creating page HWND from HPROPSHEETPAGE.
comctl32: Add helper for getting template from HPROPSHEETPAGE.
comctl32: Add helper for setting header title in HPROPSHEETPAGE.
comctl32: Add helper for setting header subtitle in HPROPSHEETPAGE.
comctl32: Add helper for drawing header title and subtitle obtained from HPROPSHEETPAGE.
msvcrt: Fix mbcasemap initialization.
msvcrt: Add support for multi-byte characters in _mbctolower_l.
msvcrt: Add support for multi-byte characters in _mbctoupper_l.
msvcrt: Fix error handling in _mbsupr_s_l.
msvcrt: Fix error handling in _mbslwr_s_l.
winedump: Handle NULL in get_unicode_str.
msvcrt: Fix _putenv_s return value on error.
msvcrt: Fix _wputenv_s return value on error.
msvcrt: Fix _wputenv_s invalid argument handling.
comctl32: Create page if PROPSHEETPAGE was passed as HPROPSHEETPAGE to PropertySheetAW or PSM_INSERTPAGE.
comctl32: Don't use PROPSHEETPAGE structure to store internal HPROPSHEETPAGE data.
comctl32: Fix PROPSHEETPAGE[AW] structure content in messages and callbacks.
comctl32: Add support for adding extra data in CreatePropertySheetPage.
compstui: Add CPSFUNC_ADD_PFNPROPSHEETUI support.
compstui: Add CPSFUNC_ADD_PROPSHEETPAGE support.
compstui: Test that callbacks are executed.
maintainers: Update Microsoft C Runtime files list.
winemac.drv: Fix registry path size in create_original_display_mode_descriptor.
Rémi Bernon (10):
opengl32: Split is_extension_supported helper.
opengl32: Build extension list in is_extension_supported.
opengl32: Move filter_extensions (et al.) around.
opengl32: Use has_extension in filter_extensions_index.
win32u: Use session BaseNamedObjects for display_device_init mutex.
winex11.drv: Use session BaseNamedObjects for display_device_init mutex.
dinput/tests: Add dummy flaky test count.
ntoskrnl.exe/tests: Add dummy flaky test count.
schedsvc/tests: Add dummy flaky test count.
win32u: Write display modes to registry as binary blobs.
Stanislav Motylkov (1):
hhctrl.ocx: Fix toolbar icons order.
Vladislav Timonin (2):
d2d1: Update to ID2D1Device1.
d2d1: Implement ID2D1Device1::CreateDeviceContext.
Zebediah Figura (8):
wined3d: Do not enforce GL map access for resources with WINED3D_RESOURCE_ACCESS_CPU.
ws2_32/tests: Add more tests for iosb contents while a recv is pending.
ntdll: The async handle passed to set_async_direct_result() cannot be NULL.
ntdll: Fill the IOSB in sock_recv() only inside the "if (alerted)" block.
ntdll: Combine the "if (alerted)" blocks in sock_recv().
ntdll: Fill the IOSB in sock_send() only inside the "if (alerted)" block.
ntdll: Combine the "if (alerted)" blocks in sock_send().
ntdll: Fill the IOSB in sock_transmit() only inside the "if (alerted)" block.
Zhiyi Zhang (10):
comctl32/tests: Ignore WM_NCPAINT when testing WM_THEMECHANGED for updown control.
comctl32/tests: Test if WM_STYLECHANGED repaints controls.
comctl32/treeview: Don't repaint when handling WM_STYLECHANGED.
comctl32/listview: Don't repaint when handling WM_STYLECHANGED.
comctl32/animate: Don't repaint when handling WM_STYLECHANGED.
comctl32/datetime: Don't repaint when handling WM_STYLECHANGED.
comctl32/syslink: Don't repaint when handling WM_STYLECHANGED.
comctl32/tab: Don't repaint when handling WM_STYLECHANGED.
comctl32/updown: Don't repaint when handling WM_STYLECHANGED.
comctl32/tests: Use a toolbar with TBSTYLE_FLAT in toolbar visual tests.
Ziqing Hui (10):
win32u: Add mechanism for font specific system links.
win32u: Add font link for MS UI Gothic.
win32u: Add more linked fonts for Tahoma.
win32u: Add locale_dependent member to struct system_link_reg.
win32u: Add font links for Microsoft JhengHei.
win32u: Add font links for MingLiU.
win32u: Add font links for MS Gothic.
win32u: Add font links for Yu Gothic UI.
win32u: Add font links for Meiryo.
win32u: Add font links for MS Mincho.
The Wine development release 7.19 is now available.
What's new in this release:
- Support for storing DOS attributes on disk.
- Bundled vkd3d upgraded to version 1.5.
- Support for MPEG-4 audio format.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.19.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.19 (total 17):
- #9158 Multiple Microsoft development tools online/web installers fail to skip "$shtdwn$.req" with FILE_ATTRIBUTE_HIDDEN (Visual Studio Express Editions, .NET Framework 3.0)
- #48414 OpenMPT UI does not render all textboxes correctly
- #50269 Multiple applications need IWMSyncReader::GetOutputCount() implementation (Resident Evil Revelations 2; Ultimate Marvel vs Capcom 3)
- #51884 HP Prime Virtual Calculator Emulator crashes when license agreement screen opens
- #52655 Cubase 12 crashes on unimplemented function advapi32.dll.OpenThreadWaitChainSession
- #52659 No sound for games that utilize windows media player functionality
- #52931 vulkan-1:vulkan fails in Wine on cw-rx460 and Intel cards
- #52954 Kheops Studio adventure games: Graphic bug that prevents any progress in the game
- #53234 nsi:nsi - test_ndis_ifinfo() fails randomly on Windows 10 1507
- #53575 Subtitle Workshop Classic 6.1.4 disabled menu items are not viewable at all with Light theme
- #53615 Sonic Adventure DX (2004) deadlocks on the title screen
- #53645 AIMP 3 causes memory leaks
- #53672 x64dbg crashes when opening executable
- #53673 "AE VN Tools" fails to launch in staging v7.17 (previously "just worked" on staging v7.13)
- #53700 DbgChild crashes on unimplemented function ntdll.dll.RtlDosPathNameToRelativeNtPathName_U
- #53714 SQLGetInfo(W) doesn't fill StringLength when InfoValue is NULL
- #53773 winetricks dotnet35 fails to install
----------------------------------------------------------------
Changes since 7.18:
Akihiro Sagawa (1):
imm32/tests: Don't expect IME window if the parent is message-only window descendant.
Alex Henrie (4):
winegstreamer: Fix memory leak in get_available_media_type (Coverity).
include: Fix typo in LR_VGACOLOR.
include: Fix typos in NIN_BALLOON*.
include: Add LV_COLUMN[AW].
Alexandre Julliard (19):
tests: Do not report flaky tests as failures by default.
user32/tests: Flush window events to fix some race conditions.
user32/tests: Mark some input tests as flaky.
mmdevapi/tests: Mark some capture tests as flaky.
dinput/tests: Mark a mouse input test as flaky.
quartz/tests: Mark some tests as flaky.
vkd3d: Import upstream release 1.5.
Revert "oleaut32: Dereference VT_RECORD|VT_BYREF in place.".
Revert "oleaut32/tests: Get_test_recordinfo shouldn't point into a specific VARIANT.".
vkd3d: Update version number.
gitlab: Run the full test suite on merge requests.
wmvcore/tests: Reduce the number of printed todos.
gdiplus: Get the compositing mode directly from the graphics object.
windowscodecs: Redirect TIFF debug output to the Wine debug functions.
winegstreamer: Respect debug channels configuration for error output.
mmdevapi/tests: Mark some failing tests as flaky.
ngen: Add version resource.
wined3d: Use a Wine debug channel for vkd3d debug output.
d2d1: Use a gcc pragma instead of a compiler flag for -fexcess-precision.
Alistair Leslie-Hughes (9):
odbc: SQLGetInfoW allow NULL parameter InfoValue.
msdasql: Implement IColumnsInfo GetColumnInfo.
msdasql: Select statements return -1 for affected rows in ICommandText Execute.
msdasql: Implement IRowsetInfo GetProperties.
sapi: Store the token id in ISpObjectToken SetId.
sapi: Implement ISpObjectToken GetId.
include: Add missing SP defines.
sapi: Implement ISpRegDataKey CreateKey.
sapi: Implement ISpRegDataKey GetStringValue.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (6):
ntdll: Set the name of internal thread pool threads.
rpcrt4: Set the name of internal threads.
wininet: Set thread name for collect_connections_proc.
wined3d: Set name of internal threads.
ntdll: Remove shared heap functionality.
kernel32: Remove shared heap functionality.
Connor McAdams (6):
uiautomationcore: Use a separate vtbl for nested node IWineUiaProviders.
uiautomationcore: Don't use nested node providers for same-thread HWNDs.
uiautomationcore: Track all HUIANODEs returned from the provider thread.
uiautomationcore: Implement UiaDisconnectProvider.
uiautomationcore: Store provider thread nodes that have a runtime ID in an rbtree.
uiautomationcore: Add UIAutomationType_Element property support for nested node providers.
David Kahurani (1):
xmllite/writer: Properly validate DocType name.
Eric Pouech (21):
dbghelp: Fix local scope reset upon module unloading.
krnl386.exe16: Don't pass NULL to printf/%s).
winedump: Dump global hash table out of PDB symbols' stream.
winedump: Dump PDB public symbols' stream.
dbghelp: Add support for static variables at function scope (PDB).
dbghelp: Fix container for global variables (Dwarf).
dbghelp: Fix variable storage information (Dwarf).
dbghelp: Don't load invalid records for global symbol stream.
dbghelp: Improve de-duping global symbols information (PDB).
dbghelp: SymFromName* should first look in local context.
dbghelp: Remove address field from symt_compiland.
dbghelp: Expose local static variables' address.
winedbg: Enhance printing of variables or fields.
dbghelp: No longer use wine_dbgstr_longlong.
dbghelp: Silence some FIXME for SymGetTypeInfo/TI_GET_OFFSET.
dbghelp: Keep compiland's address for Dwarf debug format.
dbghelp: Remove symt_close_func_block() stabs's only parameter.
wined3d: Ensure function declaration matches implementation.
wined3d: Ensure method declaration matches implementations.
wined3d: Use I width modifier for debug traces on DWORD_PTR.
conhost: Fix tests on ReadConsole with CONSOLE_READCONSOLE_CONTROL.
Erich Hoover (3):
ntdll: Implement retrieving DOS attributes in [fd_]get_file_info().
ntdll: Implement storing DOS attributes in NtSetInformationFile.
ntdll: Implement storing DOS attributes in NtCreateFile.
Esme Povirk (1):
windowscodecs/tests: Accept new error code from win11.
Etaash Mathamsetty (1):
ntoskrnl.exe: KeInsertQueueDpc stub.
Floris Renaud (1):
po: Update Dutch translation.
François Gouget (10):
tests: Make sure only one thread prints traces at a time.
tests: Print unhandled exception messages in colour.
dpnet/tests: Mark the test_enum_hosts*() tests failing randomly on Windows as flaky.
d3d9/tests: Mark the test_cursor_pos() tests failing randomly on Windows as flaky.
d3d9/tests: Mark the test_wndproc_windowed() tests failing randomly on Windows as flaky.
d3d9/tests: Mark the test_wndproc() tests failing randomly on Windows as flaky.
dxgi/tests: Mark the test_swapchain_window_styles() tests failing randomly on Windows as flaky.
dxgi/tests: Mark the test_swapchain_window_messages() tests failing randomly on Windows as flaky.
gdi32/tests: Mark tests failing randomly on Windows as flaky.
imm32/tests: Mark tests failing randomly on Windows as flaky.
Gabriel Ivăncescu (18):
mshtml: Override document.URL's name when adding it from the mshtml typelib.
include/mshtml: Move some forward interface declarations to match Windows SDK.
mshtml: Implement url prop for StorageEvent.
mshtml: Use actual Gecko event type for MessageEvent and StorageEvent.
mshtml: Expand event_info to include a special entry for EVENTID_LAST.
mshtml: Allocate events via event type.
mshtml: Silence a FIXME when parameter is missing.
jscript: Fill the builtin props for enumeration on prototypes as well.
jscript: Refill the props at end of enumeration in html mode and retry.
mshtml: Fix enumerating first custom prop after builtins.
mshtml: Do not enumerate internal dynamic props.
mshtml: Split the lookup for an element with name into a separate helper.
mshtml: Enumerate document elements with name.
shell32/tests: Test drive letters parsing for My Computer.
shell32: Handle drive letters properly when parsing MyComputer.
mshtml: Expose props via element name only for specific element types.
mshtml: Allow accessing some document elements as props via id.
mshtml: Don't create dynamic prop before checking if elem prop even exists.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.230.
Hans Leidekker (2):
schannel/tests: Fix test failure on Windows 11.
schannel/tests: Get rid of workarounds for old Windows versions.
Henri Verbeet (2):
wined3d: Handle VKD3D_SHADER_RESOURCE_DATA_MIXED in wined3d_data_type_from_vkd3d().
wined3d: Use the supplied context in wined3d_device_context_blt().
Hugh McMaster (2):
kernel32/tests: Add tests for GetConsoleTitle().
kernelbase: Return full title length from GetConsoleTitle().
Huw D. M. Davies (2):
nsi: Use the correct members for the error and discard counts.
nsi: Update struct nsi_tcp_conn_dynamic for Windows 11.
Jacek Caban (10):
vbscript: Fix handling missing description in EXCEPINFO.
winevulkan: Separate 32-bit and 64-bit thunks implementation.
winevulkan: Merge body and body_conversion.
winevulkan: Don't pass params struct to private thunks.
winevulkan: Use generated thunks for basic debug traces.
winevulkan: Always use params to return Unix thunks result.
winevulkan: Pass VkVariable to ConversionFunction constructor.
winevulkan: Separate 32-bit and 64-bit conversion functions.
winevulkan: Introduce conversion_context and use it for conversion memory allocation.
winevulkan: Use host Vulkan structures for private thunks arguments.
Joel Holdsworth (1):
ntdll: Implement retrieving DOS attributes in NtQueryInformationFile.
John Chadwick (1):
wintab32: Fix match_token to match XWayland devices.
Kevin Puetz (10):
vbscript: Only set EXCEPINFO strings for cases that map_hres translated.
vbscript/tests: Test throwException with Description but *not* Source.
vbscript: Do HRESULT->VBSERROR mapping for the whole EXCEPINFO at once.
scrrun/tests: Introduce a test_file_contents helper.
scrrun: Fix FileSystemObject.OpenTextFile when writing to existing files.
oleaut32/tests: Get_test_recordinfo shouldn't point into a specific VARIANT.
oleaut32: Dereference VT_RECORD|VT_BYREF in place.
vbscript: Don't abort when trying to TRACE() functions with many arguments.
rpcrt4/tests: Add tests for lifetime of IRpcChannelBuffer.
rpcrt4: Add a refcount owned by MIDL_STUB_MESSAGE.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (1):
wbemprox: Add HypervisorPresent property to win32_ComputerSystem.
Marcus Meissner (1):
ntdll: Fix GetTempPathW() call passing wrong unit for the buffer size.
Mark Jansen (1):
gdi32: Fix possible overflow.
Martin Storsjö (1):
wow64: Use the right SEH opcode in raise_exception on arm64.
Nikolay Sivov (4):
include: Change include guard for wininet.h.
include: Add IActiveDesktop definition.
shell32: Add Active Desktop stub.
dxva2/tests: Add another render target format to fix a test failure.
Paul Gofman (26):
ntdll: Fix processor package mask in SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX structure.
winex11.drv: Do not skip taskbar and pager for app window.
msi: Disable FS redirection for temporary file in cabinet_copy_file().
crypt32: Set correct exponent length in decoded BCRYPT_RSAKEY_BLOB.
wintrust/tests: Add tests for multiple PE signatures.
wintrust: Initialize CRYPT_PROVIDER_SIGSTATE structure in Softpub provider.
wintrust: Load secondary signatures in SoftpubLoadSignature().
wintrust: Support WSS_GET_SECONDARY_SIG_COUNT in Softpub provider.
d3d8/tests: Add test for NULL hDeviceWindow in presentation parameters.
d3d9/tests: Add test for NULL hDeviceWindow in presentation parameters.
wined3d: Replace NULL device_window with focus window in swapchain desc.
msvcp140: Import __ExceptionPtrCopy implementation.
msvcp140: Import __ExceptionPtrAssign implementation.
msvcp140: Import __ExceptionPtrRethrow implementation.
msvcp140: Import __ExceptionPtrCurrentException implementation.
msvcp140: Import __ExceptionPtrToBool implementation.
msvcp140: Import __ExceptionPtrCopyException implementation.
msvcp140: Import __ExceptionPtrCompare implementation.
include/windows.devices.enumeration: Define DeviceAccessInformation class.
windows.devices.enumeration: Create stub DeviceAccessInformation class.
windows.devices.enumeration: Add stub IDeviceAccessInformation interface.
winhttp: Support WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL.
winhttp: Stub WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE.
winhttp: Support WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE.
vcruntime140_1: Link to vcruntime140.
msvcp140: Link to vcruntime140.
Piotr Caban (10):
comctl32/tests: Test PROPERTYSHEETPAGE passed in WM_INITDIALOG.
comctl32/tests: Test passing extra data in PROPSHEETPAGE structure.
comctl32/tests: Add more PROPSHEETPAGE tests inside callback.
comctl32/tests: Test passing PropertySheetPage as HPROPSHEETPAGE.
comctl32: Don't pass PROPSHEETPAGE to SetWindowSubclass in PROPSHEET_CreatePage.
comctl32: Introduce _PSP structure to store HPROPSHEETPAGE data.
comctl32: Use HPROPSHEETPAGE directly in PROPSHEET_CollectPageInfo.
comctl32: Use HPROPSHEETPAGE directly in PROPSHEET_CreatePage.
comctl32: Use HPROPSHEETPAGE directly in PROPSHEET_GetPageRect.
comctl32: Don't cast HPROPSHEETPAGE to PROPSHEETPAGEW*.
Rémi Bernon (75):
winegstreamer: Use IWMSyncReader2_GetMaxStreamSampleSize in the async reader.
winegstreamer: Use IWMSyncReader2_GetOutputProps in the async reader.
winegstreamer: Use IWMSyncReader2_SetOutputProps in the async reader.
winegstreamer: Use IWMSyncReader2_GetOutputFormat in the async reader.
winegstreamer: Use IWMSyncReader2_GetOutputFormatCount in the async reader.
winegstreamer: Use IWMSyncReader2_GetStreamSelected in the async reader.
winegstreamer: Use IWMSyncReader2_SetStreamsSelected in the async reader.
winegstreamer: Use IWMSyncReader2_GetOutputCount in the async reader.
wmvcore/tests: Test IWMSyncReader2_(Get|Set)AllocateFor(Output|Stream).
wmvcore/tests: Test IWMReaderAllocatorEx usage and parameters.
winegstreamer: Factor wm reader sample allocator error checks.
winegstreamer: Implement IWMSyncReader2_SetAllocateForOutput.
winegstreamer: Implement IWMSyncReader2_GetAllocateForOutput.
winegstreamer: Implement IWMSyncReader2_SetAllocateForStream.
winegstreamer: Implement IWMSyncReader2_GetAllocateForStream.
winegstreamer: Implement H264 decoder GetStreamLimits / GetStreamCount.
winegstreamer: Implement WMA decoder GetStreamLimits / GetStreamCount.
winegstreamer: Check Video Processor Get(OutputStream)Attributes pointers.
winegstreamer: Return E_NOTIMPL from color_convert GetInputStreamAttributes.
mf/tests: Test miscellaneous and optional IMFTransform methods.
winegstreamer: Remove FIXME / stub! from optional transform methods.
winegstreamer: Keep input / output stream info in struct color_convert.
winegstreamer: Keep input / output stream info in struct resampler.
winegstreamer: Keep input / output stream info in struct video_processor.
winegstreamer: Keep input / output stream info in struct wma_decoder.
winegstreamer: Keep input / output stream info in struct h264_decoder.
winegstreamer: Stop requiring input type in H264 decoder GetInputStreamInfo.
mf/tests: Factor IMFTransform_Get(Input|Output)StreamInfo checks together.
mf/tests: Factor transform (Get|Set)(Input|Output)CurrentType tests together.
mf/tests: Add some AAC encoder MFT encoding tests.
mf/tests: Add some AAC decoder MFT decoding tests.
mf/tests: Avoid setting transform types while enumerating.
mf/tests: Test WMV decoder MFT / DMO presence and media types.
mf/tests: Test WMV encoder MFT / DMO presence and media types.
mf/tests: Add some WMV encoder MFT / DMO encoding tests.
mf/tests: Add some WMV decoder MFT / DMO decoding tests.
makedep: Add an import type parameter to add_import_libs.
makedep: Link default imports separately from direct imports.
makedep: Link with imported libs before delay imported libs.
shcore: Use delay import for user32 and ole32.
regedit: Call InitCommonControls after command-line has been processed.
regedit: Add a direct import for shcore.
mf: Avoid clearing media session command list while it is running.
winegstreamer: Move CINEPAK encoded format to a separate major type.
winegstreamer: Rename WG_MAJOR_TYPE_MPEG1_AUDIO to WG_MAJOR_TYPE_AUDIO_MPEG1.
winegstreamer: Rename WG_MAJOR_TYPE_WMA to WG_MAJOR_TYPE_AUDIO_WMA.
winegstreamer: Rename WG_MAJOR_TYPE_H264 to WG_MAJOR_TYPE_VIDEO_H264.
winegstreamer: Reorder video format struct in wg_format.
winegstreamer: Wrap callback in a IWMReaderAllocatorEx in the async reader.
winegstreamer: Use IWMSyncReader2_SetAllocateForOutput in the async reader.
winegstreamer: Use IWMSyncReader2_GetAllocateForOutput in the async reader.
winegstreamer: Use IWMSyncReader2_SetAllocateForStream in the async reader.
winegstreamer: Use IWMSyncReader2_GetAllocateForStream in the async reader.
winegstreamer: Use IWMSyncReader2_GetNextSample in the async reader.
winex11.drv: Sync window positions in a WM_X11DRV_DESKTOP_RESIZED message.
winex11.drv: Send WM_X11DRV_CLIP_CURSOR_REQUEST message from the deskop.
win32u: Send WM_DISPLAYCHANGE message to the desktop window.
winex11.drv: Resize desktop window on WM_DISPLAYCHANGE message.
winemac.drv: Resize desktop window on WM_DISPLAYCHANGE message.
winegstreamer: Make IMFTransform_ProcessOutput checks more consistent.
winegstreamer: Create wg_sample from IMFSample within of wg_transform_read_mf.
winegstreamer: Register AAC decoder MFT stub.
winegstreamer: Register WMV decoder MFT / DMO stub.
win32u: Asynchronously send the WM_DISPLAYCHANGE to the desktop window.
mf/tests: Factor test grabber callback implementations.
mf/tests: Check sample grabber RGB / NV12 orientation.
mfmediaengine/tests: Pass a device manager and output format to create_media_engine.
mfmediaengine/tests: Check IMFMediaEngine_TransferVideoFrames output orientation.
mfmediaengine: Remove vertical flipping of video frames.
opengl32: Split trace generation to separate functions.
opengl32: Consistently use $func instead of $func_ref.
opengl32: Replace get_function_proto helper with get_func_(args|ret).
opengl32: List the manually written functions instead of the excluded.
winegstreamer: Support MPEG4 (AAC) compressed audio format.
winegstreamer: Implement AAC decoder MFT.
Sebastian Lackner (1):
ntdll: Improve stub of NtQueryEaFile.
Zebediah Figura (13):
d3d9: Factor out d3d9_texture_init().
d3d9: Introduce a d3d9_texture_preload() helper.
d3d9: Add reference counting helpers for textures.
d3d9: Use a separate draw texture for managed resources.
ddraw: Add FPS tracing in ddraw_surface_update_frontbuffer().
widl: Generate "static inline" instead of "static FORCEINLINE" for COM inline wrappers.
d3d8: Factor out d3d8_texture_init().
d3d8: Introduce a d3d8_texture_preload() helper.
d3d8: Add reference counting helpers for textures.
d3d8: Use a separate draw texture for managed resources.
qcap: Fix frame interval calculation.
qcap: Fix reversed max_fps and min_fps.
qcap/tests: Test that the video capture filter sets timestamps.
Zhiyi Zhang (2):
light.msstyles: Use a darker color for inactive captions.
vulkan-1/tests: Fix test failures on llvmpipe.
The Wine development release 7.18 is now available.
What's new in this release:
- Character tables updated to Unicode 15.0.0.
- Wow64 support in the macOS driver.
- Async reader fixes in GStreamer support.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.18.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.18 (total 20):
- #31157 Multiple applications (FileMaker Pro 12-19, MyDiff) crash when trying to create/open sample solution ('ImmAssociateContext' should only generate 'WM_IME_SETCONTEXT' if window has focus)
- #35478 Multiple applications and games need dsdmo.dll (DirectSound Effects)
- #36312 valgrind shows a couple possible leaks in oledb32/tests/marshal.c
- #36944 Hotel Giant 2 crashes frequently
- #42751 Multiple applications crash on unimplemented function msvcr{100,110}.dll.?_Schedule@_StructuredTaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z (Gas Guzzlers Combat Carnage, Clip Studio Paint, Cube World, Intel ACAT)
- #44314 Adobe FrameMaker 8: Installer aborts with the error "The wizard was interrupted..."
- #48487 MSYS based Git 2.25 installer reports 'could not decode hex <hexstring>' (needs support for CryptStringToBinaryW CRYPT_STRING_HEX)
- #48600 Bloomberg Terminal needs unimplemented function dbghelp.dll.SymSrvGetFileIndexInfo
- #51404 Resident Evil 7 objects rendered with glitches (Vulkan renderer)
- #52677 REVELPROG_IS crashes on unimplemented function winusb.dll.WinUsb_Free
- #53430 urlmon:url fails due to unexpected redirection
- #53458 windows.media.speech:speech - The 64-bit test_Recognition() gets unexpected ref count on Windows after ISpeechContinuousRecognitionSession_Release()
- #53570 Visual C++ 2015-2019 crashes on launch
- #53577 d3d9:device - test_scissor_size() fails on Windows 8+
- #53578 msvfw32:mciwnd - test_MCIWndCreate() fails in Wine
- #53609 Segmentation fault when starting Dosbox.exe in virtual desktop mode
- #53614 KeePassXC crashes on unimplemented function msvcp140.dll.?ReportUnhandledError@_ExceptionHolder@details@Concurrency@@AEAAXXZ
- #53626 Wine crash due to long filename when saving file in Framemaker
- #53703 Wine crashes when setting a long window title.
- #53706 NtDeviceIoControlFile() is quite slow when called with and invalid handle
----------------------------------------------------------------
Changes since 7.17:
Akihiro Sagawa (1):
user32: Fix a memory allocation strategy.
Alexandre Julliard (22):
configure: Use --disable-stdcall-fixup for all PE builds.
kernel32/tests: Fix affinity test when there are too many CPUs.
ntdll/tests: Fix affinity test when there are too many CPUs.
ntoskrnl/tests: Fix affinity test when there are too many CPUs.
oleaut32: Avoid spurious debug traces when FIXMEs are disabled.
oleaut32: Check that the 32/64 syskind matches when getting a typelib from the cache.
webservices/tests: Mark tests that fail on 64-bit as todo.
d2d1/tests: Adjust geometry to make tests pass on all devices.
winetest: Don't require an email if we have a URL.
gdi32/tests: Mark some tests that fail without Vulkan as todo.
vcomp/tests: Limit the number of nested threads.
unicode: Update to Unicode 15.0.0.
win32u: Fix Get/SetWindowWord behavior on 32-bit.
winex11: Don't send WM_CANCELMODE to iconified windows.
user32/tests: Fix a few more assumptions about window positions.
ntdll/tests: Re-add workaround for check that is still broken on win7.
winetest: Report failure for tests that print too much output.
ntdll/tests: Don't run the stack growth tests too many times.
d2d1/tests: Skip subsequent todo tests for unsupported properties.
user32/tests: Only report the first todo of a failed message sequence.
user32/tests: Don't print debug traces by default.
advapi32/tests: Mark some failing tests as todo.
Alistair Leslie-Hughes (7):
ws2_32: Return a valid value for WSAIoctl SIO_IDEAL_SEND_BACKLOG_QUERY.
wininet: Clear cached credentials after the first failed attempt.
oledb32/tests: Free returned property set memory.
wininet: Use standard HTTP_ADD Flags.
msdasql: Implement ICommandProperties GetProperties.
msdasql: Implement ICommandProperties SetProperties.
msdasql: Implement IColumnsRowset GetAvailableColumns.
André Zwing (1):
ntdll: Fix ARM vs AMD64 typo.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (4):
server: Remove 32-bit-specific macOS #ifdefs.
server: Report errors on macOS when getting/setting debug registers.
server: Write to correct context struct when getting debug registers on macOS.
server: Use correct context struct and thread flavor when setting debug registers on macOS.
Connor McAdams (6):
uiautomationcore: Implement UiaReturnRawElementProvider.
uiautomationcore: Increment module reference count when starting provider thread.
uiautomationcore: Shutdown provider thread when all returned nodes are released.
uiautomationcore: Implement UiaNodeFromHandle.
uiautomationcore: Create UI Automation client thread.
uiautomationcore: Add tests for UiaNodeFromHandle.
David Kahurani (1):
win32u: Use allocator mechanism to allocate DC attributes.
Davide Beatrici (9):
winecoreaudio: Fix RegEnumKeyExW() call passing wrong unit for the buffer size.
winecoreaudio: Switch to string as device identifier, to match other drivers.
mmdevapi: Integrate winecoreaudio's additions in unixlib.h.
winecoreaudio: Drop "unix_" prefix in unixlib enum, apply it to the functions instead.
winecoreaudio: Adapt "create_stream_params" struct to mmdevapi's.
winecoreaudio: Adapt "release_stream_params" struct to mmdevapi's.
winecoreaudio: Adapt "release_render_buffer_params" struct to mmdevapi's.
winecoreaudio: Adapt "get_capture_buffer_params" struct to mmdevapi's.
winecoreaudio: Switch to mmdevapi's unixlib.h.
Eric Pouech (14):
winedump: Harden reading PDB string table stream.
dbghelp: Harden reading strings from string table.
dbghelp: Correctly handle the absence of IPI stream.
dbghelp: Support SymGetTypeInfo/TI_GET_LENGTH for variables.
dbghelp: Displacements are optional.
winedump: Print signed integers with %d.
dbghelp: Support depth relating to top function for inline sites.
dbghelp: Store all address ranges for inline sites.
d3d10core/tests: Fix erroneous color parameter.
d3d10core/tests: Introduce a clear_backbuffer_rtv() helper.
d3d11/tests: Introduce a clear_rtv() helper.
glu32: Fix GCC 12.2 warnings.
jscript: Fix GCC 12.2 warning.
avifil32: Fix GCC 12.2 warning (-Warray-bounds).
Etaash Mathamsetty (2):
ntoskrnl: KeSetTargetProcessorDpcEx stub.
ntoskrnl: Implement KeGetCurrentProcessorNumberEx.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (8):
include: Add IDOMStorageEvent and DispDOMStorageEvent interfaces.
mshtml: Move the MessageEvent construction to a helper.
mshtml: Implement StorageEvent and send it when clearing the storage.
mshtml: Send StorageEvents when setting an item.
mshtml: Send StorageEvents when removing an existing item.
mshtml/tests: Add tests for StorageEvents with parallel documents.
mshtml: Don't expose document.onstorage for IE9+ modes.
mshtml: Send StorageEvents to iframe windows properly.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.228.
Gijs Vermeulen (2):
dbghelp: Add SymSrvGetFileIndexInfo stub.
ntdll: Add RtlDosPathNameToRelativeNtPathName_U.
Hans Leidekker (15):
bcrypt: Support setting BCRYPT_CHAIN_MODE_CFB on keys.
bcrypt: Add full support for algorithm pseudo-handles.
bcrypt: Rename mode_id to chain_mode.
appwiz.cpl: Use BCrypt algorithm pseudo-handles.
appwiz.cpl: Use BCryptHash().
crypt32: Use BCrypt algorithm pseudo-handles.
dssenh: Use BCrypt algorithm pseudo-handles.
fusion: Use BCrypt algorithm pseudo-handles.
ncrypt: Use BCrypt algorithm pseudo-handles.
rsaenh: Use BCrypt algorithm pseudo-handles.
adsldp: Implement ADS_SEARCHPREF_SIZE_LIMIT.
adsldp/tests: Limit the number of search results.
adsldp/tests: Get rid of workarounds for Windows XP.
winhttp/tests: Fix test failure caused by expired client certificate.
secur32/tests: Fix test failure caused by expired client certificate.
Henri Verbeet (6):
wined3d: Fix the sub-resource index validation in wined3d_texture_update_overlay().
wined3d: Destroy the Vulkan command pool after cleaning up resources.
d3d9/tests: The expected scissor rect after a reset is equal to the back-buffer dimensions.
d3d11: Implement d3d11_input_layout_to_wined3d_declaration() on top of vkd3d_shader_parse_input_signature().
d3d11/tests: Move the is_warp_device() call out of the loop in check_format_support().
wined3d: Return bools from all return paths in wined3d_cs_map_upload_bo().
Jacek Caban (8):
urlmon/tests: Make BINDSTATUS_DOWNLOADINGDATA optional in test_URLDownloadToFile_abort.
wininet/tests: Collect persistent connection before running tests in test_async_HttpSendRequestEx.
wininet/tests: Don't send two HTTP responses for a single request in server_thread.
win32u: Introduce NtUserSendDriverMessage.
winemac: Use platform-independent types for user callback params.
winemac: Implement wow64 thunks.
winevulkan: Introduce VkVariable.
winevulkan: Use DECLSPEC_ALIGN instead of pshpack4.h.
Jacob Czekalla (3):
notepad: Show status bar.
notepad: Track and display line number and column.
notepad: Show goto dialog box.
Jinoh Kang (3):
include: Define atomic read/write helpers for 32-bit integers.
concrt140: Use atomic write for releasing threadsafe_queue spin lock.
msvcp90: Use atomic write for releasing threadsafe_queue spin lock.
Julian Klemann (9):
widl: Use "cinterface(IInspectable)" for IInspectable signature.
include/windows.devices.enumeration: Update file to newer formatting.
include/windows.devices.enumeration: Define IDeviceInformationStatics2.
windows.devices.enumeration: Replace STDMETHODCALLTYPE with WINAPI.
windows.devices.enumeration: Create private header file.
windows.devices.enumeration: Add IDeviceInformationStatics2 stub.
windows.devices.enumeration: Add DeviceWatcher stub.
windows.devices.enumeration: Implement Stopped handler for DeviceWatcher.
windows.devices.enumeration/tests: Add test for Stopped DeviceWatcher event.
Mohamad Al-Jaf (2):
include: Add winusb.h file.
winusb: Add WinUsb_Free stub.
Nikolay Sivov (26):
dwrite/layout: Use same logic for mapping both non-visual and visual runs.
dwrite/layout: Keep system font collection for each layout.
dwrite/layout: Use already resolved or last resort fonts when setting dummy line metrics.
dwrite/layout: Constify some internal helpers arguments.
dwrite/layout: Limit text window passed to MapCharacters() to the range of characters to map.
xmllite/reader: Improve xml declaration node parsing.
xmllite/writer: Implement WriteWhitespace().
xmllite/writer: Handle empty prefix and uri correctly in WriteStartElement().
xmllite/writer: Close open tag on WriteRaw().
xmllite/writer: Close open tag on WriteProcessingInstruction().
xmllite/writer: Implement WriteAttributes().
xmllite/writer: Add initial implementation of WriteNode().
xmllite/tests: Add some more tests for WriteStartElement().
xmllite/tests: Add a test for IsEmptyElement() on attributes.
xmllite/writer: Handle empty local name in WriteAttributeString().
xmllite/writer: Implement WriteNodeShallow().
xmllite/writer: Enable some more tests for WriteNode().
kernelbase: Add OpenFileMappingFromApp().
kernelbase: Add CreateFileMappingFromApp().
kernelbase: Add MapViewOfFileFromApp().
include: Add windows.system.threading.idl.
threadpoolwinrt: Add a stub module.
threadpoolwinrt: Add initial implementation of RunAsync.
include: Add windows.security.cryptography.idl.
cryptowinrt: Add a stub module.
cryptowinrt: Implement GenerateRandomNumber().
Owen Rudge (2):
secur32/tests: Add tests for LsaGetLogonSessionData.
secur32: Implement basic functionality for LsaGetLogonSessionData.
Paul Gofman (6):
advapi32: Add stub for PerfCloseQueryHandle().
advapi32: Add stub for PerfOpenQueryHandle().
advapi32: Add stub for PerfAddCounters().
advapi32: Add stub for PerfQueryCounterData().
crypt32: Support CRYPT_STRING_HEXRAW in CryptBinaryToStringA().
crypt32: Support CRYPT_STRING_HEX in CryptStringToBinary().
Piotr Caban (2):
msvcp90: Fix indentation in concurrent_vector_alloc_segment function.
msvcr100: Fix crash when setting scheduler in schedule_task_proc.
Rémi Bernon (66):
wmvcore/tests: Add some tests starting WM reader with NULL context.
winegstreamer: Wrap async reader op new_context in a union.
winegstreamer: Unconditionally assign new context for ASYNC_OP_START.
winegstreamer: Implement async reader asynchronous seeking.
winegstreamer: Keep start time in the async_reader struct.
winegstreamer: Check whether the reader is still running before user time.
winegstreamer: Factor async_reader waits using async_reader_get_wait_timeout.
winegstreamer: Introduce a new async_reader_wait_pts helper.
winegstreamer: Request the wm_reader stream only when necessary.
widl: Allow parameterized types in runtimeclass interfaces.
wineandroid.drv: Add missing DM_DISPLAYORIENTATION flag on display mode.
win32u: Rename get_full_mode variables and avoid using devmode directly.
win32u: Fill the local full_mode variable instead of using the modes array.
win32u: Introduce reference counting to struct adapter.
win32u: Avoid copying the modes array in NtUserChangeDisplaySettings.
win32u: Avoid unnecessary copy of adapter path and device name.
win32u: Pass adapter parameter to (read|write)_registry_settings.
win32u: Introduce a new internal WINE_DM_UNSUPPORTED display flag.
mf/tests: Split IMFTransform tests to transform.c.
mf/tests: Add some winetest context to MFT tests.
mf/tests: Split create_transform into check_(mft|dmo)_(enum|get_info).
mf/tests: Test AAC encoder MFT presence and media types.
mf/tests: Test AAC decoder MFT presence and media types.
mf/tests: Factor IMFTransform required attributes checks together.
maintainers: Assume maintainership of MF transforms.
winegstreamer: Support MFT_SET_TYPE_TEST_ONLY flag in the MF transforms.
winegstreamer: Avoid leaking attributes on video processor creation failure.
winegstreamer: Better implement H264 MFT GetAttributes and GetOutputStreamAttributes.
winegstreamer: Set MFT_OUTPUT_DATA_BUFFER_INCOMPLETE in wg_transform_read_mf.
winegstreamer: Stop setting flags on unexpected MF_E_TRANSFORM_STREAM_CHANGE.
winegstreamer: Check for unexpected format change in wg_transform_read helpers.
winegstreamer: Check WMA sample size before wrapping the sample.
winegstreamer: Remove unnecessary IMFTransform_GetInputStreamInfo calls.
winegstreamer: Create wg_sample from IMFSample within wg_transform_push_mf.
winegstreamer: Wake thread when async reader user clock is modified.
winegstreamer: Introduce a new async_reader_deliver_sample helper.
winegstreamer: Use a dedicated CS to serialize async reader commands.
winegstreamer: Check for already opened stream in wm_reader_open*.
winegstreamer: Get rid of the wm_reader_ops callbacks.
winegstreamer: Aggregate a IWMSyncReader in the async reader.
winegstreamer: Merge wm_syncreader.c into wm_reader.c.
mf/tests: Use separate variables for input / output samples.
mf/tests: Factor IMFTransform_ProcessOutput checks together.
mf/tests: Introduce a new load_resource helper.
mf/tests: Introduce a new dump_mf_sample helper.
mf/tests: Factor IMFSample checks in a check_mf_sample helper.
mf/tests: Factor IMFSample attributes checks in check_mf_sample.
mf/tests: Check all produced output IMFSample at the same time.
mf/tests: Rename transform frame dumps to BMP.
mf/tests: Dump image samples with a BMP header and RGB data.
winegstreamer: Query the IWMSyncReader2 interface in the async reader.
winegstreamer: Implement IWMSyncReader2_GetReadStreamSamples.
winegstreamer: Use IWMSyncReader2_GetReadStreamSamples in the async reader.
winegstreamer: Use IWMSyncReader2_SetReadStreamSamples in the async reader.
winegstreamer: Use IWMSyncReader2_Close in the async reader.
winegstreamer: Use IWMSyncReader2_Open in the async reader.
winegstreamer: Use IWMSyncReader2_OpenStream in the async reader.
winegstreamer: Use IWMSyncReader2_SetRange in the async reader.
winegstreamer: Avoid accessing NULL pointer if transform didn't provide a sample.
user32/tests: Cleanup sysparams WM_DISPLAYCHANGE tests.
win32u: Move enumeration of available modes out of graphics drivers.
winemac.drv: Stop using the cached_modes_mutex for get_default_bpp.
win32u: Factor out display_device lookup in separate helpers.
win32u: Use find_adapter_device_by_(name|id) helpers in find_adapter.
win32u: Lock display devices mutex in find_adapter.
win32u: Broadcast WM_DISPLAYCHANGE message on display settings change.
Santino Mazza (2):
include: Define REG_APP_HIVE and REG_PROCESS_PRIVATE.
ntdll/tests: Test for NtRegLoadKey roothandle parameter.
Shaun Ren (1):
msvcrt: Fix strncmp return value.
Witold Baryluk (4):
ntdll: Speed up NtQueryVirtualMemory(MemoryWorkingSetExInformation) by conditional page check.
ntdll: Do not use hardcoded page shift in NtQueryVirtualMemory(MemoryWorkingSetExInformation).
ntdll: Use pread in NtQueryVirtualMemory(MemoryWorkingSetExInformation).
ntdll: Keep pagemap file open after first use of NtQueryVirtualMemory(MemoryWorkingSetExInformation).
Zebediah Figura (16):
wined3d: Do not create larger staging buffers than necessary in adapter_vk_copy_bo_address().
wined3d: Remove a redundant variable.
wined3d: Factor out wined3d_texture_validate_sub_resource_idx().
wined3d: Mark managed textures as dirty if applicable in wined3d_device_evict_managed_resources().
d3d8: Remove an incorrect comment.
wined3d: Add a dirty region to the destination texture in wined3d_device_context_blt() if applicable.
wined3d: Pass a draw count of 1 to Vulkan indirect draw commands.
ntdll: Avoid comparing the result of pointer arithmetic to zero.
libwine: Avoid comparing the result of pointer arithmetic to zero.
ntdll: Calculate the necessary length after calling snprintf() in SystemWineVersionInformation.
win32u: Copy directly into the union pointer in unpack_message().
ntdll: Do not check for malloc() failure in get_initial_environment.
ntdll: Add a fast path for NtDeviceIoControlFile(INVALID_HANDLE_VALUE).
d3d10core/tests: Use a pixel shader that consumes SV_Position in test_pipeline_statistics_query().
d3d11/tests: Use a pixel shader that consumes SV_Position in test_pipeline_statistics_query().
d3d10core/tests: Ignore random WARP failures in test_pipeline_statistics_query.
Zhiyi Zhang (1):
kernelbase: Return system error codes in the ReadDirectoryChangesW() completion callback.
The Wine team is proud to announce that release 1.5 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:
- Support for various HLSL features and intrinsics.
- Typed unordered access view loads of multicomponent formats.
- Miscellaneous bug fixes.
The source is available from the following location:
https://dl.winehq.org/vkd3d/source/vkd3d-1.5.tar.xz
The current source can also be pulled directly from the git repository:
https://gitlab.winehq.org/wine/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.5
=======================
*** libvkd3d-shader
- New features for the HLSL source type:
- Improved support for HLSL object types (like e.g. `Texture2D') inside
structures and arrays.
- Implicitly sized array initialisers.
- Support for the dot() intrinsic function.
- Support for the ldexp() intrinsic function.
- Support for the lerp() intrinsic function.
- Support for the logical `and', `or', and `not' operators in shader model 4
and 5 targets.
- Support for casts from `bool' types in shader model 4 and 5 targets.
- Constant folding for integer bitwise operations.
- Constant folding for integer min() and max().
- New interfaces:
- The VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV compile option can be used to
specify the SPIR-V format to use for typed unordered access view loads.
When set to `Unknown', and the `shaderStorageImageReadWithoutFormat'
feature is enabled in the target environment, this allows typed loads from
multicomponent format unordered access views. If left unspecified, a R32
format will be used, like in previous versions of libvkd3d-shader.
The Wine development release 7.17 is now available.
What's new in this release:
- High Unicode planes support in DirectWrite.
- Some work towards Wow64 support in the Vulkan driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.17.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.17 (total 18):
- #11999 Endless Online game window appears as white texture
- #27243 Wiggles: All renderers are unsupported
- #34744 Earth 2150 fails to play .mp2 music (MPEG-1 Audio Decoder Filter needed, CLSID '{4a2286e0-7bef-11ce-9bd9-0000e202599c}')
- #37019 Multiple games fail to start due to D3D7 devices reporting unsupported HWTRANSFORMANDLIGHT capability (Summoner, Battle Realms: Zen Edition)
- #48986 Riot Vanguard (Riot Games) 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.KeAreAllApcsDisabled
- #51939 Riot Vanguard (Riot Games) v1.0.x.x 'vgk.sys' crashes on unimplemented function ntoskrnl.exe.IoCreateFileEx
- #52449 Liar-soft Visual Novel's not displaying video (audio plays fine)
- #52457 CNG Encryption Failure (BCryptEncrypt)
- #52709 Visual Studio Community 2022 installer crashes when trying to open it
- #53032 winedevice.exe segfaults on exit when built with GCC
- #53337 Ice Cream Calculator: unusually slow scrolling
- #53427 BioShock needs D3DX10PreprocessShaderFromMemory implementation
- #53486 foobar2000.exe with foo_out_upnp breaks sending audio stream to another upnp renderer after a short period of time
- #53544 msys2 block device fstat function depends on NtQueryVolumeInformationFile FileFsFullSizeInformation
- #53547 msys2 installer fails to check disk space: "harddisk_query_volume Unsupported volume query 3"
- #53560 Wizard101 fails to load in 7.15
- #53581 Construction Set Extender crashes
- #53601 UI rendering broken for multiple applications (7-Zip, WinRAR, foobar2000, built-in apps) in Wine 7.16 at a non-default DPI
----------------------------------------------------------------
Changes since 7.16:
Alexandre Julliard (32):
urlmon/tests: Run tests against the gitlab server to avoid redirects.
kernelbase: Fix error value for PE files without resource.
include: Simplify handling of va_list in debug printf functions.
include: Add va_list version of the debug printf functions.
gitlab: Rename build-all job to build-linux.
gitlab: Run CI scripts as non-root user.
include: Add a va_list version of the wine_dbg_log function.
include: Always use the standard varargs macros.
kernel32/tests: Don't assume that notifications are instantaneous.
ntdll/tests: Fix some race conditions.
shell32: Fix sharing modes when loading/saving link files.
unicode: Add data for high Unicode planes to the scripts table.
unicode: Add data for high Unicode planes to the linebreak table.
unicode: Add data for high Unicode planes to the bidi direction table.
unicode: Add data for high Unicode planes to the Arabic shaping table.
kernel32/tests: Don't test console flags that are modified by WINETEST_COLOR=1.
user32/tests: Remove checks that rely on the absolute position of a top-level window.
makedep: Make the handling of install rules more generic.
makefiles: Add install-test target to install winetest.exe.
winetest: Add helper functions for temp file handling.
winetest: Add extra quiet mode that only outputs data for failed tests.
user32/tests: Fix some assumption about absolute window positions.
version/tests: Mark a test that fails on Wow64 as todo.
urlmon/tests: Fix race condition in abort test.
winetest: Report success if the report has been submitted successfully.
gitlab: Run tests on Debian after the daily commit round.
gitlab: Always reset the git tree after a build.
gitlab: Fetch the full git tree with all tags.
ntdll/tests: Remove workarounds for old Windows versions.
ntdll: Add a helper function to allocate process parameters.
ntdll: Use a different alignment for initial process parameters.
shell32: Don't return an uninitialized pointer on error in enum_trash_items().
Alexandros Frantzis (1):
msvfw32: Use window name to determine if window is created using MCIWndCreate.
Alistair Leslie-Hughes (1):
winepulse: Use the predicate to terminate the connect cond_wait loop.
Andrey Gusev (2):
d3dx10: Implement D3DX10PreprocessShaderFromMemory().
user32: Implement DefRawInputProc.
Bernhard Kölbl (5):
windows.media.speech/tests: Remove some flaky refcount checks.
windows.media.speech: Add missing async_void_Release implementation.
include/windows.media.speechsynthesis.idl: Add missing interfaces to SpeechSynthesizerOptions runtimeclass.
windows.media.speech/tests: Add basic query tests for SpeechSynthesizerOptions.
windows.media.speech/tests: Skip SpeechRecognitionListConstraint tests on Win10 1709 x32 and below.
Brendan Shanks (1):
wow64: Don't re-enter cpu_simulate() from exception filter.
Chris Denton (1):
bcrypt: Add basic support for pseudo-handles.
Connor McAdams (7):
combase: Omit thread ID from the stub manager ipid for MTA objects.
include: Add more definitions to uiautomationcoreapi.h.
include: Add IRawElementProviderHwndOverride definition.
uiautomationcore: Retrieve HWND from HUIANODE provider.
uiautomationcore: Partially implement UiaGetRuntimeId.
uiautomationcore: Add support for UIA_RuntimeIdPropertyId.
uiautomationcore: Implement UiaHUiaNodeFromVariant.
Davide Beatrici (7):
mmdevapi: Integrate wineoss's additions in unixlib.h.
wineoss: Drop "oss_" prefix in unixlib enum, apply it to the functions instead.
wineoss: Adapt "test_connect_params" struct to mmdevapi's.
wineoss: Adapt "create_stream_params" struct to mmdevapi's.
wineoss: Adapt "get_frequency_params" struct to mmdevapi's.
wineoss: Adapt "get_position_params" struct to mmdevapi's.
wineoss: Switch to mmdevapi's unixlib.h.
Eric Pouech (8):
msvcrt: Correctly support space generation in pointers.
msvcrt: Improve support for template in methods.
msvcrt: Fix white space output for typecast operator.
msvcrt: Undecorate function signature as template argument.
msvcrt: Use enum to clarify post-processing actions.
msvcrt: Fix order of extended qualifiers and qualifiers.
include: Enable ANSI support in console for WINETEST_COLOR.
msvfw32: Test window creation with filename.
François Gouget (14):
mshtml/tests: Fix a spelling error in an ok() message.
dbghelp: Fix a couple of spelling errors in a comment.
mscvpdb: Fix a spelling error in a comment.
winspool.drv/tests: Fix the spelling of a variable name.
winealsa.drv: Make functions static where possible.
crypt32: Remove WINAPI on static functions where not needed.
winex11.drv: Make get_unix_file_name() static.
dinput: Remove WINAPI on static functions where not needed.
dinput/tests: Remove WINAPI on static functions where not needed.
windows.media.speech: Remove WINAPI on static functions where not needed.
winex11.drv: Use #ifdef to check config.h macros.
mshtml: Add trailing linefeeds to a couple of FIXME() messages.
tests: Allow marking unreliable tests as flaky.
msvcrt: Fix the spelling of a comment.
Gabriel Ivăncescu (5):
mshtml: Implement props for Storage by forwarding to the underlying storage.
mshtml: Implement deleting props for Storage.
mshtml: Do not enumerate hidden builtin props.
mshtml: Implement GetMemberName for custom props.
mshtml: Implement props enumeration for Storage.
Georg Lehmann (2):
winevulkan: Fixup 64bit enum aliases later to avoid using not yet defined values.
winevulkan: Update to VK spec version 1.3.226.
Gijs Vermeulen (1):
msvcp140: Add _ExceptionHolder::ReportUnhandledError stub.
Hans Leidekker (1):
bcrypt: Force symmetric key reset if necessary.
Henri Verbeet (1):
include: Avoid _t-suffixes.
Jacek Caban (10):
user32: Call winproc_init before dpiaware_init.
winevulkan: Use vk_unix_call in loader.c.
winevulkan: Use __wine_unix_call for checking Vulkan functions availability.
winevulkan: Get rid of unix_funcs.
winevulkan: Separate PE and Unix VkDevice structs.
winevulkan: Separate PE and Unix VkQueue structs.
winevulkan: Separate PE and Unix VkInstance structs.
winevulkan: Separate PE and Unix VkPhysicalDevice strucrts.
winevulkan: Wrap VkCommandPool on PE side.
winevulkan: Separate PE and Unix VkCommandBuffer structs.
Joel Holdsworth (4):
kernel32/tests: GetDiskFreeSpaceA/W test targetted at a real drive.
kernel32/tests: Added tests for GetDiskFreeSpaceA/W with volume GUID paths.
ntdll: Implemented NtQueryVolumeInformationFile FileFsFullSizeInformation.
mountmgr.sys: Implemented FileFsSizeInformation and FileFsFullSizeInformation volume queries.
Julian Rüger (1):
po: Update German translation.
Kevin Puetz (1):
winecrt0: Remove free_delay_imports.
Lauri Kenttä (2):
readme: Update Finnish translation.
po: Update Finnish translation.
Lorenzo Ferrillo (1):
comctl32: Support passing bitmap and icon resource ID as a string when creating static control.
Matteo Bruni (2):
d3dx10/tests: Add a test for D3DX10PreprocessShaderFromMemory().
windowscodecs/tests: Clean up after running test expected to fail.
Nikolay Sivov (29):
evr/filter: Add IMediaEventSink stub.
evr/filter: Add IMFTopologyServiceLookup stub.
evr/filter: Implement media type testing for QueryAccept().
evr/filter: Implement pin's connect/disconnect.
bcrypt/tests: Use CRT allocation functions.
mfsrcsnk/wave: Initialize buffer pointer in ProcessSample() (Coverity).
evr/filter: Initialize interface pointer in GetService() (Coverity).
win32u/hook: Fix a leak on earlier return (Coverity).
mshtml/tests: Fix a typo in test message (Coverity).
dwrite: Skip variation selectors in MapCharacters().
dwrite: Add NNBSP (202F) to Mongolian fallback range.
dwrite: Handle variation selectors 17-256 in MapCharacters().
wbemdisp: Use wcsdup() instead of internal helper.
msvcrt: Use size_t for the size in wcsdup().
msvcrt: Remove mention of obsolete libwine function.
prntvpt: Use CRT allocation functions.
wmiutils: Use CRT allocation functions.
dwrite: Fix spans length reported by AnalyzeScript() for characters above BMP.
evr/filter: Notify mixer and presenter on state changes.
dwrite: Handle higher planes when setting DWRITE_SCRIPT_SHAPES_NO_VISUAL.
dwrite/bidi: Prepare for characters above BMP.
dwrite: Handle higher planes characters in line breaking logic.
evr/filter: Initial implementation of sample rendering.
crypt32/tests: Use CRT allocation functions.
dssenh: Use CRT allocation functions.
dwrite/tests: Add some tests for glyph justification values.
dwrite: Set initial justification value for default shaper.
msidb: Use CRT allocation functions.
ping: Use CRT allocation functions.
Piotr Caban (6):
d3dx10: Factor out image format conversion function.
d3dx10: Use WIC functions to obtain info about DDS image.
d3dx10: Add support for texture cubes in D3DX10CreateTexture functions.
d3dx10: Don't check frame count in load_texture_data.
d3dx10: Add support for loading MipLevels data in load_texture_data.
d3dx10/tests: Improve cube textures data testing.
Robert Wilhelm (2):
scrrun: Test whether IFolder_get_Path() returns an absolute path.
scrrun: Store full path in folder object.
Rémi Bernon (42):
winemac.drv: Rename display modes cache variables.
winemac.drv: Invalidate mode cache when enum flags changes.
winemac.drv: Remove unnecessary macdrv_EnumDisplaySettingsEx declaration.
winemac.drv: Check for non-primary adapter earlier in macdrv_ChangeDisplaySettingsEx.
winemac.drv: Support getting non-primary adapter current display mode.
winemac.drv: Support enumerating non-primary adapters display modes.
wmvcore/tests: Use a constant for test.wmv duration.
wmvcore/tests: Test sync reader output settings read / write.
wmvcore/tests: Test async reader output settings read / write.
wmvcore/tests: Test that the callback thread is always the same.
wmvcore/tests: Test async reader compressed sample monotonic pts.
wmvcore/tests: Test async reader DedicatedDeliveryThread setting.
mf: Use a dedicated interface for sample allocator ready callbacks.
mf: Delay media session command processing when presentation is ending.
mf: Use the SESSION_FLAG_PENDING_COMMAND to delay further commands.
mf: Notify quality manager of topology change in session_set_topology.
win32u: Sort adapter display modes after reading from the registry.
win32u: Support interlaced and stretched display modes.
win32u: Move full display mode lookup out of graphics drivers.
winex11.drv: Remove unnecessary display mode flags checks.
winemac.drv: Remove unnecessary display mode flags checks.
win32u: Move display placement logic out of graphics drivers.
mf/tests: Move and split some helper code around.
mf/tests: Keep a presentation descriptor in the test source.
mf/tests: Allocate test callbacks dynamically and check refcounts.
mf/tests: Add helpers to wait and check media session events.
mf/tests: Test some IMFMediaSession_SetTopology error cases.
mf/tests: Test that IMFTopoLoader_Load doesn't set output nodes media types.
mf/tests: Test that IMFTopoLoader_Load sets transform nodes media types.
mf/tests: Test that IMFMediaSession_SetTopology sets output nodes media types.
include: Declare AudioResamplerMediaObject and MP3DecMediaObject class ids in mfidl.idl.
include: Remove unnecessary semicolons from wmcodecdsp.idl.
include: Add WMV encoder / decoder DMO class ids to wmcodecdsp.idl.
include: Add more WMV media subtypes to wmcodecdsp.idl.
winegstreamer: Rename async reader stream_thread to callback_thread.
winegstreamer: Avoid leaking async ops on release or multiple close.
winegstreamer: Leave WM reader CS on invalid output format.
winegstreamer: Leave async reader callback_cs on calloc error.
winegstreamer: Move open_stream / close_stream helpers around.
winegstreamer: Release callback and context in async_reader_close.
winegstreamer: Avoid waiting for callback thread on allocation failure.
winegstreamer: Query IWMReaderCallbackAdvanced interface in Open.
Santino Mazza (3):
advapi32/tests: Add tests for RegLoadAppKey.
ntdll: Create NtLoadKeyEx syscall stub.
ntdll: Move NtLoadKey implementation to NtLoadKeyEx.
Stefan Dösinger (5):
wined3d: Tell vkd3d_shader about dual source blending.
ddraw/tests: Avoid picking a large mode on Win10 in test_coop_level_mode_set_enum_cb.
ddraw/tests: Avoid picking a large mode on Win10 in find_different_mode_callback.
include/test.h: Don't use strcasecmp.
include/test.h: Don't use \e.
Zebediah Figura (8):
include: Add list_move_after() and list_move_before().
msvcrt: Add SEH annotations for sse2_memcpy().
rpcrt4: Make Ndr64AsyncClientCall() SEH-compatible.
rpcrt4: Add SEH annotations to Ndr64AsyncClientCall().
rpcrt4: Make NdrClientCall3() SEH-compatible.
rpcrt4: Add SEH annotations to NdrClientCall3().
rpcrt4: Make NdrClientCall2() SEH-compatible.
rpcrt4: Add SEH annotations to NdrClientCall2().
Zhiyi Zhang (6):
uxtheme/tests: Add theme tests.
comctl32/tests: Add themed scrollbar background tests.
uxtheme: Use the brush from WM_CTLCOLORSCROLLBAR to paint SB_CTL scrollbar tracks if present.
uxtheme: Do not draw parent background even if scrollbar arrows and thumb are transparent.
comctl32/datetime: Do not paint parent background when painting arrows.
win32u: Only cache font glyph metrics from GGO_METRICS.
Ziqing Hui (9):
d3dx10/tests: Add tests for D3DX10CreateEffectFromMemory.
d3dx10/tests: Add tests for D3DX10CreateEffectFromFile.
d3dx10/tests: Add tests for D3DX10CreateEffectFromResource.
d3dx10: Introduce create_effect().
d3dx10: Support effect creation for compiled shader.
d3dx10: Return E_FAIL in D3DX10CreateEffectFromFile for NULL file name.
d3dx10/tests: Test block compressed texture data which has more than one block line.
d3d10/tests: Test NULL device for D3D10CreateEffectFromMemory and D3D10CreateEffectPoolFromMemory.
d3d10: Handle invalid arguments for effect creation.
The Wine development release 7.16 is now available.
What's new in this release:
- Wow64 support in X11 driver.
- Session storage in MSHTML.
- Unicode regexp fixes in MSXML.
- IME improvements in Edit control.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.16.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.16 (total 20):
- #29685 Manifest generator (ecmangen) tool from Windows Platform SDK 7.1 crashes due to unhandled facet/regular expression in XML schema (escape sequence)
- #42857 Can't select a fixture in FreeStyler's fixture editor
- #43581 Microsoft Office 365 edition of Office 2013 installer fails with 'cache_entry_from_xsd_doc failed to parse doc' (non-standard '\u####' sequence)
- #46083 postgresql: "Unable to write inside TEMP environment variable path"
- #51601 Metal Gear Solid V: The Phantom Pain stucks on first chapter intro
- #52329 amazon games app crashes in wine 7.0 rc-3 (winsock?)
- #52657 Watch Dogs crashes on start
- #53174 StarCitizen launcher freeze due to heap space issue
- #53424 Scroll bar not working. was with up to 7.12?
- #53462 Obduction audio and subtitles for videos don't work
- #53468 Ragnarok Online's anti-cheat, Gepard, detecting macro usage (false-positive)
- #53472 Kerberos auth broken since 7.10
- #53497 d3d8:device & d3d8:device - test_resource_access() crashes in Wine
- #53542 Hog4PC 3.17 installer VBScript custom action needs IWshShell::Run to return signed type.
- #53545 Visual Novel Doukyuusei sound loop
- #53565 postgresql installer 9.3 needs support for default style argument in WshShell.Run
- #53566 Wine uninstaller fails to launch
- #53569 postgresql installer 9.3 needs correct string length returned from fso.GetTempName
- #53587 comctl32 GetWindowSubclass crash in Notepad++ (v8.4.3 and 8.4.4 only)
- #53589 Saints Row (2022) crashes on unimplemented function kernel32.dll.SetProcessDefaultCpuSets
----------------------------------------------------------------
Changes since 7.15:
Akihiro Sagawa (7):
mciqtz32: Don't stretch video destination for a popup or child window.
winmm/tests: Add MCI_DGV_WINDOW_STATE tests.
mciqtz32: Fix MCI_DGV_WINDOW_STATE behavior.
winmm/tests: Add MCI_DGV_WINDOW_TEXT tests.
mciqtz32: Fix MCI_DGV_WINDOW_TEXT behavior.
winmm/tests: Add more MCI_DGV_WINDOW_HWND tests.
mciqtz32: Fix MCI_DGV_WINDOW_HWND error handling.
Alexandre Julliard (9):
winetest: Use CRT allocation functions.
winetest: Support loading the list of tests from a file.
winetest: Disable the crash dialog in non-interactive mode.
winetest: Exit with error 3 when there are test failures.
mountmgr: Don't crash if connecting to dbus fails.
xslt: Import upstream release 1.1.36.
xml2: Import upstream release 2.10.0.
comctl32/tests: Use client coordinates for right click test.
gitlab: Add macOS build.
Alistair Leslie-Hughes (2):
dsdmo: Add Echo FX Support.
dsdmo: Add Compressor FX Support.
André Zwing (1):
wow64: Fix the ARM32 machine type.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (2):
shell32/tests: Test ExtractIcon() with an empty/invalid path.
shell32: Return NULL from ExtractIcon() for all error cases.
Davide Beatrici (18):
winealsa: Drop "alsa_" prefix in unixlib enum, apply it to the functions instead.
winealsa: Move common unixlib.h content into mmdevapi.
mmdevapi: Integrate winepulse's additions in unixlib.h.
winealsa: Fix WoW64 failure when calling get_position().
mmdevapi/tests: Fix fail messages referencing GetChannelCount() instead of GetChannelVolume().
mmdevapi/tests: Distinguish GetChannelCount() calls in test_volume_dependence() fail messages.
mmdevapi/tests: Fix typos in spatial audio fail messages.
mmdevapi/tests: Fix fail message referencing "Start" instead of "Stop" in test_session().
winepulse: Adapt "endpoint" struct to mmdevapi's.
winepulse: Adapt "create_stream_params" struct to mmdevapi's.
winepulse: Adapt "release_stream_params" struct to mmdevapi's.
winepulse: Adapt "release_render_buffer_params" struct to mmdevapi's.
winepulse: Adapt "get_capture_buffer_params" struct to mmdevapi's.
winepulse: Adapt "get_mix_format_params" struct to mmdevapi's.
winepulse: Adapt "get_device_period_params" struct to mmdevapi's.
winepulse: Adapt "is_started_params" struct to mmdevapi's.
winepulse: Adapt "get_prop_value_params" struct to mmdevapi's.
winepulse: Switch to mmdevapi's unixlib.h.
Etaash Mathamsetty (2):
ntoskrnl.exe: Implement KeAreAllApcsDisabled.
ntoskrnl: Implement IoCreateFileEx.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (16):
jscript: Implement fdexNameCaseInsensitive flag handling.
mshtml: Handle S_FALSE from IUri methods in localStorage and sessionStorage.
mshtml: Handle S_FALSE from IUri methods in Anchor Elements.
mshtml: Handle S_FALSE from IUri methods when checking targetOrigin.
mshtml: Don't navigate if GetDisplayUri failed.
mshtml: Handle S_FALSE from IUri methods when navigating.
mshtml: Handle S_FALSE from IUri methods in the NSAPI interfaces.
mshtml: Handle S_FALSE return values from IUri methods.
mshtml: Implement setItem() for sessionStorage.
mshtml: Implement getItem() for sessionStorage.
mshtml: Implement removeItem() for sessionStorage.
mshtml: Implement clear() for Storage.
mshtml: Implement key() for sessionStorage.
mshtml: Implement key() for localStorage.
mshtml: Implement length prop for Storage.
mshtml: Implement remainingSpace prop for sessionStorage.
Gijs Vermeulen (1):
kernel32: Add SetProcessDefaultCpuSets stub.
Hans Leidekker (3):
hnetcfg: Add INetFwRule stub.
hnetcfg: Return success from netfw_rules_Add() and netfw_rules_Remove().
bcrypt: Support ECDH_P384 key import/export.
Henri Verbeet (1):
mfreadwrite/reader: Only attempt to copy sample buffers from responses with non-NULL samples.
Huw D. M. Davies (2):
maintainers: Remove advice about Cc'ing patches.
wow64: Fix another ARM32 machine type.
Jacek Caban (39):
win32u: Move more logic from dispatch_win_proc_params.
win32u: Use a separate helper to send messages from win32u.
win32u: Pack messages sent directly from win32u.
user32: Pass window name as UNICODE_STRING to NtUserCreateWindowEx.
win32u: Use send_message_timeout for WM_CREATE and WM_NCCREATE.
win32u: Remove no longer needed unicode call_hooks argument.
wow64win: Implement wow64_NtUserCallWinProc.
wow64win: Implement wow64_NtUserMessageCall.
user32: Always use original parameter values in dispatch_send_message.
win32u: Use a client copy of windows hook lparam when calling hook procs.
wow64win: Implement NtUserCallWindowsHook thunk.
wow64win: Implement more user callbacks.
wow64win: Fix NtUserGetMouseMovePointsEx thunk.
wow64win: Return class atom from NtUserGetClassInfoEx thunk.
wow64win: Fix NtUserGetClipboardData thunk.
wow64win: Fix returning strings in NtUserGetIconInfo thunk.
wow64win: Fix NtUserGetMenuBarInfo thunk.
wow64win: Fix handling NULL input32 in NtUserSendInput.
wow64win: Support GCLP_MENUNAME in NtUserSetClassLongPtr thunk.
wow64win: Fix NtUserThunkedMenuItemInfo thunk.
wow64win: Fix output handling in NtUserTrackMouseEvent thunk.
wow64win: Use in-place conversion in NtUserDrawText thunk.
wow64win: Use LongToHandle for user handles conversion.
user32: Move dialog proc getting implementation from win32u.
user32: Move dialog proc setting implementation from win32u.
win32u: Fix handling uninitialized process_layout.
wow64win: Fix NtGdiDdDDICreateDevice thunk.
win32u: Move process initialization to NtUserInitializeClientPfnArrays.
winex11: Implement wow64 thunks.
user32: Support resource ID strings in CREATESTRUCT Unicode conversion.
user32: Support passing bitmap and icon resource ID as a string when creating static control.
user32: Pass resource ID as a string in DIALOG_CreateControls32.
user32: Remove no longer used DPI functions.
win32u: Move NtUserLogicalToPerMonitorDPIPhysicalPoint implementation from user32.
win32u: Move NtUserPerMonitorDPIPhysicalToLogicalPoint implementation from user32.
win32u: Introduce NtUserActivateOtherWindow.
user32: Remove no longer user get_hwnd_message_parent.
user32: Merge win.h into user_private.h.
user32: Build with nameless structs and unions.
Jakub Staroń (1):
ntdll: Implement RtlRestoreContext on i386.
Jiajin Cui (2):
win32u: Ensure that either the primary or secondary name is in English.
win32u: Don't allow a replaced font to be a replacement.
Jinoh Kang (3):
server: Use POLLIN instead of POLLPRI if the socket is in oobinline mode.
server: Use check_fd_events() instead of calling poll() directly.
server: Always prefer synchronous I/O in nonblocking mode.
Konstantin Romanov (1):
kerberos: Fix condition for create_context_handle in kerberos_SpInitLsaModeContext and kerberos_SpAcceptLsaModeContext.
Loïc Rebmeister (1):
wintypes: Add RoResolveNamespace stub.
Martin Storsjö (3):
configure: Downgrade -Wincompatible-function-pointer-types to a warning on ARM.
vkd3d: Fix the signature of vkd3d_spirv_build_op_type_image.
bcrypt: Fix the non-PE build after ECDH_P384 was added.
Matteo Bruni (1):
wined3d: Introduce WINED3DUSAGE_MANAGED.
Nikolay Sivov (27):
mfplat: Implement Write() for file streams.
mfsrcsnk: Add a stub dll.
mfsrcsnk/wave: Add a sink stub.
mfsrcsnk/wave: Add clock state callbacks.
mfsrcsnk/wave: Store media format structure.
mfsrcsnk/wave: Implement sample processing.
mfsrcsnk: Add WAVE sink class factory.
mfsrcsnk/wave: Add a type handler stub.
mfreadwrite/writer: Make sure output pointer is initialized.
mfreadwrite/writer: Implement AddStream().
mfreadwrite/writer: Partially implement BeginWriting().
mfreadwrite/writer: Start presentation clock on BeginWrite().
mfreadwrite/writer: Implement GetServiceForStream().
mfreadwrite/writer: Notify encoder on BeginWriting().
mfreadwrite/writer: Update some stats counters on WriteSample().
mfreadwrite/writer: Update some stats on MEStreamSinkRequestSample.
mfreadwrite/writer: Add sample/marker queue for each stream.
mfreadwrite/writer: Reference user callback.
mfreadwrite/writer: Implement PlaceMarker().
mfreadwrite/writer: Implement Flush().
evr: Add IMFGetService stub.
evr: Add IMFVideoRenderer stub to the filter.
evr: Implement lazy initialization with mixer and presenter instances.
evr/tests: Add a test to show that IMFVideoDisplayControl is accessible.
mfplat/tests: Add some tests for legacy media type conersion functions.
mfplat: Partially implement MFInitMediaTypeFromVideoInfoHeader().
mfplat: Partially implement MFInitMediaTypeFromAMMediaType().
Paul Gofman (3):
ddraw/tests: Add more tests for restoring complex surfaces.
ddraw: Restore full complex attachment chain in ddraw_surface7_Restore().
winex11.drv: Set correct cursor when setting cursor from another thread.
Piotr Caban (9):
msvcp60: Use 'MultiByteToWideChar' in __Fiopen implementation.
msvcp90: Use 'MultiByteToWideChar' in _Fiopen implementation.
winspool.drv: Ignore device name if printer handle is passed in DocumentProperties.
winspool.drv: Fix get_config_module when printer and driver names differ.
include: Update ddk/compstui.h header.
compstui: Add partial CommonPropertySheetUIW implementation.
compstui: Add CommonPropertySheetUI tests.
msvcp71: Use MultiByteToWideChar in _Fiopen implementation.
msvcr100: Set scheduler in tasks created with ScheduleTask function.
Robert Wilhelm (8):
wshom: Use signed type for property ProcessID in IWshExec.
wshom: Use signed type for property ExitCode in IWshExec.
wshom: Add test for default style arg in WshShell3_Run.
wshom: Support default style argument in IWshShell3::Run.
scrrun: Add test for correct string length returned from GetTempName.
scrrun: Correct string length returned from GetTempName.
scrrun: Avoid memory leak in error case.
scrrun: Added DateCreated property for IFile.
Rémi Bernon (22):
mf/tests: Add some topology loader tests with missing output type.
mf/tests: Add some MP3 decoder transform tests.
mf/tests: Add more topology loader converter and enumeration tests.
mf: Allow resolving topology with missing downstream current type.
mf: Only allow converter connection if decoder didn't accept down type.
mf: Only enumerate types for decoders / converter if down type is missing.
qasf: Implement IWMReaderCallbackAdvanced stub interface.
qasf: Implement ASF Reader filter buffer allocation.
qasf: Implement ASF Reader filter IWMReaderCallback_OnSample.
qasf: Implement ASF Reader SourceSeeking stubs.
qasf: Register ASF Reader filter media type.
win32u: Do not keep display modes driver extra in the registry.
win32u: Read registry or current mode when validation needs it.
win32u: Always copy devmode in validate_display_settings.
win32u: Use current mode position if desired mode doesn't specify it.
win32u: Only read/write valid mode fields from/to the registry.
mf/tests: Avoid creating now unused sink activate instances.
mf/tests: Try returning MF_E_NOT_INITIALIZED from GetCurrentMediaType.
mf: Support uninitialized downstream media types in topology loader.
maintainers: Add myself to multimedia sections.
qasf/tests: Test ASF Reader filter initial state and pins.
qasf/tests: Test ASF Reader filter threading wrt. ReceiveCanBlock.
Santino Mazza (1):
bcrypt: Move symmetric flags check to symmetric section.
Torge Matthies (2):
msvcr100: Factor out the mapping of a context to a scheduler.
msvcr100: Implement _StructuredTaskCollection::_Schedule and _Schedule_loc.
Zebediah Figura (13):
wined3d: Use wined3d_array_reserve() in wined3d_adapter_create_output().
d3d8/tests: Expand tests for valid pools in UpdateTexture().
d3d9/tests: Expand tests for valid pools in UpdateTexture().
d3d8/tests: Read back directly from the specified surface if possible.
d3d8/tests: Add more tests for dirty rect handling.
d3d9/tests: Add more tests for dirty rect handling.
d3d11/tests: Use winetest_push_context() to print explicit feature levels.
d3d11: Always return E_FAIL for formats which have no support flags.
d3d11: Implement D3D11_FEATURE_FORMAT_SUPPORT.
d3d8/tests: Add tests for D3DLOCK_NO_DIRTY_UPDATE with vertex buffers.
d3d9/tests: Add tests for D3DLOCK_NO_DIRTY_UPDATE with vertex buffers.
d3d8: Introduce a wined3d_usage_from_d3d() helper.
d3d9: Introduce a wined3d_usage_from_d3d() helper.
Zhiyi Zhang (24):
comctl32/tests: Add GetWindowSubclass() tests.
comctl32: Check reference data pointer before using it.
comctl32: Set reference data to zero on failure for GetWindowSubclass().
comctl32/tests: Add IME tests for edit control.
comctl32/edit: Implement EM_SETIMESTATUS.
comctl32/edit: Implement EM_GETIMESTATUS.
comctl32/edit: Let DefWindowProcW() handle WM_IME_CHAR.
comctl32/edit: Handle IME composition result string only when EIMES_GETCOMPSTRATONCE is set.
user32/tests: Link directly to imm32.
user32/tests: Add IME tests for edit control.
user32/edit: Implement EM_SETIMESTATUS.
user32/edit: Implement EM_GETIMESTATUS.
user32/edit: Let DefWindowProcA/W() handle WM_IME_CHAR.
user32/edit: Handle IME composition result string only when EIMES_GETCOMPSTRATONCE is set.
comctl32/tests: Test that changing focus for edit controls doesn't repaint immediately.
comctl32/edit: Don't repaint immediately when getting focus.
comctl32/edit: Don't repaint immediately when losing focus.
gdi32/tests: Add more tests for GetTextMetrics().
win32u: Choose a smaller ppem to avoid exceeding the requested font height.
ddraw/tests: Add a comment to note that tests in d3d.c are deprecated.
ddraw/tests: Move the capability tests for enumerated devices.
ddraw/tests: Add more capability tests for enumerated devices.
ddraw: Don't report unsupported device capabilities in d3d7_EnumDevices().
ddraw: Don't report unsupported device capabilities in d3d3_EnumDevices().
The Wine development release 7.15 is now available.
What's new in this release:
- Command lists in Direct2D.
- RSA encryption.
- Initial Wow64 thunking in WIN32U.
- Optional support for colors in test output.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.15.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.15 (total 22):
- #40444 Find doesn't jump to a found item in WinSCP when editing a file
- #47057 Call of Cthulhu fails to completely load levels and trigger cutscenes
- #49461 Gridrunner Revolution: sound effects stop working after a while
- #49678 Lost Chronicles of Zerzura hangs on startup
- #49692 Multiple applications need a Media Foundation media source implementation
- #50131 Remothered: Tormented Fathers crashes on video loading
- #50546 Persona 4 Golden requires notification message XACTNOTIFICATIONTYPE_WAVEBANKPREPARED to play sounds.
- #50593 Sforzando Sample Player don't draw text, needs font fallback support
- #52448 Multiple visual novels display videos inside separate ActiveMovie window (Hoshi Ori Yume Mirai)
- #52534 ListView: multi select never sends LVN_ODSTATECHANGED
- #52601 The Settlers V: crashes when starting
- #52610 Memory corruption in PE build, when using FIXME in krnl386.exe __wine_vxd_open() function
- #52933 windows.media.speech:speech: The IAsyncInfo_Close() tests fail on Windows
- #52957 Invisible pop-ups text in SeaMonkey 2.53.12
- #53123 ListView: Ctrl+Shift+LMouse multiselect on LVS_OWNERDATA listviews erroneously sends LVN_ODSTATECHANGED
- #53196 foobar2000: Crashes randomly when opening items in menu bar while playing audio
- #53275 emule crashes with ntdll_set_exception_jmp_buf error
- #53364 Mouse does not move scroll bar in multiple applications (Framemaker 8, Audacity, Visio 2003)
- #53366 Can't compile AES-CCM support prior to GNUTLS version 3.4.0
- #53483 CFB implementation partially missing
- #53487 Keyboard input doesn't work for a multiple games (Witcher 3, Just Cause 4, Unravel Two)
- #53495 "HP" text does not render in Vestaria Saga Non-Visual Battles
----------------------------------------------------------------
Changes since 7.14:
Akihiro Sagawa (13):
winmm/tests: Add tests for visibility of video window.
mciqtz32: Don't hide video window when stopping.
winmm/tests: Add tests for window style of video window.
winmm/tests: Add tests for dimensions of video window.
winmm/tests: Add tests for destination of video window.
mciqtz32: Correct video window behavior by creating default window.
mciqtz32: Fix MCI_DGV_WHERE_WINDOW behavior.
mciqtz32: Reset the video size when changing video destination.
mciqtz32: Hide the default video window when switching to another one.
mciqtz32: Show the default video window when switching from another one.
ieframe/tests: Add more IPropertyStorage read/write tests.
ieframe/tests: Add a test for IPropertySetStorage::Open with STGM_WRITE.
ieframe: Allow STGM_WRITE in IPropertyStorage::Open.
Alexandre Julliard (4):
faudio: Import upstream release 22.08.
mpg123: Import upstream release 1.30.2.
tiff: Import upstream release 4.4.0.
gitlab: Disable building image in forks.
Alistair Leslie-Hughes (9):
xactengine3_7: Add helper function to add entries.
xactengine3_7: Map SoundBank interfaces.
xactengine3_7: Map IXACT3Cue interfaces.
xactengine3_7: Map IXACT3Wave interfaces.
xactengine3_7: Record context for each notications.
xactengine3_7: Implement callback for supported messages.
xactengine3_7: Return error on invalid notification value.
sapi: Add AudioInput registry key.
include: Add coclass SpMMAudioEnum.
Angelo Haller (6):
comctl32/listview: Send one deselect all items notification for LVS_OWNERDATA listviews.
comctl32/listview: Move sending LVN_ODSTATECHANGED notifications to a function.
comctl32/listview: Send LVN_ODSTATECHANGED only for LVS_OWNERDATA listviews.
comctl32/listview: Send LVN_ODSTATECHANGED notification for LVS_OWNERDATA listview on selection changes.
comctl32/listview: Don't send LVN_ODSTATECHANGED for empty ranges.
comctl32/tests: Add more ownerdata listview tests.
Arkadiusz Hiler (1):
winebus.sys/sdl: Use the 8 absolute axes supported by DIJOYSTATE2.
Brendan Shanks (4):
ntdll: Use correct mcontext struct on macOS under Wow64.
wow64: Copy floating point and extended registers in copy_context_64to32.
ntdll: Fix floating point and extended registers not being restored under Wow64.
wow64cpu: Use -norelay for BTCpuSimulate.
Connor McAdams (2):
include: Add UI Automation Event ID definitions.
include: Add UI Automation COM client interface definitions.
David Gow (2):
quartz: Open files with FILE_SHARE_DELETE in FileSource.
quartz: Test: Files opened with FileSource can be deleted.
Dmitry Timoshkov (2):
ntdll/tests: Fix compilation with PSDK.
ntdll/tests: Add a bunch of tests for creating kernel objects with the names containing '\0'.
Eric Pouech (3):
shlwapi/tests: Use wide strings literals.
urlmon/tests: Don't use read as a global variable.
test.h: WINETEST_COLOR=auto only outputs colors to a TTY.
Gabriel Ivăncescu (10):
mshtml: Implement window.matchMedia() with MediaQueryList stub.
mshtml: Implement MediaQueryList's media prop.
mshtml: Implement MediaQueryList's matches prop.
mshtml: Semi-implement non-string primitive data for postMessage.
mshtml: Implement targetOrigin for postMessage.
mshtml: Forward Document's Invoke to InvokeEx.
mshtml: Implement window.location setter with a hook.
mshtml: Implement window.setTimeout with a hook.
mshtml: Implement document.location with a hook.
mshtml: Return DISP_E_MEMBERNOTFOUND when not finding member by DISPID.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.224.
Hans Leidekker (3):
bcrypt: Add AES CFB chaining mode support.
bcrypt: Add compatibility defines for AES CFB8.
nsiproxy.sys: Support media connect state on Linux.
Jacek Caban (37):
user32: Forward more scroll bar messages to win32u.
win32u: Introduce NtUserGetWindowSysSubMenu.
user32: Store MDI client info on client heap.
user32: Use win32u to get and set MDI client info.
user32: Use GetClientRect in EDIT_WM_ContextMenu.
win32u: Introduce NtUserGetChildRect.
user32: Remove USER_CheckNotLock.
win32u: Move register_desktop_class implementation from user32.
user32: Always use 64-bit cbWndExtra for edit control.
win32u: Move builtin classes registration from user32.
win32u: Store DPI awareness in ntuser_thread_info.
win32u: Store wmchar_data in ntuser_thread_info.
win32u: Move msg_source and recursion_count to ntuser_thread_info.
win32u: Store receive_flags in ntuser_thread_info.
user32: Don't include ntuser_private.h.
win32u: Use platform-independent layout for DC_ATTR.
win32u: Support wow64 in NtAllocateVirtualMemory calls.
win32u: Use platform-independent layout for ntuser_thread_info.
win32u: Store thread info in 64-bit TEB on wow64.
win32u: Use NtUserMessageCall for NtUserSpyGetMsgName.
ntdll: Introduce RtlSetLastWin32Error for unixlibs that additionally sets 32-bit error on wow64.
include: Use RtlSetLastWin32Error in server.h.
win32u: Use RtlSetLastWin32Error.
winex11: Use RtlSetLastWin32Error.
wineandroid: Use RtlSetLastWin32Error.
winemac: Use RtlSetLastWin32Error.
wow64win: Set last error in 32-bit TEB in wow64 thunks.
wow64: Directly use CPU area in Wow64KiUserCallbackDispatcher for I386_CONTEXT.
wow64: Preserve TEB exception frame in Wow64KiUserCallbackDispatcher.
wow64win: Add initial user callbacks support.
win32u: Use NtUserCallMessage for passing packed winproc result.
wow64win: Implement more user thunks.
wow64win: Implement more user callbacks.
wow64win: Handle bitmaps and pens in wow64_NtGdiExtGetObjectW.
wow64win: Always set output bits pointer in wow64_NtGdiCreateDIBSection.
wow64win: Fix error handling in wow64_NtUserGetMessage.
wow64win: Fix NULL msg handling in wow64_NtUserPeekMessage.
Nikolay Sivov (40):
d2d1/tests: Use test context for command list test.
d2d1: Add a command list object stub.
d2d1: Allow setting command list as a target.
include: Fix ID2D1CommandSink definition.
d2d1/commandlist: Implement basic state recording commands.
d2d1/commandlist: Implement clipping commands recording.
d2d1/commandlist: Implement Clear() command.
d2d1/commandlist: Implement DrawLine() command.
d2d1/commandlist: Implement DrawGeometry() command.
d2d1/commandlist: Implement DrawRectangle() command.
d2d1/commandlist: Implement FillGeometry() command.
d2d1/commandlist: Implement FillRectangle() command.
d2d1/commandlist: Implement SetTextRenderingParams() command.
d2d1/commandlist: Handle recording in RestoreDrawingState().
d2d1/commandlist: Implement DrawGlyphRun() command.
d2d1/commandlist: Implement DrawBitmap() command.
d2d1/commandlist: Implement FillMesh() command.
d2d1: Add a helper for DrawGlyphRun().
d2d1/commandlist: Update text rendering params on DrawGlyphRun().
dwrite: Fix stretch value validation in CreateTextFormat().
include: Add newer D2D command sink interface definitions.
d2d1: Implement setting primitive blend mode.
d2d1/commandlist: Fix primitive blend playback.
d2d1: Remove warning message for glyph run description.
dwrite: Add ff00-ffef range to the fallback configuration.
d2d1: Add parameter validation to FillOpacityMask().
d2d1/commandlist: Implement FillOpacityMask() command.
dwrite/fallback: Consider character size for returned mapped length.
dwrite/fallback: Make sure all consecutively mapped characters belong to the same mapping.
include: Fix ID2D1CommandSink::DrawImage() prototype.
d2d1/commandlist: Implement DrawImage() command.
d2d1/commandlist: Implement layer commands.
dwrite/tests: Add a helper to create analyzer instance.
dwrite/fallback: Add mappings for some CJK ranges.
mfplat: Add some attributes related to transcoding.
dwrite/fallback: Fill in some more fallback ranges for various scripts.
dwrite/fallback: Add Georgian and Armenian ranges.
mf: Add archive sink creation exported functions.
mfreadwrite/writer: Create archive sink automatically when writer is created from url/bytestream.
mfreadwrite/writer: Create output stream if it wasn't provided.
Olivier F. R. Dierick (1):
secur32: Define AES-CCM ciphers missing from GNUTLS before 3.4.0.
Paul Gofman (4):
winhttp: Avoid invalid memory access in netconn_resolve().
ntdll: Also initialize icmp_over_dgram in sock_read().
ntdll: Remove redundant assignment in fixup_icmp_over_dgram().
d3d11: Validate layout description in d3d_input_layout_create().
Rafał Harabień (1):
include: Allow printing test failure messages in bright red.
Robert Wilhelm (1):
wshom: Use signed type for ExitCode in IWshShell3::Run().
Rémi Bernon (46):
mf/tests: Add required SAR media type attributes tests.
mf: Return MF_E_NO_MORE_TYPE from AudioRenderer GetMediaTypeByIndex.
winegstreamer: Set the MF_MT_AUDIO_AVG_BYTES_PER_SECOND attribute.
mf: Implement SAR media type required attributes checks.
mf: Increase min_buffer_size to MF_MT_AUDIO_AVG_BYTES_PER_SECOND.
winegstreamer: Use the correct name for WMADecMediaObject DMO.
winex11.drv: Use a local desired_rect variable when placing displays.
winex11.drv: Use DM_POSITION field bit to mark placed displays.
winex11.drv: Update devmode dmPosition instead of new_rect.
winex11.drv: Use DEVMODEW instead of x11drv_display_setting.
winex11.drv: Iterate display settings using dmDriverExtra.
winex11.drv: Constify set_current_mode DEVMODEW parameter.
wmvcore/tests: Add more IWMReader_(Open|Start|Stop|Close) async checks.
winegstreamer: Move IWMReaderCallbackAdvanced *callback_advanced to a local variable.
winegstreamer: Leave the stream CS while waiting for a sample.
winegstreamer: Make IWMReader state transitions asynchronous.
gitlab: Move build steps to the build-all script.
gitlab: Build every commit in a merge request.
mf/tests: Rotate test videos 90° to better show vertical flips.
mf/tests: Add video processor conversion tests.
mf/tests: Add topology loader tests with video formats.
winegstreamer: Better implement Video Processor MFT.
mf: Use the MFT_CATEGORY_VIDEO_PROCESSOR category for converters.
mf: Propagate missing attributes to downstream media types.
win32u: Ignore DM_POSITION mode fields for available modes.
winemac.drv: Split best display mode lookup to a separate helper.
wineandroid.drv: Return early on EnumDisplaySettingsEx error.
win32u: Split EnumDisplaySettingsEx into CurrentDisplaySettings entry.
wineandroid.drv: Add missing DM_DISPLAYORIENTATION | DM_POSITION flags.
winemac.drv: Avoid setting DM_POSITION on enumerated modes.
server: Avoid reallocating rawinput device array with zero size.
win32u: Avoid reallocating rawinput device array with zero size.
win32u: Send the total number of registered devices to the server.
win32u: Avoid invalid access when registered device alloc failed. (Coverity).
wmvcore/tests: Add some IWMOutputMediaProps_SetMediaType tests.
winegstreamer: Implement IWMOutputMediaProps_SetMediaType.
qasf: Implement ASF Reader filter pin_query_accept.
qasf: Implement ASF Reader filter pin_get_media_type.
qasf: Implement ASF Reader filter pin DecideBufferSize.
winegstreamer: Use a wg_audio_format switch rather than array indexes.
winegstreamer: Use a wg_video_format switch rather than array indexes.
qasf: Wait for IWMReader_Open to complete in ASF Reader Load.
qasf: Implement ASF Reader filter init_stream and cleanup_stream.
qasf: Start/stop the WM reader in asf_reader_init/cleanup_stream.
qasf: Configure WMReader stream format in asf_reader_init_stream.
qasf: Configure WMReader stream selection in asf_reader_init_stream.
Santino Mazza (4):
ncrypt/tests: Test for NCryptEncrypt with RSA and PKCS1 padding.
bcrypt/tests: Test for BCryptEncrypt with RSA keys.
bcrypt: Initial RSA encryption implementation.
ncrypt: Initial implementation for NCryptEncrypt.
Shaun Ren (10):
webservices: Handle in/out parameters properly in WsCall.
webservices: Write the correct headers when a request message is addressed.
webservices: Implement error strings.
webservices: Support faults in error.
webservices: Add support for reading WS_FAULT values.
webservices: Detect when a message contains a fault in read_envelope_start.
webservices: Fill in type description for WS_FAULT_TYPE if necessary in WsReadBody.
webservices/tests: Add a fault reading test for WsReadBody.
webservices: Address the request message in WsCall.
webservices: Add support for receiving fault messages.
Stefan Dösinger (2):
ddraw: Don't account video memory for sysmem surfaces' draw textures.
ddraw/tests: Add some video memory accounting tests.
Tim Clem (3):
ntdll: Fix leak of mach_thread_self port.
ntdll: Fix leak of mach_host_self port.
kernelbase: Don't assume the length of the process image name.
Zebediah Figura (14):
wined3d: Factor out mode_matches_filter().
wined3d: Build a list of wined3d_display_mode structures in wined3d_output_get_mode[_count]().
d3d9: Cache the output mode list.
d3d8: Cache the output mode list.
dxgi: Build the device list only once in dxgi_output_get_display_mode_list().
wined3d: Build the device list only once in wined3d_output_find_closest_matching_mode().
include: Print "succeeded inside todo block" messages in colour.
include: Print "test marked todo" messages in colour.
include: Print "test skipped" messages in colour.
include: Print "test succeeded" messages in colour.
winhttp/tests: Add some more tests for newline handling in custom header parsing.
winhttp: Allow custom headers to be separated by any sequence of \r and \n.
winhttp: Pass a length to parse_header().
winhttp: Don't make a copy of the string in add_request_headers().
Zhiyi Zhang (4):
include: Add IMediaParams definitions.
dsdmo: Add IMediaParams stub interface.
winegstreamer: Always check the return value from mf_media_type_from_wg_format().
winegstreamer: Trace mf_media_type_from_wg_format_{audio|video}().
The Wine development release 7.14 is now available.
What's new in this release:
- More progress on syscall interface for USER32.
- Improved font fallbacks in DirectWrite.
- Some fixes for socket shutdowns.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/7.x/wine-7.14.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.14 (total 19):
36711 Sid Meier's Civilization IV crashes while loading saved game (GOG.com complete, Colonization, Warlords, Beyond the Sword)('winetricks -q msxml3' is a workaround)
39987 Multiple applications need 'shell32.SHOpenFolderAndSelectItems' implementation to open explorer window with specified items in particular folder selected (Firefox 42.0, Windows 95 Electron app)
50624 Waves Central 12.0.5 fails to start: __call__ pywintypes.error: (1336, 'AddAccesAllowedAce', 'Invalid ACL.')
51616 Unravel Two crashes on intro
52594 Rust applications using the tokio library abort with "failed to park" error
52673 Missing IShellItemImageFactory implementation for ShellItem.
52773 wine prefix is not to ready to use after running wineboot
52815 Adobe Digital Editions 2.0.1 hangs during install
53058 Incorrect socket reconnect behavior for DGRAM sockets
53105 Certain specific dialogue boxes are permanently fullscreen
53106 Icons not rendering properly in the window titlebar
53189 Cheat Engine crashes when opening a drop-down menu
53289 Unimplemented richedit ITextDocument::Undo and ITextDocument::Redo causes extraneous undo entries
53307 World of Tanks broken with wined3d's Vulkan renderer
53310 Roblox Fails With HttpSendRequest
53348 Can't input anything with CJK input method (fcitx).
53349 Sigma Data Center fails to sync with Sigma Cloud
53372 Total War Shogun 2 spews RtlLeaveCriticalSection() section is not acquired errors in 3D scenes.
53411 Wrong font is used in NtUserDrawCaptionTemp()
----------------------------------------------------------------
Changes since 7.13:
Alexandre Julliard (8):
README: Mention Gitlab.
winebuild: Add GNU stack note also to the undefined symbols file.
gitlab: Initial version of the Gitlab CI scripts.
gitlab: Add CI script to create a release.
makefiles: List all headers in the makefile.
makefiles: Avoid adding the same source multiple times.
makefiles: Work directly with Makefile.in names in make_makefiles.
makefiles: Look for source files in the makefile before trying to open them.
Alistair Leslie-Hughes (4):
ntdll: Check return parameter before use.
ntdll: RtlFirstFreeAce only return FALSE on error.
ntdll/tests: Add RtlFirstFreeAce tests.
xactengine3_7: Remove entry after FAudio Destroyed call.
Arkadiusz Hiler (7):
dinput: Set correct object names for dials and sliders.
dinput: Get rid of unused parameter in match_device_object.
dinput/tests: Use helper for checking device object instances.
dinput: Enumerate user format object forwards.
dinput: Use GUID_Slider type for dials.
dinput/tests: Assert that we can't get info about the third slider with c_dfDIJoystick2.
dinput/tests: Test GetObjectInfo() with three sliders and a proper format.
Brendan McGrath (2):
qedit/tests: Test adding a reference to the sample from ISampleGrabberCB::SampleCB().
qedit: Do not force the sample to be freed in SampleGrabber_callback().
Brendan Shanks (8):
wow64: Respect the large address aware flag.
ntdll: Allow changes to DEP flags under Wow64.
wow64: Allow setting NtSetInformationProcess(ProcessExecuteFlags).
ntdll/tests: Add tests for the address limit of NtQueryVirtualMemory(MemoryBasicInformation).
wow64: Return error from NtQueryVirtualMemory(MemoryBasicInformation) for a too-large address.
winedbg: Implement GDB qGetTIBAddr query.
winedbg: Prefer thread name from GetThreadDescription() in 'info thread' listing.
winedbg: Prefer thread name from GetThreadDescription() in GDB proxy mode.
Claire Girka (5):
setupapi: Add support for SPDRP_BASE_CONTAINERID.
ntoskrnl/tests: Add test for getting SPDRP_BASE_CONTAINERID from PnP driver.
hidclass: Improve error handling in get_device_id.
hidclass: Expose ContainerID from underlying driver.
ntoskrnl: Set device ContainerID from driver.
Connor McAdams (14):
include: Define UI Automation Property GUIDs.
uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_Property GUIDs.
uiautomationcore: Add stub UiaGetPropertyValue implementation.
uiautomationcore: Implement UiaNodeFromProvider.
uiautomationcore: Implement UiaNodeRelease.
include: Add CUIAutomationRegistrar definition.
uiautomationcore/tests: Add basic UIA property tests for UiaGetPropertyValue.
uiautomationcore: Implement UiaGetPropertyValue.
uiautomationcore: Add support for UIAutomationType_Int properties.
uiautomationcore: Add support for UIAutomationType_Element properties.
uiautomationcore: Add support for ProviderOptions_UseComThreading flag.
uiautomationcore: Add support for UIAutomationType_Double properties.
uiautomationcore: Add support for UIAutomationType_Bool properties.
uiautomationcore: Add support for UIAutomationType_String properties.
David Kahurani (1):
riched20: Remove duplicate code.
Eric Pouech (9):
msvcrt: Fix demangling of RTTI type descriptor.
msvcrt: Add support for C++11 operator "" in demangling.
msvcrt: Fix and cleanup undecoration of templatized functions and methods.
msvcrt: Add support for restrict and unaligned qualifiers in demangling.
msvcrt: Fix demangling of variables being an array.
winedbg: Do proper error management when reallocating memory.
winedbg: Use CRT allocation functions.
winedbg: Store result of types_get_info(TI_GET_TYPE) in dbg_type.
winedbg: Synthetize pointer to type when not available.
François Gouget (10):
advapi32/tests: Fix the print format, LARGE_INTEGER is signed.
urlmon/tests: Trace why the test file creation failed.
dbghelp: Fix the spelling of a comment.
ntdll: Fix the spelling of a comment.
win32u: Fix the spelling of a variable name.
urlmon/tests: Fix the spelling of a trace() message.
include: Fix the spelling of some comments.
ws2_32/tests: Add comments to help identify the hint test indices.
include: Add some SPI_ constants.
dinput/tests: Add a trailing linefeed to some ok() calls.
Gabriel Ivăncescu (27):
mshtml: Use a table to construct the different event types by their interface.
mshtml: Allocate UI events via the types table.
mshtml: Allocate Mouse events via the types table.
mshtml: Allocate Keyboard events via the types table.
mshtml: Remove FIXME comment from MessageEvent in event_types.
mshtml: Fix copy-paste mistake in test message.
mshtml: Implement ProgressEvent's lengthComputable prop.
mshtml: Implement ProgressEvent's loaded prop.
mshtml: Implement ProgressEvent's total prop.
mshtml: Inform Gecko of progress done via OnProgress.
mshtml: Implement getAttributeNS for Elements.
mshtml: Implement setAttributeNS for Elements.
mshtml: Implement removeAttributeNS for Elements.
mshtml: Implement hasAttributeNS for Elements.
mshtml: Implement lastElementChild for Elements.
mshtml: Implement nextElementSibling for Elements.
mshtml: Implement previousElementSibling for Elements.
mshtml: Implement childElementCount for Elements.
mshtml: Implement HTMLTitleElement's text property.
mshtml: Fix string leak on NamespaceError.
mshtml: Implement responseType prop for XMLHttpRequest.
mshtml: Implement "text" type response for XMLHttpRequest.
include: Add IHTMLDOMNode3 to the HTMLDOMNode dispinterfaces.
include: Add DOMDocumentType dispinterface and coclass.
mshtml: Implement document.doctype.
mshtml: Implement DocumentType node's name prop.
mshtml: Handle lack of window in methods for detached documents.
Giovanni Mascellani (5):
xactengine3_7/tests: Test notifications when loading a wave bank.
faudio: Import upstream commit e3c444e4f819d2364a6adb0ae73b1d01185b1e93.
xactengine3_7: Forward wave bank notifications to the application.
mfplat/tests: Mark some tests as broken on Win 8 and 10 v1507.
mfplat/tests: Merge and reorganize image format tests.
Hugh McMaster (12):
regedit: Use a separate dialog proc function for string data types.
regedit: Pass updated REG_SZ and REG_EXPAND_SZ data via 'struct edit_params'.
regedit: Pass updated REG_MULTI_SZ data via 'struct edit_params'.
regedit: Use 'struct edit_params' with read_value().
regedit: Update binary data via update_registry_value().
regedit: Set the dlgproc value name via a function, not a global.
regedit: Update the listview item without reloading the value data.
gitlab: Build-Depend on libfreetype-dev.
regedit: Free temporary buffer when working with REG_DWORD and REG_QWORD values.
regedit: Use zero as a default for REG_DWORD and REG_QWORD values.
regedit: Use zero as a REG_DWORD/REG_QWORD default if edit control is empty.
regedit: Limit REG_DWORD/REG_QWORD input length by value type and format.
Jacek Caban (43):
user32: Avoid using NtUserDispatchMessage in DispatchMessage.
win32u: Remove no longer needed NtUserDispatchMessageA.
win32u: Avoid using client callbacks for NtUserSendMessage.
ntdll: Suppress callback exceptions in KiUserCallbackDispatcher.
win32u: Use syscall interface for NtUserDispatchMessage.
win32u/tests: Add tests for catching exceptions from timer proc.
win32u: Use syscall interface for NtUserMsgWaitForMultipleObjectsEx.
win32u: Use syscall interface for NtUserMessageCall and NtUserTrackPopupMenuEx.
win32u: Get rid of no longer needed NtUserSetCallbacks.
win32u: Use syscall interface for NtUserGetMessage.
win32u: Use syscall interface for message functions.
winex11: Use __wine_unix_call.
wineandroid: Use __wine_unix_call.
winemac: Use __wine_unix_call.
win32u: Use syscall interface for more input functions.
win32u: Use syscall interface for more user painting functions.
win32u: Use syscall interface for NtUserCallHwnd and NtUserCallHwndParam.
user32: Use syscall interface for NtUserCall* functions.
win32u: Use syscall interface for clipboard functions.
win32u: Use syscall interface for more sysparams functions.
win32u: Use syscall interface for cursor icon functions.
win32u: Use syscall interface for more input functions.
win32u: Use syscall interface for NtUserDisableThreadIme.
win32u: Use syscall interface for NtUserCreateWindowEx and NtUserDestroyWindow.
win32u: Use syscall interface for winpos functions.
win32u: Use syscall interface for menu functions.
win32u: Use syscall interface for scroll bar functions.
win32u: Use syscall interface for NtUserSetWindow* functions.
win32u: Use syscall interface for more windowing functions.
win32u: Use syscall interface for window class functions.
win32u: Use syscall interface for NtUserSystemParametersInfo.
wow64win: Sort gdi syscall thunks.
vulkan-1: Make sure that user32 is loaded before ICD.
winevulkan: Move __wine_get_vulkan_driver call to Unix lib.
winevulkan: Use syscall interface for driver functions.
winevulkan: Remove __wine_get_vulkan_driver PE entry point.
mshtml/tests: Increase tolerance in date_now test.
user32: Avoid using WIN_GetPtr for window handle validation.
user32: Use GetWindowLongPtr for GetWindowModuleFileName implementation.
win32u: Introduce NtUserGetDialogInfo and NtUserSetDialogInfo.
win32u: Introduce NtUserGetDialogProc.
win32u: Remove no longer needed exports.
user32: Inline DEFWND_ControlColor implementation.
Jeff Smith (3):
d3drm/tests: Clean up some magic values.
d3drm: Fix components of palette built when loading texture from file.
d3drm: Fix components of palette when loading texture from 8-bit BMP file.
Jinoh Kang (8):
advapi32/tests: Add tests for GetTokenInformation TokenOwner.
kernel32/tests: Test deletion of synchronization objects after handle close.
shell32: Return stub bitmap in IShellItemImageFactory::GetImage.
advapi32/tests: Check that each ACE is ACCESS_ALLOWED_ACE in the default DACL.
advapi32/tests: Test that default object owner match the token owner.
advapi32/tests: Test that default object group match the token primary group.
advapi32/tests: Test that the token default DACL uses token owner instead of token user.
server: Use the token owner instead of the token user for default object owner.
Nikolay Sivov (20):
dwrite: Use older interface version for fallback system collection.
dwrite: Add additional structure for mappings array.
dwrite: Filter out unusable ranges on AddMapping().
dwrite: Keep locales separate for fallback data.
dwrite: Override existing ranges with AddMapping().
dwrite: Duplicate mapping data when creating fallback object.
dwrite: Extend matching font creation helper.
dwrite: Implement MapCharacters() for custom fallback.
dwrite: Remove old system fallback logic.
dwrite: Add some mappings for Tahoma in the system fallback.
d3d11: Use CRT allocation functions.
d2d1/tests: Add a missing return value test (Coverity).
win32u: Remove some dead code from get_scroll_range() helper (Coverity).
user32: Remove some dead code from unpack_dde_message() (Coverity).
dwrite: Use u32-reads for AnalyzeScript().
dwrite: Use correct ranges to set DWRITE_SCRIPT_SHAPES_NO_VISUAL.
dwrite: Add a few more fallback ranges.
dwrite: Add Arabic fallback ranges.
win32u: Fix typo in font handle creation in NtUserDrawCaptionTemp().
dwrite: Fix fallback config ranges text parsing.
Paul Gofman (14):
ws2_32: Add ipv4 raw socket protocol info.
ws2_32/tests: Test ICMP.
ntdll: Support SOCK_RAW / IPPROTO_ICMP fallback over SOCK_DGRAM.
ntdll: Fixup ICMP packet id if SOCK_DGRAM fallback is used.
ntdll: Compute checksum for ICMP over SOCK_DGRAM IP header.
taskschd: Implement writing settings to XML.
schedsvc: Read task enable state from XML in SchRpcGetTaskInfo().
taskschd: Return SCHED_S_TASK_HAS_NOT_RUN from regtask_get_LastRunTime() stub.
shell32: Don't quote args substituted through wildcard in SHELL_ArgifyW().
shell32: Handle file extensions in SHELL_FindExecutableByVerb().
loader/wine.inf: Add runas shell execute verb.
ntdll: Preserve rbx register when calling DLL entry point on x64.
msxml3: Use node_get_text() in domelem_get_nodeTypedValue() if no type is present.
opengl32/tests: Remove depth 32 / stencil 0 test in test_choosepixelformat().
Philip Rebohle (1):
winevulkan: Fill LUID info in VkPhysicalDeviceVulkan11Properties.
Rémi Bernon (22):
ntdll: Use a block member in large blocks.
ntdll: Pass a struct block to (find|validate)_large_block.
ntdll: Fixup the RtlWalkHeap entry pointer before subheap lookup.
mf: Split MFCreateTopoLoader to topology_loader.c.
mf: Check whether node is already in the topology before cloning.
mf: Use a branch list instead of node marker in the topology loader.
mf: Better implement topology loader graph resolution.
mf: Implement topology_node_get_type_handler for all node types.
winex11.drv: Set desktop settings handler before updating display devices.
winemac.drv: Introduce new display_mode_to_devmode helper.
win32u: Introduce new add_mode device manager callback.
win32u: Read and cache adapter modes from the registry.
dinput/tests: Wait for Acquire to complete when injecting input.
dinput/tests: Add some rawinput joystick tests.
win32u: Enumerate mouse and keyboard devices first and skip duplicates.
win32u: Read rawinput device preparsed data using virtual memory.
win32u: Fix thread safety when accessing rawinput device data.
win32u: Use a static size array for rawinput device path.
win32u: Use a struct list to keep rawinput devices.
win32u: Implement NtUserGetRegisteredRawInputDevices on the client side.
server: Use the client provided rawinput registered device array.
maintainers: Assume maintainership of input sections.
Santino Mazza (4):
jscript: Return ParseProcedureText when compile fails.
riched20/tests: When selection is out of view, the scrollbar should move.
riched20: Ensure that cursor is visible when selecting text.
riched20/test: Add scrolling test for richole.
Torge Matthies (2):
msvcr100: Make all exception ctors with a string parameter trace the string.
msvcr100: Implement invalid_multiple_scheduling exception.
Zebediah Figura (25):
ws2_32/tests: Add more tests for SO_CONNECT_TIME.
ws2_32/tests: Test FD_CONNECT with UDP sockets.
ws2_32/tests: Add some tests for connecting a UDP socket.
ws2_32/tests: Test polling for AFD_POLL_CONNECT with UDP sockets.
server: Do not set connectionless sockets into the CONNECTING or CONNECTED state.
ws2_32/tests: Test listen() after a failed connect().
Revert "server: Explicitly shutdown destroyed sockets to force pending poll() calls to return.".
server: Always wake up pending read or write asyncs on POLLHUP or POLLERR.
server: Use sock_poll_event() in poll_socket().
server: Clear sock->errors[AFD_POLL_BIT_CONNECT_ERR] in sock_poll_event().
server: Record the error for connected and connectionless sockets sockets in sock_error().
server: Report the socket error in sock_poll_event() on POLLERR or POLLHUP.
server: Move sock->error setting completely out of sock_dispatch_events().
wined3d: Do not try to unmap already unmapped BOs in wined3d_buffer_update_sub_resource().
wined3d: Do not try to unmap already unmapped BOs in wined3d_texture_update_sub_resource().
wined3d: Assert that the BO is mapped in unmap functions.
wined3d: Redirect vkd3d log output to the Unix stderr.
ws2_32: Map AFD_POLL_RESET to the "read" set in select().
ws2_32: Add a FIXME for unhandled flags in select().
ws2_32: Map AFD_POLL_RESET to both POLLHUP and POLLERR.
server: Properly implement AFD_POLL_RESET.
d3d9: Correctly check for sysmem index buffers in d3d9_stateblock_Apply().
d3d9: Do not release the wined3d mutex in d3d9_device_upload_sysmem_index_buffer().
d3d8: Correctly check for sysmem index buffers in d3d8_device_ApplyStateBlock().
d3d8: Do not release the wined3d mutex in d3d8_device_upload_sysmem_index_buffer().
Zhiyi Zhang (6):
rpcrt4/tests: Add I_RpcBindingInqLocalClientPID() tests.
rpcrt4: Implement I_RpcBindingInqLocalClientPID().
include: Add IMediaParamInfo definition.
dsdmo/tests: Add IMediaParamInfo tests.
dsdmo: Add IMediaParamInfo stub interface.
ntdll: Restore the timezone bias cache.
--
Alexandre Julliard
julliard(a)winehq.org