From b87f35898d22b90e36970e0b1fce1172ba64eb15 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Fri, 28 Jun 2024 22:35:25 +0200 Subject: [PATCH] Release 9.12. --- ANNOUNCE.md | 694 ++++++++++++++++++++++++++++------------------------ VERSION | 2 +- configure | 18 +- 3 files changed, 387 insertions(+), 327 deletions(-) diff --git a/ANNOUNCE.md b/ANNOUNCE.md index 8fcab7e1fa7..2bffc05cb42 100644 --- a/ANNOUNCE.md +++ b/ANNOUNCE.md @@ -1,11 +1,13 @@ -The Wine development release 9.11 is now available. +The Wine development release 9.12 is now available. What's new in this release: - - C++ exception handling on ARM platforms. - - More DPI Awareness support improvements. + - Initial support for user32 data structures in shared memory. + - Mono engine updated to version 9.2.0. + - Rewrite of the CMD.EXE engine. + - Fixed handling of async I/O status in new WoW64 mode. - Various bug fixes. -The source is available at +The source is available at Binary packages for various distributions will be available from @@ -15,352 +17,410 @@ You will find documentation on Wine is available thanks to the work of many people. See the file [AUTHORS][1] for the complete list. -[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.11/AUTHORS +[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.12/AUTHORS ---------------------------------------------------------------- -### Bugs fixed in 9.11 (total 27): +### Bugs fixed in 9.12 (total 24): - - #42270 Settlers 4 Gold - Hardware Rendering mode not working - - #49703 Ghost Recon fails to start - - #50983 Multiple games stuck playing cutscenes (The Long Dark, The Room 4: Old Sins, Saint Kotar) - - #51174 api-ms-win-core-version-l1-1-0: Missing GetFileVersionInfoW and GetFileVersionInfoSizeW - - #52585 Multiple applications need NtQueryDirectoryObject to return multiple entries (Cygwin shells, WinObj 3.01) - - #53960 ucrt has different struct layout than msvcrt - - #54615 dwrite:layout - test_system_fallback() gets unexpected "Meiryo UI" font name in Japanese and Chinese on Windows - - #55362 NeuralNote: Crashes and Rendering issues (alson in VST3 form) - - #55472 DTS Encoder Suite gets stuck with encode pending from Wine 8.14 - - #56095 Clanbomber 1.05 starts after a long (30 seconds) delay - - #56397 Numlock status not recognized when using winewayland.drv - - #56451 catch block fetches bogus frame when using alignas with 32 or higher - - #56460 Multiple games have stutter issues (Overwatch 2, Aimbeast) - - #56591 Steam doesn't render individual game pages correctly - - #56606 PhysX installer fails to start - - #56640 Genshin Impact: The game-launcher cannot be started anymore - - #56744 Serial number in smbios system table is not filled on Linux in practice - - #56747 Steam won’t load in the new wow64 mode when using DXVK - - #56755 White textures in EverQuest (Unsupported Conversion in windowscodec/convert.c) - - #56764 Empire Earth Gold doesn't start in virtual desktop mode - - #56766 CDmage 1.01.5 does not redraw window contents fully - - #56781 srcrrun: Dictionary setting item to object fails - - #56788 ComicRackCE crashes when viewing "info" for a comic file - - #56800 Nomad Factory plugins GUI is broken - - #56813 Hard West 2 crashes before entering the main menu (OpenGL renderer) - - #56824 Postal 2 (20th Anniversary update) crashes when loading the map - - #56828 Moku.exe crashes on startup + - #43337 Conditional command with parentheses not working. + - #44063 Parentheses cause cmd.exe failing to recognize '2>&1' + - #47071 Nest or mixed "FOR" and "IF" command sometimes get different result in Wine and Windows. + - #47798 Incorrect substring result using enableDelayedExpansion + - #49993 CUERipper 2.1.x does not work with Wine-Mono + - #50723 Can't recognize ... as an internal or external command, or batch script + - #52344 Can't substitute variables as a command + - #52879 ESET SysInspector 1.4.2.0 crashes on unimplemented function wevtapi.dll.EvtCreateRenderContext + - #53190 cmd.exe incorrectly parses a line with nested if commands + - #54935 Rewrite (VN): black screen videos with WMP backend and gstreamer + - #55947 Serial port event waits should use async I/O + - #56189 quartz:vmr7 - test_default_presenter_allocate() fails on Windows 7 + - #56389 Assassin's Creed & Assassin's Creed: Revelations do not run under new WoW64 + - #56698 SuddenStrike 3 crashes when opening the intro movie + - #56763 Firefox 126.0.1 crashes on startup + - #56769 Death to Spies: intro videos have audio only but no video + - #56771 Receiving mail in BeckyInternetMail freezes + - #56827 Window borders disappear + - #56836 Assassin's Creed III stuck on loading screen (Vulkan renderer) + - #56838 FL Studio 21 gui problem + - #56839 App packager from Windows SDK (MakeAppx.exe) 'pack' command crashes due to unimplemented functions in ntdll.dll + - #56840 Apps don't launch with wayland driver + - #56841 virtual desktop "explorer.exe /desktop=shell,1920x1080" broken + - #56871 The 32-bit wpcap program is working abnormally -### Changes since 9.10: +### Changes since 9.11: ``` -Adam Rehn (1): - wineserver: Report non-zero exit code for abnormal process termination. +Aida Jonikienė (1): + ntdll: Fix params_mask type in NtRaiseHardError(). -Alex Henrie (12): - ntdll/tests: Delete the WineTest registry key when the tests finish. - ntdll/tests: Rewrite the RtlQueryRegistryValues tests and add more of them. - ntdll: Succeed in RtlQueryRegistryValues on direct query of nonexistent value. - ntdll: Don't call QueryRoutine if RTL_QUERY_REGISTRY_DIRECT is set. - ntdll: Don't call a null QueryRoutine in RtlQueryRegistryValues. - ntdll/tests: Remove unused WINE_CRASH flag. - ntdll: Copy the correct number of bytes with RTL_QUERY_REGISTRY_DIRECT. - ntdll: Calculate the default size even without RTL_QUERY_REGISTRY_DIRECT. - ntdll: Don't accept a query routine when using RTL_QUERY_REGISTRY_DIRECT. - ntdll: Set the string size when using RTL_QUERY_REGISTRY_DIRECT. - ntdll: Only allow string default values with RTL_QUERY_REGISTRY_DIRECT. - ntdll: Replace the whole string when using RTL_QUERY_REGISTRY_DIRECT. +Alex Henrie (6): + ntdll: Fix multi-string callbacks in RtlQueryRegistryValues. + ntdll: Double-null-terminate multi-strings when using RTL_QUERY_REGISTRY_DIRECT. + ntdll: Fix handling of non-string types with RTL_QUERY_REGISTRY_DIRECT. + ntdll: Don't write partial strings with RTL_QUERY_REGISTRY_DIRECT. + ntdll: Fix type and size of expanded strings in RtlQueryRegistryValues. + ntdll: Don't special-case default values in RtlQueryRegistryValues. -Alexandre Julliard (40): - faudio: Import upstream release 24.06. - msvcrt: Share a helper macro to print an exception type. - msvcrt: Share the dump_function_descr() helper between platforms. - msvcrt: Fix the ip_to_state() helper for out of bounds values. - msvcrt: Don't use rva_to_ptr() for non-RVA values. - msvcrt: Use the copy_exception() helper in __CxxExceptionFilter. - msvcrt: Share the __CxxExceptionFilter implementation between platforms. - msvcrt: Share the common part of _fpieee_flt between platforms. - msvcrt: Consistently use the rtti_rva() helper. - winedump: Fix dumping of catchblocks for 32-bit modules. - msvcrt: The catchblock frame member isn't present on 32-bit. - msvcrt: Use pointer-sized types instead of hardcoding 64-bit in __CxxFrameHandler. - msvcrt: Share __CxxFrameHandler implementation with ARM platforms. - msvcrt: Add platform-specific helpers to call C++ exception handlers. - msvcrt: Add platform-specific helpers to retrieve the exception PC. - msvcrt: Use platform-specific handlers also for __CxxFrameHandler4. - ntdll: Fix stack alignment in __C_ExecuteExceptionFilter on ARM. - ntdll: Fix a couple of compiler warnings on ARM64EC. - ntdll: Fix inverted floating point masks on ARM64EC. - ntdll: Support x87 control word in __os_arm64x_get_x64_information(). - kernel32/tests: Add test for FPU control words on ARM64EC. - msvcrt: Reimplement __crtCapturePreviousContext() based on RtlWalkFrameChain(). - msvcrt: Use the __os_arm64x functions to get/set mxcsr on ARM64EC. - msvcrt: Implement asm sqrt functions on ARM platforms. - msvcrt: Disable SSE2 memmove implementation on ARM64EC. - kernelbase: Implement the GetProcAddress wrapper on ARM64EC. - kernel32: Implement the GetProcAddress wrapper on ARM64EC. - winex11: Fix build error when XShm is missing. - ntdll: Look for hybrid builtins in the PE directory for the host architecture. - ntdll: Remove some unnecessary asm macros on ARM plaforms. - winecrt0: Remove some unnecessary asm macros on ARM plaforms. - makedep: Build and install ARM64EC-only modules. - tests: Use ARM64 as architecture in manifests on ARM64EC. - ntdll: Also load arm64 manifests for amd64 architecture on ARM64EC. - ntdll: Reimplement __os_arm64x_check_call in assembly. - ntdll: Move some security Rtl functions to sec.c. - ntdll: Move some synchronization Rtl functions to sync.c. - ntdll: Move the error mode Rtl functions to thread.c. - ntdll: Move the PEB lock Rtl functions to env.c. - ntdll: Move the memory copy Rtl functions to string.c. +Alexandre Julliard (28): + ntdll/tests: Add test for cross-process notifications on ARM64EC. + kernel32/tests: Add some tests for WriteProcessMemory/NtWriteVirtualMemory. + kernelbase: Make memory writable in WriteProcessMemory if necessary. + kernelbase: Send cross process notifications in WriteProcessMemory on ARM64. + kernelbase: Send cross process notifications in FlushInstructionCache on ARM64. + kernelbase: Don't use WRITECOPY protection on anonymous mappings. + ntdll: Add helper macros to define syscalls on ARM64EC. + ntdll: Send cross-process notification in memory functions on ARM64EC. + ntdll: Fix the fake 32-bit %cs value on ARM64EC. + ntdll: Don't set the TEB ExceptionList to -1 on 64-bit. + ntdll: Simplify preloader execution using HAVE_WINE_PRELOADER. + ntdll: Export a proper function for RtlGetNativeSystemInformation. + ntdll: Move RtlIsProcessorFeaturePresent implementation to the CPU backends. + ntdll: Move the IP string conversion functions to rtlstr.c. + makedep: Add a helper to get a root-relative directory path. + makefiles: Hardcode the fonts directory. + makefiles: Hardcode the nls directory. + makefiles: Hardcode the dll directory. + makefiles: Generate rules to build makedep. + tools: Add helper functions to get the standard directories. + ntdll: Build relative paths at run-time instead of depending on makedep. + loader: Build relative paths at run-time instead of depending on makedep. + server: Build relative paths at run-time instead of depending on makedep. + makefiles: No longer ignore makedep.c. + configure: Disable non-PE import libraries if compiler support is missing. + makedep: Remove the -R option. + makedep: Generate rules for make depend. + makedep: Generate a compile_commands.json file. -Alexandros Frantzis (4): - server: Pass desktop to get_first_global_hook. - server: Check message target process for raw input device flags. - server: Implement key auto-repeat request. - win32u: Implement keyboard auto-repeat using new server request. +Alexandros Frantzis (5): + opengl32: Add default implementation for wglGetPixelFormatAttribivARB. + opengl32: Add default implementation for wglGetPixelFormatAttribfvARB. + winex11: Update describe_pixel_format coding style. + winex11: Pass wgl_pixel_format to describe_pixel_format. + winex11: Use default wglGetPixelFormatAttribivARB implementation. -Alistair Leslie-Hughes (2): - odbccp32: Check if a full path was supplied for Driver/Setup/Translator entries. - odbccp32: Stop handle leak on error paths. +Alfred Agrell (10): + quartz: Implement AMT/WMT differences for WMV media type. + winegstreamer: Implement AM_MEDIA_TYPE to wg_format converter for Cinepak video. + winegstreamer: Make AVI splitter use end of previous frame if the current frame doesn't have a timestamp. + quartz/tests: Add Cinepak test to avi splitter. + iccvid: Reject unsupported output types. + msvfw32/tests: Test that Cinepak rejects unsupported output types. + quartz: Allow concurrent calls to AVI decoder qc_Notify and Receive. + quartz/tests: Test that avi_decompressor_source_qc_Notify does not deadlock if called from a foreign thread during IMemInput_Receive. + winegstreamer: Recalculate alignment and bytes per second, instead of copying from input. + mf/tests: Clobber the alignment and bytes per second, to test if the DMO fixes it. -Benjamin Mayes (1): - windowscodecs: Add conversions from PixelFormat32bppBGRA->PixelFormat16bppBGRA5551. +Alistair Leslie-Hughes (11): + oledb32: Support multiple values when parsing the property Mode. + oledb32: When creating a Data Source, handle non fatal errors. + msado15: Use the correct version when loading the typelib. + odbccp32: Look at the Setup key to find the driver of ODBC config functions. + odbccp32: SQLConfigDataSource/W fix crash with passed NULL attribute parameter. + msado15: Implement _Recordset get/put CacheSize. + msado15: Implement _Recordset get/put MaxRecords. + msado15: Support interface ADOCommandConstruction in _Command. + msado15: Implement _Command::get_Parameters. + msado15: Implement Parameters interface. + msado15: Implement _Command::CreateParameter. -Brendan McGrath (4): - kernel32/tests: Test error code when FindFirstFileA uses file as directory. - ntdll/tests: Test error code when NtOpenFile uses file as directory. - server: Don't always return STATUS_OBJECT_NAME_INVALID on ENOTDIR. - ntdll: Treat XDG_SESSION_TYPE as special env variable. +Arkadiusz Hiler (2): + bcp47langs: Add stub dll. + apisetschema: Add api-ms-win-appmodel-runtime-internal-l1-1-1. -Brendan Shanks (1): - ntdll: On macOS, check for xattr existence before calling getxattr. +Aurimas Fišeras (3): + po: Update Lithuanian translation. + po: Update Lithuanian translation. + po: Update Lithuanian translation. -Connor McAdams (7): - d3dx9: Refactor WIC GUID to D3DXIMAGE_FILEFORMAT conversion code. - d3dx9: Refactor WIC image info retrieval code in D3DXGetImageInfoFromFileInMemory(). - d3dx9: Introduce d3dx_image structure for use in D3DXGetImageInfoFromFileInMemory(). - d3dx9: Use d3dx_image structure in D3DXLoadSurfaceFromFileInMemory(). - d3dx9: Introduce d3dx_load_pixels_from_pixels() helper function. - d3dx9: Use d3dx_pixels structure in decompression helper function. - d3dx9: Use d3dx_load_pixels_from_pixels() in D3DXLoadVolumeFromMemory(). +Biswapriyo Nath (6): + include: Add Windows.Graphics.Capture.IGraphicsCaptureSession2 definition. + include: Add Windows.Graphics.Capture.IGraphicsCaptureSession3 definition. + include: Add windows.graphics.idl file. + include: Add Windows.Graphics.Capture.GraphicsCaptureItem runtimeclass. + include: Add Windows.Graphics.Capture.Direct3D11CaptureFrame runtimeclass. + include: Add Windows.Graphics.Capture.Direct3D11CaptureFramePool runtimeclass. + +Brendan McGrath (3): + mf/tests: Add additional tests for MESessionClosed event. + mf: Handle MediaSession Close when state is SESSION_STATE_RESTARTING_SOURCES. + mf: Handle an error during Media Session Close. + +Brendan Shanks (9): + dbghelp: Add ARM/ARM64 machine types for Mach-O. + ntdll: Make __wine_syscall_dispatcher_return a separate function to fix Xcode 16 build errors. + configure: Don't build wineloader on macOS with '-pie'. + configure: Remove warning when not using preloader on macOS. + configure: Rename wine_can_build_preloader to wine_use_preloader, and also use it for Linux. + configure: Define HAVE_WINE_PRELOADER when the preloader is being built. + loader: Use zerofill sections instead of preloader on macOS when building with Xcode 15.3. + winemac.drv: Fix warning in [WineWindow grabDockIconSnapshotFromWindow:force:]. + winemac.drv: Fix warning in [WineContentView viewWillDraw]. + +Connor McAdams (8): + d3dx9/tests: Add tests for the source info argument of D3DXCreateTextureFromFileInMemoryEx(). + d3dx9/tests: Add more tests for loading files with multiple mip levels into textures. + d3dx9: Refactor texture creation and cleanup in D3DXCreateTextureFromFileInMemoryEx(). + d3dx9: Use d3dx_image structure inside of D3DXCreateTextureFromFileInMemoryEx(). + d3dx9: Use struct volume inside of struct d3dx_image for storing dimensions. + d3dx9: Add support for specifying a starting mip level when initializing a d3dx_image structure. + d3dx9: Cleanup texture value argument handling in D3DXCreateTextureFromFileInMemoryEx(). + d3dx9: Add support for specifying which mip level to get pixel data from to d3dx_image_get_pixels(). Daniel Lehman (3): - secur32: Allow overriding GnuTLS debug level. - bcrypt: Allow overriding GnuTLS debug level. - crypt32: Allow overriding GnuTLS debug level. + odbc32: Handle both directions for SQLBindParameter(). + odbc32: Numeric attribute pointer may be null if not a numeric type in SQLColAttribute(). + odbc32: StrLen_or_Ind passed to SQLBindCol can be NULL. -Danyil Blyschak (4): - wineps.drv: Call ResetDCW() to update Devmode in the Unix interface. - opcservices: Provide memory allocator functions to zlib. - opcservices: Suppress unnecessary zlib deflate warnings. - opcservices: Check for memory allocation failure before deflating. +Danyil Blyschak (1): + gdi32/uniscribe: Ensure the cache is initialised. -Dmitry Timoshkov (2): - server: Remove limitation for waiting on idle_event of the current process. - win32u: Limit GDI object generation to 128. +Davide Beatrici (7): + mmdevapi: Set the default period to a minimum of 10 ms. + winepulse: Don't set a floor for the period(s). + mmdevapi: Return errors early in adjust_timing(). + mmdevapi: Introduce helper stream_init(). + mmdevapi: Complete IAudioClient3_InitializeSharedAudioStream. + mmdevapi: Complete IAudioClient3_GetSharedModeEnginePeriod. + mmdevapi: Implement IAudioClient3_GetCurrentSharedModeEnginePeriod. -Elizabeth Figura (25): - widl: Assign to the right location variable. - widl: Allow using UDTs with the keyword even when the identifier is also a typedef. - widl: Invert "declonly". - widl: Factor out a define_type() helper. - widl: Update the type location in define_type(). - widl: Do not write type definitions for types defined in an imported header. - include: Add more types to windows.networking.connectivity.idl. - wined3d: Update multisample state when the sample count changes. - wined3d: Invalidate the vertex shader when WINED3D_FFP_PSIZE is toggled. - wined3d: Just check the vertex declaration for point size usage. - wined3d: Just check the vertex declaration for colour usage. - wined3d: Just check the vertex declaration for normal usage. - wined3d: Just check the vertex declaration for texcoord usage. - wined3d: Default diffuse to 1.0 in the vertex shader. - server: Ignore attempts to set a mandatory label on a token. - server: Inherit the source token's label in token_duplicate(). - advapi32/tests: Test token label inheritance. - wined3d: Handle a null vertex declaration in glsl_vertex_pipe_vdecl(). - wined3d: Always output normalized fog coordinates from the vertex shader. - wined3d: Do not create a framebuffer with attachments whose clear is delayed. - wined3d: Use separate signature elements for oFog and oPts. - server: Don't set error in find_object_index if the object is not found. - ntdll: Implement reading multiple entries in NtQueryDirectoryObject. - server: Generalize get_directory_entries to single_entry case. - ntdll: Move IOCTL_SERIAL_WAIT_ON_MASK to the server. +Elizabeth Figura (41): + server: Check for an existing serial wait ioctl within the ioctl handler. + server: Directly wake up wait asyncs when the serial mask changes. + ntdll/tests: Use NtReadFile to test WoW64 IOSB handling. + ntdll/tests: Test IOSB handling for a synchronous write which cannot be satisfied immediately. + ntdll/tests: Test IOSB handling with NtFlushBuffersFile. + maintainers: Remove myself as a winegstreamer maintainer. + ntdll: Remove the redundant filling of the IOSB in NtDeviceIoControlFile(). + ntdll: Do not fill the IOSB or signal completion on failure in cdrom_DeviceIoControl(). + ntdll: Do not fill the IOSB or signal completion on failure in serial_DeviceIoControl(). + ntdll: Do not fill the IOSB or signal completion on failure in tape_DeviceIoControl(). + ntdll: Do not fill the IOSB in NtFsControlFile() on failure. + ntdll: Do not queue an IOCP packet in complete_async() if an APC routine is specified. + ntdll: Move complete_async() to file.c and use it in NtWriteFileGather(). + ntdll: Use file_complete_async() in tape_DeviceIoControl(). + ntdll: Use file_complete_async() in cdrom_DeviceIoControl(). + ntdll: Use file_complete_async() in serial_DeviceIoControl(). + ntdll: Use file_complete_async() in NtFsControlFile(). + quartz/tests: Handle the case where ddraw returns system memory. + ntdll: Do not set io->Status at the end of sock_ioctl(). + ntdll: Factor filling the IOSB into set_async_direct_result(). + ntdll: Move set_async_direct_result() to file.c. + widl: Do not allow "lu" as an integer suffix. + widl: Store the hexadecimal flag inside of the expr_t union. + widl: Use struct integer for the aNUM and aHEXNUM tokens. + widl: Respect u and l modifiers in expressions. + quartz/tests: Test IVMRWindowlessControl::GetNativeWindowSize() on the default presenter. + quartz: Implement IVMRWindowlessControl::GetNativeVideoSize(). + wined3d: Precompute direction and position in wined3d_light_state_set_light(). + wined3d: Pass the primary stateblock to wined3d_device_process_vertices(). + wined3d: Use the primary stateblock state in wined3d_device_process_vertices() where possible. + wined3d: Pass the constant update mask to wined3d_device_context_push_constants(). + wined3d: Feed WINED3D_TSS_CONSTANT through a push constant buffer. + wined3d: Feed WINED3D_RS_TEXTUREFACTOR through a push constant buffer. + ntdll: Introduce a sync_ioctl() helper. + ntdll: Handle WoW64 file handles in sync_ioctl(). + ntdll: Always fill the 32-bit iosb for overlapped handles, for server I/O. + ntdll: Always fill the 32-bit iosb for overlapped handles, in file_complete_async(). + ntdll: Always fill the 32-bit iosb for overlapped handles, in set_async_direct_result(). + ntdll: Always fill the 32-bit iosb for overlapped handles, for regular read/write. + wined3d: Recheck whether a query is active after wined3d_context_vk_get_command_buffer(). + wined3d: Implement wined3d_check_device_format_conversion(). -Eric Pouech (13): - cmd: Introduce a helper to set std handles. - cmd: Introduce structure CMD_REDIRECTION. - cmd: Create helper to execute a command. - cmd: Let errorlevel be a signed integer. - cmd: Separate IF command parsing from execution. - kernelbase/tests: Fix typo in tests. - msvcrt/tests: Don't print a NULL string. - quartz/tests: Fix typo in tests. - quartz/tests: Add new tests about fullscreen handling. - quartz: Always expose that non fullscreen mode is supported and active. - quartz: Fix result in put_FullScreenMode(). - conhost: Handle WM_CHAR for window console. - conhost: Support IME input in window mode. +Eric Pouech (36): + cmd: Add more tests about FOR loops. + cmd: Introduce helpers to handle FOR variables. + cmd: Introduce helpers to save and restore FOR loop contexts. + cmd: Enable '%0' through '%9' as valid FOR loop variables. + cmd: Introduce helpers to handle directory walk. + cmd: Split parsing from executing FOR loops for numbers (/L). + cmd: Fix delay expansion in FOR /L loops. + cmd: Split parsing from executing FOR loops for filesets (/F). + cmd: Fix delay expansion in FOR loop for filesets. + cmd: Split parsing from executing FOR loops for file walking. + cmd: Fix delayed expansion in FOR loop on file sets. + cmd: Remove old FOR loop related code. + cmd: Test input has been read before using it. + cmd: Introduce token-based syntax parser for building command nodes. + cmd: Use kernel32's error codes instead of literals. + cmd: Introduce return code to indicate abort of current instruction. + cmd/tests: Add tests for delayed substitution in IF command. + cmd: Expand delayed variables in IF operands. + cmd: Factorize code for reading a new line for parser. + cmd: Remove unrelated parameter to WCMD_show_prompt. + cmd: Move prompt handling into line reading. + cmd: Fix a couple of issues wrt. variable expansion. + cmd: Move depth count inside builder. + cmd: Add more tests about CALL and variable expansion. + cmd: Fix a couple of expansions issues. + cmd: Let redirections be handled by node instead of command. + cmd: Move code around to avoid forward declaration. + cmd: Let token errors be tranlatable. + cmd: Migrate IF/FOR instructions inside CMD_NODE. + cmd: Support help for IF and FOR commands. + cmd: Return sub-block return code for IF and FOR. + cmd: Use precedence in command chaining. + cmd: Add success/failure return code tests for CALL command. + cmd: Set success/failure return code for ECHO command. + cmd: Set success/failure return code for CALL command. + cmd: Implement semantic for chaining in ||, | and && operators. -Esme Povirk (4): - win32u: Send EVENT_OBJECT_FOCUS in more cases. - win32u: Implement EVENT_OBJECT_LOCATIONCHANGE. - gdiplus: Fix DIB stride calculation in GdipDrawImagePointsRect. - win32u: Implement EVENT_SYSTEM_MINIMIZESTART/END. +Esme Povirk (2): + user32/tests: Fix spurious "Failed sequence" reports on Windows. + mscoree: Update Wine Mono to 9.2.0. -Fabian Maurer (7): - msvcrt: Fix _libm_sse2_sqrt_precise not using SSE2 sqrt. - mmdevapi/tests: Add tests for IAudioSessionControl2 GetDisplayName / SetDisplayName. - mmdevapi/tests: Add tests for IAudioSessionControl2 GetIconPath / SetIconPath. - mmdevapi/tests: Add tests for IAudioSessionControl2 GetGroupingParam / SetGroupingParam. - mmdevapi: Implement IAudioSessionControl2 GetDisplayName / SetDisplayName. - mmdevapi: Implement IAudioSessionControl2 GetIconPath / SetIconPath. - mmdevapi: Implement IAudioSessionControl2 GetGroupingParam SetGroupingParam. +Fabian Maurer (1): + wow64: In wow64_NtSetInformationToken forward TokenIntegrityLevel. -Giovanni Mascellani (1): - d3d11/tests: Add a test for NV12 textures. +Giovanni Mascellani (6): + wined3d: Compile the clear compute shaders at runtime. + d3d11/tests: Check the result of compiling HLSL shaders. + d3d11/tests: Check for NV12 texture support before testing them. + d3d11/tests: Do not check pitches. + d3d11/tests: Test NV12 textures without render target. + d3d11/tests: Test UpdateSubresource() for NV12 textures. -Hans Leidekker (8): - wmic: Sort the alias list. - wmic: Add csproduct and systemenclosure aliases. - ntdll: Provide fallback values for DMI fields only readable by root. - odbc32: Use a fixed size buffer for parameter bindings. - odbc32: Support SQLSetStmtAttr(SQL_ATTR_ROW_ARRAY_SIZE). - odbc32: Turn SUCCESS() into a static inline function. - odbc32/tests: Add tests for fetching multiple rows at once and parameter binding. - winscard: Pass ATR buffer to unixlib in SCardStatusA(). +Hans Leidekker (2): + odbc32: Rebind parameters when the result length array is resized. + wpcap: Handle different layout of the native packet header structure on 32-bit. -Jacek Caban (4): - mshtml: Use DispatchEx vtbl for document node GetDispID implementation. - mshtml: Use DispatchEx for document node InvokeEx implementation. - mshtml: Use DISPEX_IDISPATCH_IMPL macro for document object implementation. - mshtml: Use DispatchEx for exposing document node IDispatchEx interface. +Ilia Docin (2): + sane.ds: Add SANE option settable flag support. + sane.ds: Improve color mode and paper source detection. -Jacob Pfeiffer (1): - wininet: Unify timeout values closer to hInternet. +Jacek Caban (12): + mshtml: Introduce IWineJSDispatchHost interface. + mshtml: Rename builtin function helpers. + mshtml: Add support for using call on builtin function objects. + mshtml: Add support for using apply on builtin function objects. + jscript: Fix PROP_DELETED handling in delete_prop. + jscript: Use designated initializers for builtin_info_t. + jscript: Use to_disp in a few more places. + jscript: Introduce to_jsdispex. + jscript: Consistently use jsdisp_addref and jsdisp_release. + jscript: Use default destructor for array objects. + jscript: Use default destructor for Object instances. + jscript: Always free jsdisp_t in jsdisp_free. -Jinoh Kang (2): - user32/tests: Print regions in test_swp_paint_regions failure cases. - wow64: Implement reading multiple entries in wow64_NtQueryDirectoryObject. +Marc-Aurel Zent (7): + winemac.drv: Handle length of dead keycodes in ToUnicodeEx correctly. + winemac.drv: Do not append " dead" to dead keycodes in GetKeyNameText. + winemac.drv: Uppercase single keys in GetKeyNameText. + winemac.drv: Use UCCompareText in char_matches_string. + winemac.drv: Resolve symbol vkeys first without modifiers. + winemac.drv: Add additional German symbol vkeys. + winemac.drv: Give dead keys a friendly name in GetKeyNameText. -Lucas Chollet (1): - dnsapi: Add a stub for DnsServiceBrowse. +Paul Gofman (8): + mmdevapi: Store device_name as a pointer in struct audio_client. + mmdevapi: Adjust timing after main loop start in client_Initialize(). + mmdevapi: Stub AUDCLNT_STREAMFLAGS_LOOPBACK support. + winepulse.drv: Factor out wait_pa_operation_complete(). + winepulse.drv: Implement pulse_get_loopback_capture_device(). + mmdevapi/tests: Add test for capturing render loopback. + ddraw/tests: Add tests for preserving d3d state during primary surface creation. + ddraw: Preserve d3d device state in ddraw_surface_create(). -Mohamad Al-Jaf (3): - coremessaging: Add stub DLL. - include: Add dispatcherqueue.idl file. - coremessaging: Add CreateDispatcherQueueController() stub. +Piotr Caban (3): + kernelbase: Add GetFileMUIInfo implementation. + kernel32/tests: Add GetFileMUIInfo tests. + kernel32/tests: Test GetFileMUIInfo on language resource file. -Nikolay Sivov (3): - scrrun/dictionary: Implement putref_Item() method. - dwrite/tests: Fix a test failure on some Win10 machines with CJK locales. - gdi32/text: Handle null partial extents pointer in GetTextExtentExPointW(). +Rémi Bernon (59): + winewayland: Avoid crashing when the dummy window surface is used. + win32u: Avoid setting the SWP_NOSIZE flag on the initial WM_DISPLAYCHANGE. + win32u: Fix a deadlock when locking the same surface on different DCs. + dwrite/tests: Ignore macOS specific "flip" sbix format. + kernel32/tests: Break debugger loop on unexpected result. + win32u: Use the vulkan functions directly from d3dkmt. + winex11: Don't use the vulkan driver interface for xrandr. + server: Create a global session shared mapping. + include: Add ReadNoFence64 inline helpers. + server: Allocate shared session object for desktops. + server: Return the desktop object locator in (get|set)_thread_desktop. + win32u: Open the desktop shared object in NtUserSetThreadDesktop. + server: Move the cursor position to the desktop session object. + server: Move the last cursor time to the desktop session object. + win32u: Use the desktop shared data for GetCursorPos. + win32u: Remove now unused vulkan_funcs in d3dkmt.c. + winex11: Create a global vulkan instance for xrandr. + include: Add a couple of CRT function declarations. + include: Define frexpf as inline function in more cases. + server: Mark block as writable in mark_block_uninitialized. + server: Store the cursor clip rect in the shared data. + server: Get rid of the global cursor structure. + win32u: Use the shared memory for get_clip_cursor. + server: Use a separate variable to determine the message on Alt release. + server: Use separate functions to update the desktop and input keystates. + server: Move the desktop keystate to shared memory. + win32u: Use the shared data if possible for NtUserGetAsyncKeyState. + winex11: Move window surface creation functions to bitblt.c. + winemac: Move window surface creation functions to surface.c. + winewayland: Move window surface creation functions to window_surface.c. + winemac: Remove unused macdrv_get_surface_display_image copy_data parameter. + winemac: Create a provider for the surface and a HBITMAP wrapping it. + winemac: Create window surface CGImageRef on surface flush. + winemac: Push window surface image updates to the main thread. + winemac: Remove now unnecessary cocoa window surface pointer. + winemac: Remove unnecessary surface_clip_to_visible_rect. + server: Create a thread message queue shared mapping. + server: Keep a reference on the desktop the hook are registered for. + server: Move hooks struct initialization within add_hook. + server: Update the active hooks bitmaps when hooks are added / removed. + win32u: Read the active hooks count from the shared memory. + win32u: Remove now unnecessary thread info active_hooks cache. + server: Remove now unnecessary active_hooks from replies. + winex11: Only clip huge surfaces to the virtual screen rect. + wineandroid: Only clip huge surfaces to the virtual screen rect. + winemac: Clip huge surfaces to the virtual screen rect. + winewayland: Clip huge window surfaces to the virtual screen rect. + win32u: Move the surface rect computation out of the drivers. + win32u: Use the previous surface as default surface when compatible. + win32u: Use the default window surface when window is not visible. + win32u: Move layered surface attributes to the window_surface struct. + win32u: Introduce a new helper to update layered window surface attributes. + win32u: Pass BITMAPINFO and color bits to window surface flush. + win32u: Introduce a new helper to get surface color info and bits. + win32u: Get rid of the unnecessary offscreen window surface struct. + winemac: Remove now unnecessary driver surface BITMAPINFO. + wineandroid: Remove now unnecessary window surface BITMAPINFO. + winewayland: Remove now unnecessary window surface BITMAPINFO. + winex11: Remove now unnecessary window surface BITMAPINFO. -Paul Gofman (12): - ntdll: Fix test_NtQueryDirectoryFile() on Win11. - ntdll: Do not ignore trailing dots in match_filename(). - ntdll/tests: Test NtQueryDirectoryFile() masks with more files. - ntdll: Ignore leading dots in hash_short_file_name(). - ntdll: Mind all the wildcards in has_wildcard(). - ntdll: Match wildcard recursively in match_filename(). - ntdll: Add a special handling for .. in match_filename(). - ntdll: Implement matching DOS_STAR in NtQueryDirectoryFile(). - ntdll: Implement matching DOS_DOT in NtQueryDirectoryFile(). - ntdll: Properly match DOS_QM in match_filename(). - ntdll: Skip name search for wildcards in asterisk handling in match_filename(). - kernelbase: Preprocess wildcarded mask and pass it with NtQueryDirectoryFile(). +Santino Mazza (3): + mshtml/tests: Test for IMarkupServices. + mshtml: Implement MarkupServices_CreateMarkupContainer. + mshtml: Implement MarkupServices_ParseString. -Piotr Caban (8): - wineps.drv: Don't use dynamic buffer when writing new page info. - wineps.drv: Write page orientation hint for every page. - wineps.drv: Take all pages into account when computing bounding box. - wineps.drv: Write PageBoundingBox for every page. - wineps.drv: Add partial support for changing page size. - msvcp140: Use _get_stream_buffer_pointers() to access FILE internal buffers. - ucrtbase: Fix _iobuf struct layout. - msvcrt: Don't use custom standard streams definition. +Torge Matthies (4): + winegstreamer: Fix race between wg_parser_stream_en/disable and GST_EVENT_FLUSH_START/STOP. + winegstreamer: Don't only accept segment events when streams are enabled. + winegstreamer: Ignore an assert in wg_parser. + winegstreamer: Handle Gstreamer pipeline flushes gracefully in the media source. -Rémi Bernon (65): - widl: Use mangled namespace names in typedef pointer types. - win32u: Move the window surface color bits to the common struct. - win32u: Pass BITMAPINFO and a HBITMAP to window_surface_init. - winex11: Simplify the XSHM extension function calls. - winex11: Create XImage before initializing the window surface. - winex11: Create a HBITMAP for the allocated surface pixels. - win32u: Create a HBITMAP backing the window surface pixels. - win32u: Restore surface rect, which may offsetted from the window rect. - win32u: Use a dedicated helper to move bits from a previous surface. - win32u: Don't map points to the parent window in move_window_bits_parent. - win32u: Get rid of move_window_bits_parent, using move_window_bits. - winemac: Merge RESET_DEVICE_METRICS and DISPLAYCHANGE internal messages. - win32u: Fix a restorer_str typo. - win32u: Send display change messages when host display mode changes. - win32u: Move desktop resize on WM_DISPLAYCHANGE out of the drivers. - gdi32: Use an internal NtUser call for D3DKMTOpenAdapterFromGdiDisplayName. - wineandroid: Always clear UpdateLayeredWindow target rectangle. - wineandroid: Use the surface bitmap directly in UpdateLayeredWindow. - winemac: Always clear UpdateLayeredWindow target rectangle. - winemac: Use the surface bitmap directly in UpdateLayeredWindow. - winemac: Blend alpha with NtGdiAlphaBlend instead of window opacity. - winex11: Always clear UpdateLayeredWindow target rectangle. - winex11: Use the surface bitmap directly in UpdateLayeredWindow. - win32u: Introduce a new CreateLayeredWindow driver entry. - win32u: Move UpdateLayeredWindow implementation out of the drivers. - server: Avoid calling set_event from within msg_queue_add_queue. - win32u: Introduce new helpers to convert server rectangle_t. - win32u: Introduce NtUserAdjustWindowRect call for AdjustWindowRect*. - win32u: Pass desired DPI to NtUserGet(Client|Window)Rect. - win32u: Introduce a new get_monitor_rect helper. - win32u: Pass the rect DPI to NtUserIsWindowRectFullScreen. - winex11: Wrap more window surface formats with NtGdiDdDDICreateDCFromMemory. - winex11: Fix some incorrect usage of NtGdiDdDDICreateDCFromMemory. - gdi.exe16: Fix some incorrect usage of NtGdiDdDDICreateDCFromMemory. - winegstreamer: Allow to clear video decoder input/output types. - winegstreamer: Enforce default stride value in the video decoder. - winegstreamer: Enforce default stride presence in the video processor. - winegstreamer: Rename allow_size_change to allow_format_change. - winegstreamer: Only report format changes when frontend supports it. - winegstreamer: Use a caps to store the desired output format. - winegstreamer: Request the new transform output format explicitly. - winevulkan: Remove some unnecessary casts. - winevulkan: Fix size mismatch when writing to return pointer. - include: Add and fix some WGL prototypes. - winewayland: Force the DPI context when restoring cursor clipping. - winex11: Force the DPI context when restoring cursor clipping. - win32u: Use get_monitor_rect in more places. - win32u: Parameterize get_clip_cursor dpi. - win32u: Parameterize get_monitor_info dpi. - win32u: Use window monitor DPI in get_windows_offset when dpi is 0. - winex11: Use NtUserMapWindowPoints instead of NtUserScreenToClient. - win32u: Call NtUserMapWindowPoints with per-monitor DPI from the drivers. - winemac: Force thread DPI awareness when calling NtUserSetWindowPos. - winewayland: Force thread DPI awareness when calling NtUserSetWindowPos. - winex11: Force thread DPI awareness when calling NtUserSetWindowPos. - winex11: Force thread DPI awareness when calling NtUserRedrawWindow. - winex11: Force thread DPI awareness when calling NtUserChildWindowFromPointEx. - win32u: Remove unused insert_after WindowPosChanging parameter. - wineandroid: Remove unnecessary visible_rect initialization. - winemac: Remove unnecessary visible_rect initialization. - winex11: Remove unnecessary visible_rect initialization. - win32u: Split WindowPosChanging driver call to a separate CreateWindowSurface. - winex11: Move layered window mapping to X11DRV_UpdateLayeredWindow. - winemac: Move layered window mapping to macdrv_UpdateLayeredWindow. - win32u: Move WM_WINE_DESKTOP_RESIZED into driver internal messages range. +Vijay Kiran Kamuju (4): + ntdll: Fix RtlEnumerateGenericTableWithoutSplaying function parameters. + ntdll: Add stub RtlEnumerateGenericTableWithoutSplayingAvl function. + ntdll: Add stub RtlNumberGenericTableElementsAvl function. + wevtapi: Add stub EvtCreateRenderContext(). -Shengdun Wang (3): - ucrtbase/tests: Add FILE structure tests. - ucrtbase: Always use CRITICAL_SECTION for FILE locking. - ucrtbase: Fix FILE _flag values. +Zhiyi Zhang (9): + profapi: Add stub dll. + kernel32: Add AppPolicyGetWindowingModel(). + rometadata: Add initial dll. + include: Add some windows.foundation definitions. + include: Add some windows.system definitions. + include: Add windows.devices.input.idl. + include: Add windows.ui.input.idl. + include: Add some windows.ui.core definitions. + include: Add some windows.applicationmodel definitions. -Tim Clem (1): - gitlab: Update configuration for the new Mac runner. - -Zhiyi Zhang (2): - ws2_32/tests: Test fromlen for recvfrom(). - ntdll: Don't zero out socket address in sockaddr_from_unix(). - -Ziqing Hui (7): - qasf/tests: Add more tests for dmo_wrapper_sink_Receive. - qasf/dmowrapper: Introduce get_output_samples. - qasf/dmowrapper: Introduce release_output_samples. - qasf/dmowrapper: Return failure in dmo_wrapper_sink_Receive if samples allocating fails. - qasf/dmowrapper: Allocate output samples before calling ProcessInput(). - qasf/dmowrapper: Return VFW_E_WRONG_STATE in dmo_wrapper_sink_Receive. - qasf/dmowrapper: Sync Stop() and Receive() for dmo wrapper filter. +Ziqing Hui (8): + mf/tests: Add tests for H264 encoder types. + winegstreamer: Implement stubs for h264 encoder. + winegstreamer/aac_decoder: Support clearing media types. + winegstreamer/color_converter: Support clearing media types. + mf/tests: Add more tests for h264 encoder type attributes. + winegstreamer/video_encoder: Implement GetOutputAvailableType. + winegstreamer/video_encoder: Implement SetOutputType. + winegstreamer/video_encoder: Implement GetOutputCurrentType. ``` diff --git a/VERSION b/VERSION index e3305feca82..5487ab03171 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Wine version 9.11 +Wine version 9.12 diff --git a/configure b/configure index 9ef4dfef5a4..a5c16720511 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for Wine 9.11. +# Generated by GNU Autoconf 2.71 for Wine 9.12. # # Report bugs to . # @@ -611,8 +611,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Wine' PACKAGE_TARNAME='wine' -PACKAGE_VERSION='9.11' -PACKAGE_STRING='Wine 9.11' +PACKAGE_VERSION='9.12' +PACKAGE_STRING='Wine 9.12' PACKAGE_BUGREPORT='wine-devel@winehq.org' PACKAGE_URL='https://www.winehq.org' @@ -2402,7 +2402,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Wine 9.11 to adapt to many kinds of systems. +\`configure' configures Wine 9.12 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2472,7 +2472,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Wine 9.11:";; + short | recursive ) echo "Configuration of Wine 9.12:";; esac cat <<\_ACEOF @@ -2778,7 +2778,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Wine configure 9.11 +Wine configure 9.12 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -3229,7 +3229,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Wine $as_me 9.11, which was +It was created by Wine $as_me 9.12, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -23713,7 +23713,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Wine $as_me 9.11, which was +This file was extended by Wine $as_me 9.12, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23777,7 +23777,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -Wine config.status 9.11 +Wine config.status 9.12 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\"