Release 7.12.

System Internals / WINE - Alexandre Julliard [] - 1 July 2022 19:00 UTC


diff --git a/ANNOUNCE b/ANNOUNCE
index 5dc2b1ca016..ef0daf7faec 100644
@@ -1,14 +1,15 @@
-The Wine development release 7.11 is now available.
+The Wine development release 7.12 is now available.

What's new in this release:
- - Android driver converted to PE.
- - Zero-copy support with GStreamer.
- - High Unicode planes support in case mappings.
+ - Theming support for Qt5 applications.
+ - Bundled vkd3d upgraded to version 1.4.
+ - Improved effect support in Direct2D.
+ - QWORD support in registry tools.
- Various bug fixes.

The source is available at:


Binary packages for various distributions will be available from:

@@ -24,401 +25,361 @@ AUTHORS in the distribution for the complete list.


-Bugs fixed in 7.11 (total 34):
- 33381 Mayhem Triple renders too small
- 33383 Foobar2000 crashes on Alt-H
- 34176 Kernel32:CompareStringW strange behavior ?
- 35027 Euphoria needs CreateProcessInternalW function
- 36720 LCMapString with the parameter NORM_IGNORENONSPACE does not remove diacritics
- 39144 SpinTires tech demo wrong rendering after changing screen resolution
- 39298 kernel32 does not support custom nls installation.
- 45634 enabling CSMT ruins performance for rFactor 1.255
- 46281 Multiple Windows 7+ apiset-aware applications fail due to Wine loader lacking support for resolving virtual dlls via 'kernel32.GetModuleHandle' (Archicad 22)
- 46782 CompareStringEx does not support SORT_DIGITSASNUMBERS flag
- 49210 Mafia and Mafia II: Definitive Edition Launcher crashes with Wine-Mono
- 49232 Saints Row The Third Remastered shows floating black rectangles
- 50941 Multiple applications crash on unimplemented function WS2_32.dll.WSAConnectByName (TIP-Integral, EasyMiniGW)
- 50948 taskmgr.exe: wrong memory usage unit (GB => MB)
- 51243 In Wine dinput:keyboard fails if the keyboard layout does not match the display language
- 52663 Civilization 4: no text in main menu
- 52752 Rich Edit Control does not support drawing OLE objects
- 52795 Multiple applications crash in Mesa due to syscall stack overflow (Cyberpunk 2077, Stranger of Paradise, Doom Eternal with ray tracing)
- 52831 Kernel32::GetSystemPowerStatus returns invalid data if /sys/class/power_supply/BAT0 is missing
- 52841 Leverless arcade controller SOCD cleaning does not work
- 52885 Adobe Lightroom Classic 11.1 crash in user32
- 52893 GreedFall crashes on launch
- 52993 msi:action - test_publish() fails on date change
- 52995 shell32:shelllink crashes in Wine cause shell32:shellpath's test_PathResolve() to fail (test.bat file)
- 52998 xaudio2_7:xaudio2 fails on Windows 1909+
- 53029 Clipboard cut/paste partially broken in wine
- 53035 Displaying Out-GridView in Powershell Core crashes with WinVer > Win7
- 53038 Epic Games Launcher crashes on start
- 53076 Kvaser CanKing needs ntoskrnl.exe.KfRaiseIrql and ntoskrnl.exe.KeLowerIrql
- 53082 "explorer: Create clipboard manager thread when creating a desktop." causes hangs on wine startup
- 53102 Ubisoft Connect fails to connect to server
- 53112 winegstreamer build error
- 53136 crypt32:cert - testVerifyRevocation() fails in Wine
- 53138 crypt32:chain - testGetCertChain() fails in Wine
+Bugs fixed in 7.12 (total 13):
+ 49501 Star Citizen: No mic input audio (used for voip)
+ 49633 StarCitizen launcher crashes on start with a winmm error
+ 52475 Shogun Total War 2 crashes on start up. (Main Application.)
+ 52586 Approach (Smart Suite) crashes when trying to print to cups-pdf
+ 52729 Argentum 20 RPG Launcher has graphical glitches
+ 53049 Incorrect display of selected buttons in Light theme.
+ 53066 Wireshark shows black rectangle on various places if light theme is enabled
+ 53156 MetaTrader4 stopped working properly with wine 7.10
+ 53169 Rich edit control becomes unstable or trips assertion after ITextRange::SetFont is called
+ 53170 Rich edit control becomes unstable or trips assertion after changing TextFont properties
+ 53180 aria2 needs QueryContextAttributes(SECPKG_ATTR_CIPHER_INFO) to return a valid version
+ 53201 The 32-bit evr:evr crashes almost systematically on the TestBot's Wine VMs
+ 53235 The 32-bit mfplat:mfplat crashes on the TestBot debian11 VM


-Changes since 7.10:
+Changes since 7.11:
+Alex Henrie (1):
+ shell32/tests: Add tests for Program Manager name sanitization.
+Alexandre Julliard (41):
+ include: Add a number of 64-bit interlocked functions.
+ vkd3d: Import upstream release 1.4.
+ make_unicode: Make support of registry values more generic.
+ make_unicode: Generate the time zone registry keys.
+ make_unicode: Add a table of downloaded files and their URLs.
+ make_unicode: Verify checksums of downloaded files.
+ makefiles: Never install external libraries.
+ d3dcompiler: Remove todo_wine from tests that succeed now.
+ msvcrt: Move the strncpy_s() implementation to string.c.
+ msvcrt: Unify the strncpy_s() and wcsncpy_s() implementations.
+ msvcrt: Unify the strncat_s() and wcsncat_s() implementations.
+ cabinet: Make sure the cabinet file name doesn't end with a backslash.
+ ntdll/tests: Add some tests for trailing slashes in paths.
+ ntdll: Fix returned status code for non-directory in path.
+ ntdll: Fix returned status code for paths with a trailing slash.
+ makefiles: Use the defined external lib variables also when building the libs themselves.
+ makefiles: Add separate variables for Unix flags and libraries.
+ ntdll: Add a few more isw* functions.
+ ntdll: Add strcpy_s and wcscpy_s.
+ ntdll: Add strcat_s and wcscat_s.
+ ntdll: Add strncpy_s and wcsncpy_s.
+ ntdll: Add strncat_s and wcsncat_s.
+ ntdll: Add strtok_s and wcstok_s.
+ ntdll: Add strlwr_s and wcslwr_s.
+ ntdll: Add strupr_s and wcsupr_s.
+ ntdll: Add memcpy_s and memmove_s.
+ ntdll: Add _wcstoi64.
+ ntdll: Add _wcstoui64.
+ ntdll: Add _ui64tow_s.
+ ntdll: Add _i64tow_s.
+ ntdll: Add _ui64toa_s.
+ ntdll: Add _i64toa_s.
+ ntdll: Add _wsplitpath_s.
+ ntdll: Add _splitpath_s.
+ ntdll: Add _wmakepath_s.
+ ntdll: Add _makepath_s.
+ ntdll: Add qsort_s.
+ ntdll: Add bsearch_s.
+ ntdll: Add _vscprintf and _vscwprintf.
+ ntdll: Add _ftol2 and _ftol2_sse.
+ ntdll: Add atan2.

-Akihiro Sagawa (1):
- msvcrt: Avoid passing an invalid LCID to LCMapStringW.
+Alistair Leslie-Hughes (1):
+ d3drm: Return S_OK from IDirect3DRMMeshBuilder3::Optimize().

-Alex Henrie (2):
- user32: Plug icon handle leak in MDI_AugmentFrameMenu (Coverity).
- ntdll: Don't hard-code the battery and AC adapter names on Linux.
+Andrew Eikum (1):
+ maintainers: Remove myself as maintainer.

-Alexandre Julliard (10):
- make_unicode: Add data for high Unicode planes in case mapping tables.
- kernelbase: Add support for high Unicode planes in LCMapStringEx().
- kernel32/tests: Add tests for high Unicode planes.
- ntdll/tests: Add tests for high Unicode planes.
- faudio: Import upstream release 22.06.
- kernelbase: Implement IsNLSDefinedString().
- atl: Support escaped quotes in registrar scripts.
- kernelbase: Add NORM_IGNORENONSPACE support in LCMapStringEx().
- ntdll: Share a few more locale functions with the Unix side.
- ntdll: Move the user locale initialization to the Unix side.
+Arkadiusz Hiler (4):
+ mshtml: Enable CSS grid layout.
+ win32u: Don't report cloned monitors in EnumDisplayMonitors().
+ winepulse.drv: Set device path for all devices.
+ winealsa.drv: Set device path for all devices.

-Alistair Leslie-Hughes (1):
- d3drm: Pass all D3DRM_LOAD* flags directly through to CreateEnumObject() in IDirect3DRMMeshBuilder3::Load().
+Aurimas Fišeras (2):
+ po: Update Lithuanian translation.
+ po: Update Lithuanian translation.

-Andrew Eikum (1):
- include: Remove duplicate ICodecAPI::GetParameterValues function.
-Bernhard Kölbl (9):
- include/ Update file to newer formatting.
- include/ Move IMediaMarker collections from speechsynthesis.
- include/ Update file to newer formatting.
- Remove a useless thread id trace.
- Handle a possible race condition.
- Add basic tests for ssml/text to stream functions.
- Return IAsyncOperation from synthesizer_SynthesizeTextToStreamAsync.
- Return IAsyncOperation from synthesizer_SynthesizeSsmlToStreamAsync.
- Add stub ISpeechSynthesisStream iface.
-Chilung Chan (1):
- po: Update Traditional Chinese translation.
-Connor McAdams (18):
- include: Add UI Automation Control Type ID definitions.
- uiautomationcore/tests: Skip UiaProviderFromIAccessible tests on Win10v1507.
- uiautomationcore: Use WindowFromAccessibleObject to get HWND in UiaProviderFromIAccessible.
- uiautomationcore/tests: Store test IAccessible data in structures.
- uiautomationcore: Implement UIA_ControlTypePropertyId for MSAA providers.
- uiautomationcore: Implement MSAA accState based property IDs for MSAA providers.
- uiautomationcore: Implement get_HostRawElementProvider for MSAA providers.
- include: Add ILegacyIAccessibleProvider interface definition.
- uiautomationcore: Add ILegacyIAccessibleProvider implementation for MSAA providers.
- uiautomationcore: Add stub IRawElementProviderFragment for MSAA providers.
- uiautomationcore/tests: Add navigation tests for MSAA providers.
- uiautomationcore: Implement NavigateDirection_Parent for MSAA Providers.
- uiautomationcore/tests: Release interfaces returned from get_HostRawElementProvider.
- uiautomationcore: Implement NavigateDirection_{First/Last}Child for MSAA Providers.
- uiautomationcore: Implement NavigateDirection_{Previous/Next}Sibling for MSAA providers.
- include: Import IAccessible2 headers.
- ia2comproxy: Introduce new proxy stub DLL for IAccessible2.
- uiautomationcore: Add basic IAccessible2 support.
-Daniel Lehman (3):
- ntdll/tests: Test if RtlFormatMessage modifies va_list on error.
- kernel32/tests: Test if FormatMessage modifies va_list on error.
- kernelbase: Pass va_list copy to internal RtlFormatMessage.
-Derek Lesho (2):
- mfreadwrite/tests: Test timestamp-based MF_SOURCE_READER_ANY_STREAM behavior.
- mfreadwrite: Update source reader MF_SOURCE_READER_ANY_STREAM behavior based on tests.
+Bhavesh Davda (1):
+ wined3d: Add GPU information for NVIDIA Ampere A10 and AMD Radeon Pro V620 GPUs.

-Dmitry Timoshkov (1):
- d2d1: Add partial support for image brushes.
+Biswapriyo Nath (2):
+ include: Add IDXGIInfoQueue declaration in dxgidebug.idl.
+ include: Add IDXGIDebug1 declaration in dxgidebug.idl.
+Brendan Shanks (7):
+ ntdll: Add zero_bits parameter to virtual_map_builtin_module.
+ ntdll: Add zero_bits parameter to open_builtin_pe_file.
+ ntdll: Add zero_bits parameter to find_builtin_dll.
+ ntdll: Add zero_bits parameter to load_builtin.
+ wbemprox: Use return length from NtQuerySystemInformationEx().
+ ntdll: Use +threadname channel for thread rename exceptions.
+ ntdll: Use +threadname channel for SetThreadDescription().
+Claire Girka (1):
+ mmdevapi: Override product strings for DualSense controller audio devices.

-Gabriel Ivăncescu (7):
- mshtml: Expose IE10+ XMLHttpRequest props via private interface.
- mshtml: Implement onabort for XMLHttpRequest.
- mshtml: Implement onprogress for XMLHttpRequest.
- mshtml: Implement onloadstart for XMLHttpRequest.
- mshtml: Implement onloadend for XMLHttpRequest.
- mshtml: Implement withCredentials for XMLHttpRequest.
- jscript: Use LIST_FOR_EACH_ENTRY_SAFE to clear Map and Set objects.
+Connor McAdams (1):
+ uiautomationcore: Initialize VARIANT in test_uia_prov_from_acc_properties() (Coverity).
+Daniel Lehman (1):
+ include: Add _tcsto[u]ll declarations.
+David Curtiss (1):
+ ws2_32: Allow getsockname after AcceptEx.
+David Kahurani (3):
+ xmllite/reader: Avoid memory leak on error path.
+ xmllite/writer: Handle possible memory allocation failures.
+ xmllite/writer: Fix typo in a comment.
+Dmitry Timoshkov (1):
+ comctl32/listview: Add partial support for LVM_SETBKIMAGE.
+Eric Pouech (9):
+ winedump: Explore a bit more TPI hash elements.
+ dbghelp: Rely on first/last type index from type header.
+ mscvpdb.h: Redefine property with bitfields.
+ dbghelp: Clearly separate the type loading into two passes.
+ dbghelp: Preserve PDB's partial order for types of same name.
+ dbghelp: Use remap table from PDB hash stream.
+ winedbg: No longer hide current WineDbg process from 'info proc'.
+ dbghelp/msc: Support LF_INDEX* in enumeration type definition.
+ d3d10core: Enable compilation with long types.
+Floris Renaud (1):
+ po: Update Dutch translation.

Georg Lehmann (1):
- winevulkan: Update to VK spec version 1.3.217.
+ winevulkan: Update to VK spec version 1.3.219.

-Giovanni Mascellani (2):
- mfplat/tests: Test interaction between Lock() and LockRect().
- mfplat/tests: Test interaction between Lock2D() and LockRect().
+Giovanni Mascellani (5):
+ mfplat/buffer: Fix size for IMC2/IMC4 buffers with odd height.
+ mfplat/tests: Use a more unique pattern when testing image formats.
+ mfplat/buffer: Fix the image copy function for IMC2/IMC4 buffers with odd height.
+ mfplat/buffer: Deduplicate common code between Lock2D() and Lock2DSize().
+ mfplat/tests: Remove duplicated tests.

Hans Leidekker (5):
- winhttp: Fix default port corner cases in WinHttpCrackUrl().
- cryptnet: Fail CRL verification if there's no issuer certificate.
- cryptnet: Move revocation cache check to verify_cert_revocation_from_dist_points_ext().
- cryptnet: Fall back to online CRL verification if OCSP verification fails.
- winhttp: Release object on allocation failure.
-Hugh McMaster (2):
- conhost: Show caret immediately after reshaping.
- conhost: Update debug output and comments when loading/saving settings.
-Jacek Caban (59):
- wineandroid: Use ntdll for UTF8 conversion.
- wineandroid: Don't use unicode.h.
- wineandroid: Remove audio driver.
- wineandroid: Directly use ntdll for registry access.
- wineandroid: Directly use win32u for GDI functions.
- wineandroid: Implement desktop window proc using driver interface.
- wineandroid: Directly use win32u for user calls.
- wineandroid: Use pthread for locking in opengl.c.
- wineandroid: Use pthread for window data locking.
- wineandroid: Use pthread for surface locking.
- wineandroid: Move DllMain to separated file.
- wineandroid: Move wine_create_desktop_to dllmain.c.
- wineandroid: Use libc for memory allocation.
- wineandroid: Directly use ntdll instead of kernel32.
- wineandroid: Move device thread to dllmain.c.
- wineandroid: Use unixlib interface for register_window_callback.
- win32u: Use public name for SetThreadDpiAwarenessContext.
- wineandroid: Build with msvcrt.
- mmdevapi: Remove android from default driver list.
- jscript/tests: Add test for releasing script context objects.
- jscript: Correctly handle deleted entries in iterate_map.
- vbscript: Use return_bool in more places.
- win32u: Don't call CopyImage with user lock in NtUserRegisterClassExWOW.
- win32u: Don't call CopyImage with user lock in set_class_long.
- win32u: Move NtUserLockWindowUpdate implementation from user32.
- user32: Use a critical section in RegisterUserApiHook.
+ include: Move SECPKG_ATTR defines to a new header and add missing definitions.
+ secur32: Implement SECPKG_ATTR_CIPHER_INFO.
+ winhttp: Remove assertion that is no longer valid in Windows 10.
+ wininet: Remove assertion that is no longer valid in Windows 10.
+ secur32: Return a SECBUFFER_MISSING buffer from the handshake if the input message is incomplete.
+Henri Verbeet (1):
+ wined3d: Restore the vkd3d-shader version TRACE.
+Hugh McMaster (3):
+ regedit: Pass correct data size when adding a new value via the GUI.
+ regedit: Use correct printf specifier for UINT64 (QWORD) values.
+ regedit: Allow renaming of values in root keys.
+Huw D. M. Davies (5):
+ iphlpapi/tests: Allow the route's age to differ by one second.
+ nsiproxy: Use an unsigned integer for the ICMP handles.
+ nsiproxy: Pass a ptr to receive the ICMP handle.
+ iphlpapi: Don't allocate the IO status block on the stack.
+ wow64: Report the correct size for SystemLogicalProcessorInformationEx.
+Jacek Caban (21):
+ win32u: Move default key messages implementation from user32.
+ win32u: Move WM_APPCOMMAND implementation from user32.
+ win32u: Move WM_WINDOWPOSCHANGED implementation from user32.
+ win32u: Move default WM_CTL* window message implementation from user32.
+ win32u: Move WM_PRINT implementation from user32.
+ win32u: Move more default window messages implementation from user32.
+ win32u: Move WM_SHOWWINDOW implementation from user32.
+ win32u: Move WM_GETTEXTLENGTH implementation from user32.
+ win32u: Move WM_GETTEXT implementation from user32.
+ win32u: Move get_menu_item_info implementation from user32.
+ user32: Reimplement GetMenuStringA on top of NtUserThunkedMenuItemInfo.
+ user32: Reimplement GetMenuStringW on top of NtUserThunkedMenuItemInfo.
+ win32u: Move GetMenuItemID implementation from user32.
+ user32: Reimplement SetMenuItemBitmaps on top of NtUserThunkedMenuItemInfo.
+ win32u: Move CheckMenuRadioItem implementation from user32.
+ user32: Use NtUserThunkedMenuItemInfo for GetSubMenu implementation.
+ win32u: Move GetMenuDefaultItem implementation from user32.
+ user32: Use IsMenu in MENU_mnu2mnuii.
+ win32u: Move NtUserGetSystemMenu implementation from user32.
+ win32u: Move menu object declarations to menu.c.
user32: Remove no longer needed helpers.
- win32u: Remove no longer used __wine_set_user_driver PE entry point.
- win32u: Move NtUserScrollWindowEx implementation from user32.
- win32u: Move SetWindowContextHelpId implementation from user32.
- win32u: Move NtUserDragDetect implementation from user32.
- win32u: Move NtUserInternalGetWindowIcon implementation from user32.
- winex11: Use LoadImageW in fetch_icon_data.
- win32u: Move SC_SIZE and SC_MOVE handling from user32.
- win32u: Allow passing simple LOGFONTW to NtGdiHfontCreate.
- win32u: Move WM_NCPAINT handling from user32.
- win32u: Move WM_NCACTIVATE implementation from user32.
- win32u: Move GetDialogBaseUnits implementation from user32.
- win32u: Simplify get_text_metr_size.
- win32u: Move WM_NCCALCSIZE implementation from user32.
- win32u: Move NtUserDrawMenuBarTemp implementation from user32.
- win32u: Move MENU_DrawMenuBar implementation from user32.
- win32u: Move PopupMenuWndProc implementation from user32.
- user32: Reimplement GetMenuContextHelpId on top of GetMenuInfo.
- win32u: Move NtUserMenuItemFromPoint implementation from user32.
- win32u: Move WM_KEYF1 implementation from user32.
- win32u: Move NtUserInvalidateRect and NtUserInvalidateRgn implementation from user32.
- win32u: Move process default layout handling from user32.
- win32u: Move WM_NCHITTEST implementation from user32.
- win32u: Move WM_NCLBUTTONDOWN implementation from user32.
- win32u: Move WM_NCRBUTTONDOWN implementation from user32.
- win32u: Use NtUserCallHwnd for NtUserSetForegroundWindow.
- win32u: Move menu tracking implementation from user32.
- win32u: Move WM_CONTEXTMENU and WM_POPUPSYSTEMMENU implementation from user32.
- win32u: Move NtUserDrawCaptionTemp implementation from user32.
- win32u: Move WM_SETCURSOR implementation from user32.
- win32u: Move WM_NCLBUTTONDBLCLK and WM_LBUTTONDBLCLK implementation from user32.
- win32u: Move more WM_SYSCOMMAND implementation from user32.
- win32u: Move NtUserGetTitleBarInfo implementation from user32.
-Jactry Zeng (2):
- dwmapi: Fill rateRefresh/rateCompose and qpcRefreshPeriod of DWM_TIMING_INFO from DwmGetCompositionTimingInfo().
- dwmapi: Return S_OK from DwmFlush().
-Jinoh Kang (5):
- comctl32: Fix integer overflow in DPA_Search.
- riched20/tests: Add tests for drawing embedded OLE objects.
- riched20: Fetch extent from object if REOBJECT::sizel is unset.
- riched20: Draw OLE objects with IViewObject implementation.
- comctl32: Always paint SS_BITMAP static control background with WM_CTLCOLORSTATIC brush.
-Julian Klemann (4):
- httpapi/tests: Move sleep statement.
- httpapi/tests: Add tests for when URLs fail to be added to a queue.
- httpapi: Stop setting group->url if add_url() fails.
- http.sys: Add support for adding multiple urls to request queues.
-Lauri Kenttä (1):
- po: Update Finnish translation.
-Louis Lenders (2):
- wbemprox: Add a few properties to Win32_QuickFixEngineering.
- advapi32: Fix spec entry for LookupPrivilegeDisplayName{A,W}.
-Martin Storsjö (5):
- ntdll: Add SEH unwind info in ARM assembly functions/trampolines.
- ntdll: Use ControlPcIsUnwound for the RtlVirtualUnwind pc parameter in virtual_unwind.
- ntdll: Take ControlPcIsUnwound into account on arm64 too.
- ntdll/tests: Fix printing of incorrect exception handler data.
- ntdll/tests: Test returning an exception handler on arm/arm64.
-Matteo Bruni (2):
- d3dx10/tests: Initialize a function argument.
- d3dx10/tests: Add a test for loading an invalid resource from a valid module.
-Nikolay Sivov (16):
- windows.gaming.input: Fix a leak on error path (Coverity).
- secur32/schannel: Avoid use-after-free in AcquireClientCredentials() (Coverity).
- kernelbase/tests: Move VirtualAllocFromApp() tests.
- kernelbase: Implement VirtualAlloc2FromApp().
- kernelbase/tests: Add some more tests for region splitting.
- ntdll/tests: Add some tests for VM regions splitting.
- d2d1: Use d3d11 constants for constant buffer description.
- d3d11: Do not return uninitialized values on Map() failure.
- d2d1: Update to ID2D1DeviceContext1.
- d3d11/tests: Add some tests for IDXGIResource support.
- dxgi/tests: Add a IDXGIResource support test for CreateSurface().
- dxgi: Create DXGI resource object, optionally supporting surface interfaces.
- d3d11: Add a helper to create DXGI resource objects.
- d3d11: Always use dxgi resource private store for 1D and 2D textures.
- d3d11: Create dxgi resource object for 3D textures.
- d3d11: Create dxgi resource objects for buffers.
-Paul Gofman (15):
- winhttp: Keep task in queue until completion.
- winhttp: Implement reference counting for tasks.
- winhttp: Fix dwResult field in websocket receive error result.
- winhttp: Replace pending read cancel in WinHttpWebSocketClose() with a generic cancel_queue().
- winhttp: Abort websocket IO on handle close.
- winhttp: Support abort in task_socket_close().
- winhttp/tests: Add tests for closing web socket with pending operations.
- ws2_32: Check for valid socket in WSAGetOverlappedResult().
- ntdll: Cancel asyncs when thread is terminated.
- ws2_32/tests: Add tests for terminated thread asyncs completion.
- winhttp: Introduce netconn_wait_overlapped_result() helper.
- winhttp: Use completion port for async send.
- ws2_32: Make wait in select() alertable.
- ws2_32: Make wait in WS2_recv_base() alertable.
- iphlpapi: Return ERROR_NO_DATA from GetIpNetTable() if no entries are found.
-Piotr Caban (28):
- wow64: Fix NtQueryDirectoryObject wrapper.
- d3dx10: Use CRT memory allocators.
- d3dx11: Use CRT memory allocators.
- d3dx10: Share code for file data loading.
- d3dx10: Share code for resource data loading.
- d3dx10: Add D3DX10CreateAsyncTextureInfoProcessor implementation.
- d3dx10/tests: Add D3DX10CreateAsyncTextureInfoProcessor tests.
- d3dx10: Don't ignore HRESULT parameter in D3DX10GetImageInfoFrom* functions.
- d3dx10/tests: Add D3DX10GetImageInfoFromMemory HRESULT argument tests.
- d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10GetImageInfoFromFileW.
- d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10GetImageInfoFromResourceA.
- d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10GetImageInfoFromResourceW.
- d3dx10: Support ID3DX10ThreadPump parameter in D3DX10GetImageInfoFromMemory.
- d3dx10/tests: Add D3DX10GetImageInfoFromMemory thread pump tests.
- server: Always return Win32 error code from IOCTL_AFD_GET_SO_ERROR.
- server: Don't reset socket error in poll_socket.
- server: Don't reset socket error in IOCTL_AFD_GET_SO_ERROR.
- d3dx10: Don't ignore HRESULT parameter in D3DX10CreateTextureFromMemory.
- d3dx10/tests: Add D3DX10CreateTextureFromMemory HRESULT argument tests.
- d3dx10: Exit early on volume textures in D3DX10CreateTextureFromMemory.
- d3dx10: Add D3DX10CreateAsyncTextureProcessor stub.
- d3dx10: Add D3DX10CreateAsyncTextureProcessor implementation.
- d3dx10/tests: Add D3DX10CreateAsyncTextureProcessor tests.
- d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10CreateTextureFromFileW.
- d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10CreateTextureFromResourceA.
- d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10CreateTextureFromResourceW.
- d3dx10: Add support for ID3DX10ThreadPump parameter in D3DX10CreateTextureFromMemory.
- d3dx10/tests: Add D3DX10CreateTextureFromMemory thread pump tests.
+Jactry Zeng (1):
+ include: Add definition of ScriptPlaceOpenType().
+Jinoh Kang (10):
+ winedbg: Fix typos in manpage.
+ riched20: Commit and wrap paragraphs after changing text properties.
+ ntdll/tests: Add more tests for \Device\NamedPipe\ root directory.
+ iphlpapi/tests: Add tests for GetBestInterface.
+ iphlpapi/tests: Add tests for GetBestRoute.
+ iphlpapi/tests: Add tests for GetBestInterfaceEx.
+ iphlpapi/tests: Factor out interface identifier conversion with invalid parameters.
+ iphlpapi/tests: Add more tests for interface identifier conversion failure.
+ winedbg: Clarify options specific to GDB proxy mode.
+ windowscodecs: Fix non-zero alpha detection in ImagingFactory_CreateBitmapFromHICON.
+Julian Rüger (1):
+ po: Update German translation.
+Nikolay Sivov (33):
+ d2d1: Use CRT memory allocation functions.
+ d2d1/effect: Forward color context methods to corresponding device context.
+ d2d1/effect: Add LoadPixelShader().
+ d2d1/effect: Add LoadComputeShader().
+ d2d1/effect: Add CheckFeatureSupport().
+ d2d1/effect: Move effect instance creation to the device context.
+ d3d11: Remove null dxgi object checks.
+ d2d1: Implement IsBufferPrecisionSupported().
+ d2d1/effect: Forward IsBufferPrecisionSupported() to corresponding device context.
+ regedit: Add support for REG_QWORD type.
+ regedit: Remove unnecessary string conversion when modifying REG_DWORD value.
+ d2d1/effect: Reserve a buffer for property values.
+ d2d1/effect: Set property index.
+ d2d1: Move effect object creation to effect.c.
+ d2d1/effect: Set initial value for uint32 properties.
+ d2d1/effect: Handle initial values for D2D1_PROPERTY_TYPE_BOOL.
+ d2d1/effect: Create effect instance properties from builtin effect description.
+ d2d1/effect: Initial implementation of property access methods.
+ d2d1/effect: Add D2D1_PROPERTY_CACHED property.
+ d2d1/effect: Mark most of system properties as read-only.
+ d2d1/effect: Implement custom effects creation.
+ d2d1/effect: Mark custom properties as writable.
+ d2d1/effect: Use property binding methods.
+ d2d1/effect: Use known names for automatically added properties.
+ d2d1/effect: Add D2D1_PROPERTY_PRECISION property.
+ d2d1/tests: Enable effect context tests on Wine.
+ reg: Add REG_QWORD support to 'add'.
+ ntdll/tests: Add some tests for NtRenameKey().
+ advapi32/tests: Add some tests for RegRenameKey().
+ ntdll: Implement NtRenameKey().
+ advapi32: Implement RegRenameKey().
+ d2d1/effect: Initial implementation of subproperties.
+ d2d1/tests: Add some tests for enum property structure.
+Paul Gofman (8):
+ winex11.drv: Store wgl_drawable instead of GLX drawable in wgl_pbuffer.
+ winex11.drv: Destroy GLX pbuffer when destroying drawable.
+ nsiproxy.sys: Strip trailing end of line for iface name on Linux.
+ iphlpapi: Correctly index dynamic data array.
+ iphlpapi: Sort by adapter index first in GetIpNetTable().
+ opengl32: Prioritize stencil check over depth check in wglChoosePixelFormat().
+ opengl32/tests: Add more tests for ChoosePixelFormat().
+ nsiproxy.sys: Add static ARP entries which are always present on Windows.

Robert Wilhelm (1):
- vbscript: Implement IsDate().
-Rémi Bernon (61):
- winegstreamer: Return void from align_video_info_planes.
- windows.gaming.input: Consistently use FIXME for E_NOINTERFACE messages.
- include: Add Windows.Gaming.Input.IGamepad2 interface declaration.
- windows.gaming.input: Implement stub IGamepad2 interface.
- winegstreamer: Introduce new wg_transform_(push|read)_mf helpers.
- winegstreamer: Rename mf_(create|destroy)_wg_sample helpers.
- winegstreamer: Introduce a new custom memory allocator.
- winegstreamer: Support zero-copy output using the allocator.
- winegstreamer: Support zero-copy in wg_transform_push_data.
- dinput/tests: Avoid requiring foreground window in SetCooperativeLevel tests.
- dinput/tests: Use dinput_test_(init|exit) for all tests.
- dinput/tests: Merge device.c tests into device8.c.
- ole32/tests: Update IStream_SetSize with large size test result.
- ntdll: Add block padding when HEAP_ADD_USER_INFO flag is set.
- kernelbase: Use HEAP_ADD_USER_INFO for HLOCAL allocations.
- ntdll: Implement RtlSetUserValueHeap.
- kernelbase: Use RtlSetUserValueHeap to store HLOCAL.
- dinput/tests: Add some broken joystick axis results.
- dinput: Fix DIPROP_FFGAIN mouse and keyboard tests.
- dinput/tests: Run mouse info tests for every dinput version.
- dinput/tests: Merge mouse.c tests into device8.c.
- dinput/tests: Run keyboard info tests for every dinput version.
- dinput/tests: Merge keyboard.c tests into device8.c.
- ntdll: Implement RtlGetUserValueHeap.
- kernel32: Use RtlGetUserInfoHeap in GlobalHandle.
- kernelbase: Stop using an offset for HLOCAL pointers.
- kernel32: Cleanup and simplify (Global|Local)Size.
- kernel32: Cleanup and simplify (Global|Local)Handle.
- kernelbase: Cleanup and simplify (Global|Local)ReAlloc.
- ntdll: Rename HEAP to struct heap and remove typedef.
- ntdll: Consistently name heap handles and pointers.
- ntdll: Rename HEAP_GetPtr to unsafe_heap_from_handle.
- ntdll: Use block_size and data_size in subheap structure.
- ntdll: Remove heap pointer from SUBHEAP structure.
- winebus.sys: Implement SOCD neutral cleaning for hatswitches.
- winegstreamer: Split wg_sample wrapper helpers to a separate source.
- winegstreamer: Use a union in struct sample to keep API pointers.
- winegstreamer: Introduce new wg_sample_create_quartz helper for quartz_transform.c.
- winegstreamer: Support zero-copy wg_transform_push_data in quartz_transform.c.
- winegstreamer: Support zero-copy wg_transform_read_data in quartz_transform.c.
- winegstreamer: Remove copying support from wg_transform_push_data.
- winegstreamer: Return NS_E_INVALID_REQUEST on WMReader Start before Open.
- winegstreamer: Return E_UNEXPECTED from WMReader_Open when already opened.
- winegstreamer: Return E_UNEXPECTED from WMReaderAdvanced2_OpenStream when already opened.
- winegstreamer: Move end conditions out of the wm_asyncreader stream loop.
- winegstreamer: Simplify wm_asyncreader stream loop exit code path.
- winegstreamer: Leave the wm_reader stream_cs when calling the callbacks.
- mscoree: Avoid using pointer after free.
- mshtml/tests: Avoid using pointer value after free.
- oleaut32/tests: Workaround use after free warnings.
- user32/tests: Workaround use after free warnings.
- msi: Avoid using pointer value after free.
- notepad: Avoid using pointer value after free.
- dsound: Avoid using pointer value after free.
- d3drm: Avoid using pointer value after free.
- server: Avoid using pointer value after realloc.
- winegstreamer: Register stub ResamplerMediaObject transform.
- winegstreamer: Implement ResamplerMediaObject transform.
- winegstreamer: Remove unnecessary WineAudioConverter transform.
- winegstreamer: Register stub ColorConvertDMO transform.
- winegstreamer: Implement ColorConvertDMO transform.
-Sebastián Aedo (1):
- winex11.drv: Change order register_extension for WGL_ARB_pixel_format_float.
+ vbscript: Use return_null in more places.
+Rémi Bernon (11):
+ winebus.sys: Move bus_event list entry to an internal structure.
+ winebus.sys: Use UINT instead of enum and UINT64 instead of unix_device pointer.
+ mf/tests: Add more consistent reference count checks.
+ mf/tests: Add some missing IMFActivate_ShutdownObject calls.
+ mf: Avoid leaking nodes in IMFTopoLoader_Load.
+ mf: Release video renderer services before re-initializing.
+ mf: Uninitialize renderer before creating mixer and presenter.
+ winex11.drv: Rename display settings handlers to settings_handler.
+ winex11.drv: Use nameless structs and unions in settings.c.
+ winex11.drv: Merge settings.c into display.c.
+ winex11.drv: Avoid requesting current mode in X11DRV_desktop_get_modes.

Stefan Dösinger (1):
- include: Emit CFI directives when building on Mac with gcc.
-Tim Clem (1):
- ntdll: Move SEH exception info logs back to the seh channel.
-Timo Zuccarello (1):
- winebus: Optionally split joysticks with more than 6 axes.
-Torge Matthies (2):
- cryptnet: Resolve object id to algorithm id when verifying OCSP response.
- msvcp90: Fix segfault in bad_alloc exception default constructor.
-Zebediah Figura (12):
- wined3d: Parse the eval_centroid opcode.
- wined3d: Cap the maximum reported VRAM, not the current reported VRAM.
- hidclass.sys: Expose an ioctl to retrieve the raw input handle.
- dinput: Use IOCTL_HID_GET_WINE_RAWINPUT_HANDLE to retrieve the raw input handle.
- user32: Use IOCTL_HID_GET_WINE_RAWINPUT_HANDLE to retrieve the raw input handle.
- hidclass.sys: No longer set the DEVPROPKEY_HID_HANDLE property.
- user32: Store the device path as a simple string pointer.
- user32: Use registry APIs to enumerate raw input devices.
- user32/tests: Add some more tests related to the RAWINPUT structure.
- user32: Correctly fill the RAWINPUT structure on WoW64.
- win32u: Move NtUserGetRawInputData from user32.
- win32u: Move NtUserGetRawInputBuffer from user32.
+ winecfg: Support color profiles larger than MAX_PATH chars.
+Zebediah Figura (24):
+ d3d11/tests: Add tests for D3D11_FORMAT_SUPPORT_BLENDABLE.
+ wined3d: Add Vulkan format information for WINED3DFMT_B5G6R5_UNORM.
+ wined3d: Retrieve caps from both WINED3D_GL_RES_TYPE_TEX_2D and WINED3D_GL_RES_TYPE_RB for 2D textures in wined3d_check_device_format().
+ win32u: Move process_rawinput_message() from user32.
+ win32u: Move raw input thread data allocation from user32.
+ win32u: Use syscall interface for NtUserGetRawInputData.
+ win32u: Use syscall interface for NtUserGetRawInputBuffer.
+ dnsapi: Clarify that Windows does not implement DnsQueryConfig(DnsConfigSearchList).
+ dnsapi: ntdll_umbstowcs() deals in characters, not bytes.
+ dnsapi: Return a double-null-terminated string from DnsQueryConfig(DnsConfigSearchList).
+ ntdll: Add some documentation for ntdll_umbstowcs() and ntdll_wcstoumbs().
+ ntdll/tests: Fix test_user_apc() on i386.
+ ntdll/tests: Fix test_user_apc() on Windows < 7.
+ ntdll/tests: Test setting the return value via alertable NtContinue().
+ win32u: Move NtUserRegisterRawInputDevices from user32.
+ win32u: Move NtUserGetRegisteredRawInputDevices from user32.
+ win32u: Move raw input device list management from user32.
+ user32: Merge rawinput.c into input.c.
+ wineusb.sys: Move the libusb_cancel_transfer() call to a new Unix library.
+ wineusb.sys: Cache members of the device descriptor in the usb_device structure.
+ wineusb.sys: Do not store a reference to the libusb device in the usb_device structure.
+ wineusb.sys: Create a separate unix_device struct to wrap the libusb device handle.
+Zhiyi Zhang (49):
+ uxtheme: Support parsing more button parts and states.
+ uxtheme: Support parsing more clock states.
+ uxtheme: Support parsing more combobox parts and states.
+ uxtheme: Support parsing more edit parts and states.
+ uxtheme: Support parsing more header parts and states.
+ comctl32/toolbar: Add support for TBCDRF_NOBACKGROUND.
+ comctl32/tests: Test that themed toolbar buttons don't use pattern brushes to draw checked background.
+ comctl32/toolbar: Don't use pattern brushes to draw checked background.
+ uxtheme: Support parsing more listview parts and states.
+ uxtheme: Support parsing navigation class.
+ uxtheme: Support parsing more rebar parts and states.
+ uxtheme: Support parsing more scrollbar parts and states.
+ uxtheme: Support parsing more start panel parts and states.
+ uxtheme: Support parsing more tab parts.
+ uxtheme: Support parsing taskdialog class.
+ uxtheme: Support parsing more treeview parts and states.
+ uxtheme: Support parsing more toolbar parts and states.
+ uxtheme: Support parsing more tooltip parts and states.
+ uxtheme: Support parsing more window parts and states.
+ uxtheme/tests: Test that DrawThemeBackgroundEx() is at ordinal 47.
+ uxtheme: Place DrawThemeBackgroundEx() at ordinal 47.
+ uxtheme: Test DrawThemeBackgroundEx() alpha channel handling.
+ uxtheme: Do not transfer glyph alpha values when drawing opaque background.
+ uxtheme/tests: Add GetThemeBackgroundRegion() tests.
+ uxtheme: Handle BT_NONE in GetThemeBackgroundRegion().
+ light.msstyles: Add Vista+ button parts.
+ light.msstyles: Add Vista+ combobox parts.
+ light.msstyles: Add Vista+ edit parts.
+ light.msstyles: Add Explorer::TreeView subclass.
+ light.msstyles: Add Vista+ header parts.
+ light.msstyles: Add Vista+ listview parts.
+ light.msstyles: Add Vista+ menu parts.
+ light.msstyles: Add navigation class.
+ light.msstyles: Add Vista+ rebar parts.
+ light.msstyles: Add Vista+ scrollbar parts.
+ light.msstyles: Add Vista+ spin parts.
+ uxtheme/tests: Add dialog procedure message tests.
+ uxtheme: Avoid calling application dialog procedures repeatedly.
+ light.msstyles: Add Vista+ tab parts.
+ light.msstyles: Add taskdialog class.
+ light.msstyles: Add Vista+ toolbar parts.
+ light.msstyles: Add Vista+ tooltip parts.
+ light.msstyles: Add Vista+ trackbar parts.
+ light.msstyles: Add window parts.
+ evr: Release buffer after adding it to sample.
+ evr/tests: Fix resource leaks.
+ d2d1/tests: Fix resource leaks.
+ mfplat/tests: Fix resource leaks.
+ winex11.drv: Use a global Vulkan instance in X11DRV_D3DKMTOpenAdapterFromLuid().
+Ziqing Hui (8):
+ d2d1: Partially implement RegisterEffectFromStream().
+ d2d1: Implement property parsing for RegisterEffectFromStream().
+ d2d1: Implement UnregisterEffect().
+ d2d1/effect: Create implementation instance for the effect object.
+ d2d1/effect: Add a transform graph stub.
+ d2d1/tests: Add tests for system properties attributes.
+ d2d1/tests: Add tests for GetPropertyCount().
+ d2d1/tests: Test value size checking for custom properties.

Alexandre Julliard
diff --git a/AUTHORS b/AUTHORS
index 5d7eda4e0d2..d56a40b6b93 100644
@@ -209,6 +209,7 @@ Bernhard Reiter
Bernhard Rosenkränzer
Bernhard Übelacker
Bertho Stultiens
+Bhavesh Davda
Bill Currie
Bill Hawes
Bill Jin
@@ -318,6 +319,7 @@ Chris Wilson
Chris Wulff
Chuck Crayne
Cihan Altinay
+Claire Girka
Claudio Fontana
Claus Fischer
Clemens Tamme
@@ -379,6 +381,7 @@ David Bartley
David Beck
David Black
David Collett
+David Curtiss
David D. Hagood
David Elliott
Davide Pizzetti
diff --git a/VERSION b/VERSION
index 12afdd939c2..b86168e7d49 100644
@@ -1 +1 @@
-Wine version 7.11
+Wine version 7.12
diff --git a/configure b/configure
index 4b679394357..50c23800f62 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 7.11.
+# Generated by GNU Autoconf 2.71 for Wine 7.12.
# Report bugs to .
@@ -611,8 +611,8 @@ MAKEFLAGS=
# Identity of this package.

@@ -2286,7 +2286,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 7.11 to adapt to many kinds of systems.
+\`configure' configures Wine 7.12 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

@@ -2356,7 +2356,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Wine 7.11:";;
+ short | recursive ) echo "Configuration of Wine 7.12:";;
cat <<\_ACEOF

@@ -2623,7 +2623,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Wine configure 7.11
+Wine configure 7.12
generated by GNU Autoconf 2.71

Copyright (C) 2021 Free Software Foundation, Inc.
@@ -3107,7 +3107,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 7.11, which was
+It was created by Wine $as_me 7.12, which was
generated by GNU Autoconf 2.71. Invocation command line was

$ $0$ac_configure_args_raw
@@ -22896,7 +22896,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
-This file was extended by Wine $as_me 7.11, which was
+This file was extended by Wine $as_me 7.12, which was
generated by GNU Autoconf 2.71. Invocation command line was

@@ -22960,7 +22960,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-Wine config.status 7.11
+Wine config.status 7.12
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"

b2bf7b6b899 Release 7.12.
ANNOUNCE | 721 +++++++++++++++++++++++++++++---------------------------------
VERSION | 2 +-
configure | 18 +-
4 files changed, 354 insertions(+), 390 deletions(-)


  • Share