Because WINENV is limited (32767 bytes), and HOSTENV can be much larger, a whitelisting approach is used to keep WINENV as small as possible. Currently, only the following envvars are propagated from the host env to WINENV WINEPATH, WINEPWD, WINEHOME, WINETEMP, WINETMP, WINEQT_, WINEVK_, WINEXDG_SESSION_TYPE
Moreover, the NIXENV (env for running wine processes - not applications) on the host system is not produced from WINENV anymore, but the global ENV is propagated to all wine processes and threads.
This might be an alternative approach to MR!5231, MR!6140, bug #56941 and should provide a more deterministic behaviour of wine, because unrelated envvars do have no influence on the env for running windows applications.
Initial tests (winemine, notepad, cmd, etc) seem to run fine, but some envvars might need additional consideration. XVDK_* was mentioned, WINE*, MESA_*, VK_*, QT_*, LIBGL_* are other suspects.
Moreover, this is my first merge request, so your feedback is highly appreciated.
-- v21: winex11: Introduce a new window_update_client_config helper. winex11: Introduce a new window_update_client_state helper. winex11: Use the new window state tracker to get WM_STATE value. winex11: Use the new window state tracker to get _NET_WM_STATE value. winex11: Ignore focus changes during WM_STATE transitions. include: Add UI Automation Annotation Type ID definitions. winex11: Include kbd.h instead of ime.h. include: Add Japanese IME virtual key codes to kbd.h. wininet: Use InternetTimeToSystemTimeW() to convert header values. wininet: Accept UTC as the equivalent of GMT. comctl32/listview: Send LVN_HOTTRACK in response to mouse moves. comctl32/listview: Initialize hot cursor handle. dbghelp: Fill-in data in SymSrvGetFileIndexIndo if BAD_EXE_FORMAT. dbghelp/tests: Improve SymSrvGetFileIndexInfo tests. dbghelp: Only WARN on stripped PE images. dbghelp: Don't try to load PDB for a RSDS debug directory in .buildid section. Add .gitattributes file to mark generated files. server: Use an explicit struct instead of a typedef for async I/O data. server: Use an explicit struct instead of a typedef for user APCs. server: Use an explicit union instead of a typedef for APC results. server: Use an explicit union instead of a typedef for APC calls. server: Simplify updating the protocol version. server: Move the generated part of trace.c to a separate header. server: Move the generated part of request.h to a separate header. server: Print a warning if page size isn't 4k. winex11: Always generate ConfigureNotify events for embedded windows. winex11: Generate ConfigureNotify events for the children tree. winex11: Avoid overriding previously received ConfigureNotify events. winex11: Retrieve the HWND for the host window's child window. winex11: Introduce a new host_window_send_configure_events helper. winex11: Reset the window relative position when it gets reparented. winex11: Reset embedded window position to 0x0 before docking it. ntdll: Implement NtSetIoCompletionEx(). ntdll/tests: Add NtSetIoCompletionEx() tests. dwrite/layout: Skip to the next typography range when current one has no features. server: Don't update cursor pos in set_window_pos() if window wasn't moved. ntdll/tests: Fix a test failure on 64-bit Windows. ntdll: Always return 0 length on failure in SystemFirmwareTableInformation. rundll32: Restart itself if the dll is for a different architecture. rundll32: Rewrite command line parsing. rundll32: Use crt allocation functions. rundll32: Don't bother cleaning up at process exit. configure: Use -fms-hotpatch when available. winegcc: Pass -fms-hotpatch to the linker. configure: Use -ffunction-sections for PE targets. po: Update Lithuanian translation. mshtml: Forward deletion for GLOBAL_SCRIPTVAR to the script's object. mshtml: Check if window global prop still exists before returning its id. mshtml: Override window's element prop directly rather than using GLOBAL_DISPEXVAR. mshtml: Use BSTR to store global prop's name. jscript: Add basic semi-stub implementation of GetMemberProperties. mshtml: Throw invalid action for IE8 window prop deletion. mshtml: Reset builtin function props to their default values when deleted. winex11: Simplify the control flow in ConfigureNotify handlers. winex11: Simplify the control flow in WM_STATE handlers. winex11: Avoid updating _NET_WM_STATE on iconic windows. winex11: Avoid requesting unnecessary window config changes. winex11: Avoid requesting unnecessary _NET_WM_STATE changes. wined3d: Initialize max_blend_stages in the SPIRV fragment pipe. wined3d: Clear caps to zero in shader caps query functions. wined3d: Rewrite the comment in compute_texture_matrix(). wined3d: Calculate the texture matrix solely from the vertex declaration. wined3d: Do not clamp fog in the VS. winex11: Remove stub tablet_get_packet wow64 thunk. wintab32: Align WTPACKET for 32/64-bit archs. explorer: Enable the Wayland driver. user32: Implement GetDpiAwarenessContextForProcess. winemac.drv: Add additional French symbol vkeys mappings. winemac.drv: Add Mac virtual key code information to the German layout. winemac.drv: Allow symbol vkeys to match on Mac virtual key codes. wine.inf: Set MountMgr service start option to SERVICE_BOOT_START. services: Sort services start order by start type. urlmon/tests: Test flags for getting properties. urlmon: Support Uri_DISPLAY_IDN_HOST. urlmon: Support Uri_PUNYCODE_IDN_HOST. urlmon: Support Uri_DISPLAY_NO_FRAGMENT. urlmon: Support Uri_HOST_IDN. fluidsynth: Import upstream release 2.4.0. mpg123: Import upstream release 1.32.9. nls: Update locale data to CLDR version 46. tools: Download all Unicode data files before generating anything. kernelbase: Implement EnumSystemFirmwareTables(). ntdll: Implement BIOS table enumeration. kernel32/tests: Add some tests for EnumSystemFirmwareTables(). kernel32/tests: Remove todo_wine from now succeeding heap test. winevulkan: Use the correct logger method. winevulkan: Use extend() instead of passing two separate roots to functions. desk.cpl: Expose the modesetting emulation registry setting. win32u: Introduce a new registry setting to emulate modesetting. win32u: Compute monitors raw DPI from the physical / current mode ratio. server: Use the monitor infos to map points from raw to virt. win32u: Offset the new display modes relative to the primary source. cmd: Fix 'IF EXIST DIRECTORY' test condition evaluation. cmd: Modifiers in tilde variable expansion are case insensitive. cmd/tests: Add test about IF EXIST. cmd: Implement 'touch' equivalent in COPY builtin. cmd: Fix substring substitution in variable expansion. cmd/tests: Add tests about substring substitution in variable expansion. server: Amend process rights mapping. advapi32: Test some other cases of process access rights mapping. advapi32/tests: Fix typo in manifest constant. kernel32/tests: Don't hardcode page size in buffer size. winewayland: Fix surface scaling with HiDPI compositor. d3dx9: Add support for saving paletted surfaces to DDS files. d3dx9: Set the DDSCAPS_ALPHA flag when saving DDS files with a pixel format containing an alpha channel. d3dx9: Improve save_dds_surface_to_memory(). d3dx9/tests: Add more tests for saving surfaces as DDS files. d3dx9: Don't attempt to save palettized surfaces in D3DXSaveSurfaceToFileInMemory(). d3dx9/tests: Include ddraw.h in surface.c for DDS header flag definitions. dinput: Keep the module around while input thread is running. wined3d: Cast format_id when comparing it to the last format index. d3d8/tests: Use static class for the dummy window. d3d8/tests: Avoid creating visible windows concurrently. d3d9/tests: Use static class for the dummy window. d3d9/tests: Avoid creating visible windows concurrently. winex11: Fix URL encoding for non-ASCII characters. winhttp: Add support WinHttpRequestOption_SslErrorIgnoreFlags in IWinHttpRequest_get_Option. winhttp: Add support WinHttpRequestOption_SslErrorIgnoreFlags in IWinHttpRequest_put_Option. winhttp/tests: Add some tests for WinHttpRequestOption_SslErrorIgnoreFlags in IWinHttpRequest_{put,get}_Option. user32/tests: Remove some obsolete winproc tests. user32/tests: Add tests for ntdll builtin window procs. ntdll/tests: Add tests for the builtin window procs table. user32: Make the builtin window procs table layout compatible with Windows. user32: Use the ntdll function table for builtin window procs. user32: Use the ntdll definitions for builtin windows procs. ntdll: Add support for the builtin window procs table. ntdll: Use HashLinks when searching for a dll using the basename. kernel32/tests: Add tests for module hash links. kernel32/tests: Factor out is_old_loader_struct(). ntdll: Implement HashLinks field in LDR module data. server: Fix a thread reference leak. ntdll/tests: Use the function pointer for NtWow64QueryInformationProcess64. user32: All builtin window procs are now dual A/W. user32: Add an ANSI version of the menu window proc. user32: Add an ANSI version of the icon title window proc. user32: Add an ANSI version of the desktop window proc. po: Update Dutch translation. msvcrt: Do not create a separate heap in newer msvcrt versions. Release 9.21. po: Update Lithuanian translation. ntdll: Use __wine_unix_spawnvp() to invoke unmount command. combase/tests: Add RoGetAgileReference() tests. combase: Implement RoGetAgileReference(). include: Add IAgileReference and INoMarshal. dplayx: Handle PING and send PINGREPLY. dplayx/tests: Test that PINGREPLY is sent in reply to PING. dpwsockx: Receive UDP messages. dplayx/tests: Test receiving UDP messages. dpwsockx: Support non-guaranteed delivery. dplayx/tests: Test non-guaranteed Send(). kernelbase: Support backslashes when parsing relative URL in UrlCombine. d3dx9: Add semi-stub for D3DXOptimizeVertices(). taskschd: Implement IDailyTrigger_get_EndBoundary. taskschd: Implement IDailyTrigger_put_EndBoundary. winex11: Skip faking ConfigureNotify if state/config change is expected. wordpad: Use wide character string literals. winefile: Use wide character string literals. taskmgr: Use wide character string literals. services: Use wide character string literals. oleview: Use wide character string literals. notepad: Use wide character string literals. netstat: Use wide character string literals. klist: Migrate to KerbQueryTicketCacheExMessage. dplayx: Enter the critical section in DP_IF_Receive(). dplayx: Handle DPRECEIVE_TOPLAYER and DPRECEIVE_FROMPLAYER in Receive(). dplayx: Return DPERR_BUFFERTOOSMALL from Receive() if data is NULL. dplayx: Check the buffer size in Receive(). dplayx: Handle game messages. dplayx/tests: Test client side of Receive() separately. ntdll: Add SIGSYS handler to support syscall emulation on macOS Sonoma and later. ntdll/tests: Add test for direct syscalls on x86_64. userenv: Fix GetProfilesDirectoryA return value. kernel32: Rework ExpandEnvironmentStringsA to return ansi size and fix corner cases. kernel32: Rework ExpandEnvironmentStringsW error handling. ntdll: Rework RtlExpandEnvironmentStrings/_U to account for corner cases. kernel32/tests: Add ExpandEnvironmentStringsA tests for japanese. kernel32/tests: Add more tests for ExpandEnvironmentStringsA. kernel32/tests: Add tests for ExpandEnvironmentStringsW. ntdll/tests: Add more tests for RtlExpandEnvironmentStrings/_U. userenv/tests: Add another test for GetProfilesDirectoryA. mountmgr.sys: Stub StorageDeviceSeekPenaltyProperty query. websocket: Add stub for WebSocketDeleteHandle. websocket: Add stub for WebSocketAbortHandle. websocket: Add stub for WebCreateClientHandle. kernel32/tests: Search the current directory for newly-created dlls. ntdll/tests: Skip the syscall relocation test if the file on disk is not updated. win32u: Add some new stub entry points. gdi32: Add some new entry points and ordinals. user32: Add some new entry points and ordinals. user32: Add RegisterTouchPadCapable() stub. user32: Add EnableMouseInPointerForThread() stub. wbemprox: Add property "ExecutablePath" to Win32_Process. wbemprox/tests: Add test for Win32_Process querying "ExecutablePath" propery. iertutil/tests: Add IUriRuntimeClass tests. iertutil/tests: Add IUriRuntimeClassFactory tests. iertutil: Add uri_AbsoluteUri() semi-stub. iertutil: Implement uri_RawUri(). iertutil: Implement uri_factory_CreateUri(). iertutil: Add IUriRuntimeClassFactory stub. dplayx: Send the message in SendEx(). dplayx: Remove the separate branch for DPID_ALLPLAYERS in SendEx(). dplayx: Queue the message for local players in SendEx(). dplayx/tests: Test client side of Send() separately. dplayx/tests: Use the correct system player ID in sendSuperEnumPlayersReply(). ntdll: Do not queue completion for a synchronous file. wow64: Move NtWow64QueryInformationProcess64 to process.c. wow64: Fix handle conversion in NtWow64QueryInformationProcess64. dplayx: Use default DllCanUnloadNow implementation. dplayx: Remove numIfaces variable in IDirectPlayLobby. dplayx: Use a single reference count for IDirectPlay interfaces. server: Implement more FSCTLs on \Device\NamedPipe and \Device\NamedPipe. server: Allow creating named pipes using \Device\NamedPipe\ as RootDirectory. winegcc: Skip --no-default-config in find_libgcc. kernelbase: Add undocumented EXTENDED_FLAGS to process attribute list. include: Add missing defines and enums for IDragSourceHelper2. apphelp: Add stub SetPermLayerState(). apphelp: Add stub SdbGetPermLayerKeys(). apphelp: Add stub SdbSetPermLayerKeys(). server: Use the monitor infos to compute the virtual screen rect. win32u: Inform wineserver about the winstation monitors. win32u: Move some monitor info getter code around. win32u: Use MDT_RAW_DPI monitor DPI type in the drivers. win32u: Implement get_win_monitor_dpi. include: Annotate PFN_CMSG_ALLOC with __WINE_ALLOC_SIZE. dplay: Handle CREATEPLAYER and add player to the session. dplayx/tests: Test that player from CREATEPLAYER is added to the session. dplayx: Always set the data size in GetPlayerData(). dplayx: Set flags correctly in CreatePlayer(). d3dx9: Add support for loading volumes from 48bpp RGB PNG files. d3dx9: Add support for loading surfaces from 48bpp RGB PNG files. d3dx9: Add support for decoding 48bpp RGB PNG files. d3dx9: Add support for decoding 64bpp RGBA PNG files. d3dx9: Report 24bpp RGB as 32bpp XRGB for JPG and PNG files. d3dx9/tests: Add more tests for handling JPG/PNG files. d3dx9: Use the d3dx_pixel_format_id enumeration inside of the WIC pixel format lookup structure. d3dx9: Use the d3dx_pixel_format_id enumeration inside of the DDS pixel format lookup structure. d3dx9: Use the d3dx_pixel_format_id enumeration inside of the d3dx_image structure. d3dx9: Introduce d3dx_pixel_format_id enumeration. ntoskrnl: Stub PoRequestPowerIrp(). wmilib.sys: Add stub DLL. dataexchange: Make core_dragdrop_manager_add_TargetRequested() return S_OK. dataexchange/tests: Add ICoreDragDropManager tests. dataexchange/tests: Add ICoreDragDropManagerStatics tests. dataexchange: Implement dragdrop_manager_interop_GetForWindow(). dataexchange: Add IDragDropManagerInterop stub. dataexchange: Add ICoreDragDropManagerStatics stub. dataexchange: Add initial dll. win32u: Forward to Rectangle() if the ellipse width or height is zero. win32u: Do not convert back to integer before finding intersections. win32u: Correctly handle transforms which flip in get_arc_points(). win32u: Normalize inverted rectangles in dibdrv_RoundRect(). include: Move ISAXXMLFilter interface to after base ISAXXMLReader. include: Add dragdropinterop.idl. include: Add windows.applicationmodel.datatransfer.dragdrop.core.idl. include: Add windows.applicationmodel.datatransfer.dragdrop.idl. gdiplus: Partial implementation of GdipGetEffectParameterSize. gdiplus: Add GdipCreateEffect implementation. include: Fix IMAGE_IMPORT_BY_NAME declaration. include: Add SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE flag. include: Add CaptureStackBackTrace macro definition. include: Add max_align_t definition. include: Add atan2l inline definition. include: Add abs C++ wrapper definitions. include: Add wcscat_s C++ wrapper definitions. dplayx: Set message data size in Receive(). dplayx: Make a deep copy of the message. dplayx: Set message sender and receiver IDs in Receive(). dplayx: Remove received message from the queue. dplayx: Queue DPSYS_CREATEPLAYERORGROUP on player creation. include: Dbs.idl: Added DBVECTOR/DB_VARNUMERIC types. include: Add DB_S_ROWLIMITEXCEEDED define. include: Add DBGUID_DBSQL define. server: Sync cursor position on window position change. include: Add rstidn.idl. include: Add rstfnd.idl. include: Add rstxsc.idl. include: Add rstscr.idl. include: Add math.h _(l|f)dtest function declarations. include: Remove non-existing _atold definition. include: Fix _strtod_l/strtold/_strtold_l declarations. include: Add some __sys_nerr declaration. include: Add some ___mb_cur_max_func declarations. include: Add some struct timespec definitions. include: Add some localized ctype.h function declarations. include: Add __pctype_func declaration. win32u: Compute the owner window hint on behalf of the drivers. winex11: Remove now unused child_window_from_point helper. winex11: Use the toplevel window drawable to create DCs. winex11: Compute absolute rect using the window data window rects. win32u: Introduce a NTGDI_RGN_MONITOR_DPI flag for NtGdiGetRandomRgn. include: Use __attribute__ in preference to __declspec. msvcrt: Try to generate CTYPE data according to the given codepage. msvcrt/tests: Add tests for locale information. winex11: Track window config requests and updates. winex11: Introduce a new window_set_config helper. winex11: Track _NET_WM_STATE window property requests and updates. winex11: Introduce a new window_set_net_wm_state helper. winex11: Introduce a new window_set_wm_state helper. winex11: Track _XEMBED_INFO window property changes. winex11: Track WM_STATE window property requests and updates. win32u: Allocate device manager context monitors dynamically. win32u: Allocate device manager context source dynamically. win32u: Keep the source registry key on the source struct. win32u: Allocate device manager context gpu dynamically. win32u: Clear display device before refreshing the registry cache. wintypes/tests: Add tests for RoResolveNamespace(). winevulkan: Cache downloaded files in make_vulkan. opencl: Cache downloaded files in make_opencl. opengl32: Cache downloaded files in make_opengl. fc: Support /c option. ntdll/tests: Add tests for completion port signaling. kernelbase: Set the proper error code in GetQueuedCompletionStatus{Ex} when the handle is closed. server: Signal completion port waits on handle close. ntdll: Handle user APCs explicitly in NtRemoveIoCompletionEx(). ntdll: Assign completion to thread when wait for completion is satisfied. ntdll: Introduce a separate per-thread object for internal completion waits. include: Add windows.applicationmodel.datatransfer.idl. winex11: Register PropertyChangeMask for unmanaged windows. winex11: Move embedded check in update_net_wm_states / sync_window_style. winex11: Move ConfigureNotify checks after computing visible rect. winex11: Rename read_net_wm_state to get_window_net_wm_state. winex11: Set configure_serial when resizing on display mode change. gdiplus/tests: Add GdipGetEffectParameterSize test. gdiplus: Add GdipGetEffectParameterSize stub and fix GdipDeleteEffect. winegstreamer: Split large WMA samples. capstone: Comment out error printfs. capstone: Allow callers to specify their memory allocators. ole32: Fixed copy paste error with OFFSET_PS_MTIMEHIGH in UpdateRawDirEntry. msvcrt: Improve DBCS support for _toupper_l(). msvcrt/tests: Test toupper() with DBCS. d3dx9/tests: Disable test sometimes crashing on Windows. winemac: Use the new win32u drag'n'drop interface. winemac: Introduce a new QUERY_DRAG_DROP_ENTER query. winemac: Merge DND structures and rename constants / functions. wintypes: Add IPropertyValueStatics tests. wintypes: Implement IReference<DOUBLE>. wintypes: Implement IReference<HSTRING>. wintypes: Implement IReference<boolean>. wintypes: Support IPropertyValue primitive array objects. wintypes: Support IPropertyValue primitive objects. wintypes: Add IPropertyValueStatics stub. wintypes: Use DEFINE_IINSPECTABLE. include: Add Windows.Foundation.PropertyValue runtime class. winex11: Avoid processing RRNotify events in xrandr14_get_id. winecrt0: Use version 2 of CHPE metadata. ntdll: Implement NtWow64QueryInformationProcess64. mf/tests: Fix compilation for gcc 4.7. comdlg32/tests: Fix compilation for gcc 4.7. msvcrt/tests: Add tests of _strnicmp_l(). include: Add _strnicmp_l() declaration. msvcrt/tests: Test _stricmp() with multiple bytes characters. msvcrt: Correct the result of non-ASCII characters for _strnicmp_l(). msvcrt/tests: Test _tolower_l() with DBCS. msvcrt: Improve DBCS support for _tolower_l(). msvcrt/tests: Test tolower() with DBCS. windows.media.speech: Invoke event handlers outside of the critical section. windows.devices.enumeration: Invoke event handlers outside of the critical section. windows.gaming.input: Invoke event handlers outside of the critical section. winex11: Get rid of the now unnecessary foreign windows. winex11: Generate relative ConfigureNotify on parent ConfigureNotify events. winex11: Use the new host windows to register foreign window events. winex11: Keep track of the host windows children window rects. winex11: Keep track of the host windows relative rects. winex11: Keep track of the host window children of interest. winex11: Create host windows recursively up to root_window. winex11: Introduce a new struct host_window for host-only windows. win32u: Do not adjust old valid rect when moving child window bits. include: Add new property keys in propkey.h. mciseq: Don't seek to the end of the root chunk in RMID files. midiseq: Reduce race window when closing sequencer. winetest: Get default tag and URL from Gitlab CI variables. winetest: Remove strmake() len argument for consistency with other modules. dplayx: Send CREATEPLAYER instead of ADDFORWARDREQUEST in CreatePlayer(). dpwsockx: Add partial SendToGroupEx() implementation. dpwsockx: Get player address from SP header and use it in SendEx(). dplayx: Allow storing group SP data. dplayx: Inline logic from CreatePlayer() functions into DP_IF_CreatePlayer(). Release 9.20. d3dx9: Add support for decoding targa files with a color map in d3dx9. d3dx9: Add support for decoding targa files with run length encoding in d3dx9. d3dx9: Add support for decoding targa files with different pixel orders in d3dx9. d3dx9: Add support for loading basic targa images without WIC. d3dx9/tests: Add more tests for loading targa files. d3dx9/tests: Remove now unused arguments from check_tga_image_info(). user32/tests: Flush events after test_SetForegroundWindow. sort: New program. wow64: Add missing ThreadIdealProcessorEx class. win32u: Always select the point that's closer to the ellipse. win32u: Allocate the whole max_points for the top_points array. ntdll/tests: Add NtAllocateReserveObject() tests. ntdll: Implement NtAllocateReserveObject(). ntdll/tests: Add reserve object tests. gitlab: Update generated files for static analysis. win32u: Map points from window monitor DPI to thread DPI. win32u: Move the PE side DND callbacks to user32. winex11: Lookup for files/urls DND target window in user32. winex11: Query the DndSelection property value earlier. winex11: Compute DND drop point earlier when dropping files/urls. win32u: Introduce a new NtUserDragDropCall message call. ntdll: Add a stub implementation of NtQueryInformationThread(ThreadIdealProcessorEx). findstr: Fix codepage passed to WideCharToMultiByte(). include: Add IUISettings6 definition in windows.ui.viewmanagement.idl. include: Add IUISettings5 definition in windows.ui.viewmanagement.idl. include: Add IUISettings4 definition in windows.ui.viewmanagement.idl. ddraw: Update state if d3d_device2_SwapTextureHandles() results in texture change. ddraw: Validate handles in d3d_device2_SwapTextureHandles(). ddraw: Use global handle table in d3d_device2_SwapTextureHandles(). ddraw/tests: Fix texture interface IID in test_multiple_devices() for ddraw1. tools: Update the install-sh script. makefiles: Use llvm-strip in MSVC mode. winegstreamer: Use wmaversion = 4 for MFAudioFormat_WMAudio_Lossless. winex11: Keep the IDropTarget pointer on the data object. winex11: Keep the IDropTarget pointer instead of HWND/accepted. winex11: Keep the target effect on the data object. winex11: Keep the target window point on the data object. winex11: Keep the target window on the data object. xml2: Import upstream release 2.12.8. gitlab: Use winetest JUnit output mode. winetest: Implement JUnit report output mode. winetest: Introduce some test report helpers. winetest: Pass output file handle to xprintf. winetest: Always use a temporary file for test output. winetest: Add printf attributes to xprintf. winetest: Add printf attributes to strmake. d3dx9: Use d3dx9 to get image information for targa files. d3dx9/tests: Add TGA header image info tests. d3dx9: Do not use WIC to detect image file format. comctl32: Implement WM_GETOBJECT for buttons. win32u: Avoid crashing when creating a new layered window surface. win32u: Use parent-relative coordinates for old window rectangles. winex11: Properly handle minimized windows in update_net_wm_fullscreen_monitors(). include: Stop using WINAPIV in msvcrt headers. include: Assume that nameless unions/structs are supported. include: Remove custom stdcall/cdecl definition for ARM platforms. widl: Use plain inline instead of defining a macro. winex11: Get rid of X11DRV_XDND_HasHDROP helper. winex11: Use a custom IEnumFORMATETC interface implementation. winex11: Clear the XDND data object on drop event. winex11: Get rid of X11DRV_XDND_SendDropFiles helper. winex11: Assume that PostMessageW WM_DROPFILES succeeds. winex11: Only enter the CS to get a reference on the data object. windowscodecs: Implement 48bppRGB -> 64bppRGBA conversion. conhost: Start input thread for GetNumberOfConsoleInputEvents. advapi32: Don't trace password in CreateProcessWithLogonW stub. win32u: Adjust the valid rects to handle visible rect changes. win32u: Copy the entire window rect when the whole window is moved. winex11: Pass window_rects structs parameters to move_window_bits. libs: Remove the no longer used Zydis library. winedbg: Switch to the Capstone disassembler. libs: Import the Capstone library version 5.0.3. winex11: Allocate the XDND data object dynamically. winex11: Use IDataObject to get CF_HDROP format for WM_DROPFILES. winex11: Cleanup variable names in X11DRV_XDND_SendDropFiles. winex11: Use the IDataObject interface to check for CF_HDROP format. winex11: Cleanup XDND IDataObject methods and variables. winex11: Move the XDND IDataObject implementation around. explorer: Support the NoDesktop registry setting. winebus: Allow any free device index to be reused immediately. dplayx: Remove the unused lpMsgHdr parameter from DP_IF_CreatePlayer(). dplayx/tests: Test client side of CreatePlayer() separately. dplayx: Return DPERR_INVALIDPARAM from CreatePlayer() if session is not open. dplayx: Respect enumeration flags in EnumPlayers(). dplayx/tests: Use DPENUMPLAYERS_LOCAL and DPENUMPLAYERS_REMOTE to check player flags in checkPlayerList(). dplayx: Prevent multiplication overflow in DP_MSG_ReadSuperPackedPlayer(). dplayx: Handle ADDFORWARD, add player to the session and send ADDFORWARDACK. dplayx: Remove const from message body and header parameters of DP_HandleMessage(). dplayx: Enter the critical section when accessing the player list. dplayx: Enter the critical section when accessing the session desc. dplayx: Keep track of the connection status in bConnectionOpen. mshtml: Make sure disp_invoke is called before locking the document mode. musl: Fix limiting the float precision in intermediates. winedmo: Check and guard libavcodec/bsf.h inclusion. d3dx9: Add support for more DDS pixel formats. d3dx9: Rework conversion to/from D3DFORMAT from/to DDS pixel format. d3dx9: Validate the size of DDS files containing packed pixel formats. d3dx9/tests: Add file size validation tests for DDS files containing packed pixel formats. d3dx9/tests: Add more DDS pixel format tests. xslt: Import upstream release 1.1.42. fluidsynth: Import upstream release 2.3.6. ldap: Import upstream release 2.5.18. tiff: Import upstream release 4.7.0. png: Import upstream release 1.6.44. mpg123: Import upstream release 1.32.7. faudio: Import upstream release 24.10. comdlg32/tests: Add tests for itemdlg filters longer than MAX_PATH. comdlg32: Fix buffer overflow when current_filter is longer than MAX_PATH. win32u: Notify the drivers of destroyed windows on thread detach. msvcrt: Initialize locale data in new threads. dplayx/tests: Correct Enum tests. msvcp90/tests: Add tests for int in num_put. jscript: Allow ES5 keywords as identifiers in expressions. jscript: Allow ES5 keywords as identifiers in labelled statements. jscript: Allow ES5 keywords as identifiers in function parameter lists. jscript: Allow ES5 keywords as identifiers in function expressions. jscript: Allow ES5 keywords as identifiers in catch statements. jscript: Allow ES5 keywords as identifiers in variable declarations. shlwapi: Use printf implementation from ntdll. ntdll: Make 'h' take precedence over 'l' in pf_vsnprintf(). ntdll: Make 'l' modifier also affect char wideness. ntdll: Output unrecognized format symbol in pf_vsnprintf(). ntdll: Fix passing char argument to pf_handle_string_format(). ntdll/tests: Add more tests for printf format. win32u: Support QDC_VIRTUAL_MODE_AWARE in NtUserQueryDisplayConfig(). win32u: Support QDC_VIRTUAL_MODE_AWARE in NtUserGetDisplayConfigBufferSizes(). user32/tests: Add tests for QueryDisplayConfig( QDC_VIRTUAL_MODE_AWARE ). winemac: Use SetIMECompositionRect to keep track of IME position. win32u: Pass absolute rect to SetIMECompositionRect. win32u: Pass a rect to SetIMECompositionWindowPos. mlang: Check handle validity in IMLangFontLink_GetFontCodePages. dplayx/tests: Test that ADDFORWARDACK is sent in reply to ADDFORWARD. dplayx: Don't crash on unknown command ids. dplayx/tests: Send correct port in requests in check_Open(). dplayx/tests: Correctly report lines in check_Open(). dplayx/tests: Wait for Open() to finish when forward request is not expected. d3dx9: Add support for D3DFMT_A8P8 DDS files. d3dx9: Add support for retrieving pixels from DDS files with indexed pixel formats. d3dx9: Include color palette size when validating the size of DDS files with indexed pixel formats. d3dx9/tests: Add tests for DDS files containing indexed pixel formats. d3dx9: Add support for D3DFMT_Q16W16V16U16. d3dx9: Add support for D3DFMT_V16U16. bluetoothapis/tests: Redefine SDP type descriptor constants to compile with older GCC versions. dbghelp: Fix a couple a typos. dbghelp: Add a couple of TRACE(). dbghelp: Protect against buffer overflow in traces. msvcp90: Exclude sign from count in num_put. msvcp90/tests: Add some tests for num_put on ints. msvcp90/tests: Add tests for string length. win32u: Introduce a new NtUserSetRawWindowPos call for the drivers. winex11: Use XTranslateCoordinates to compute relative coordinates. winex11: Use NtUserSetWindowPos when DPI awareness is unnecessary. winemac: Use NtUserSetWindowPos when DPI awareness is unnecessary. winemac: Stop mapping toplevel window rects to parent window. dplayx/tests: Test receiving ADDFORWARDREPLY. dplayx: Handle ADDFORWARDREPLY and return error. dplayx/tests: Test receiving REQUESTPLAYERREPLY with error result. dplayx: Check reply result in DP_MSG_SendRequestPlayerId(). dplayx: Use the documented reply layout in DP_MSG_SendRequestPlayerId(). dplayx: Free message header on error path in DP_MSG_SendRequestPlayerId(). propsys: Initially implement PropVariantToVariant. propsys: Support converting clsid to string for PropVariant. propsys/tests: Test converting clsid to string. propsys/tests: Add tests for PropVariantToVariant. riched20: Only call ME_SendRequestResize when control is in-place active. riched20: Exit from editor_ensure_visible when control is not in-place active. riched20/tests: Test that ScrollWindowEx and GetClientRect are only called when control is in-place active. gdiplus: Add support for EmfPlusRecordTypeSetRenderingOrigin record playback. wininet: Validate pointers in InternetReadFile(). include: Add windows.ui.notifications.idl. gitlab: Add a daily mac build. gitlab: Add a daily sast build. include: Fix base class of ICompositorInterop interface. d3d9: Do not apply the stateblock when clearing. d3d8: Do not apply the stateblock when clearing. ddraw: Do not apply the entire stateblock when clearing. wined3d: Move rasterizer state invalidation to wined3d_stateblock_set_render_state(). win32u: Add winevulkan/driver entry points to sync surfaces with the host. win32u: Use an internal message for XIM IME notifications. mmdevapi: Fix buffer overflow in pulse_set_sample_rate. include: Add windows.security.authorization.appcapabilityaccess.idl. include: Add windows.data.xml.dom.idl. gdiplus: Assign box height when bounding box height is larger. d3dx9: Add support for D3DFMT_A8P8. d3dx9: Add support for D3DFMT_A2W10V10U10. d3dx9: Add support for D3DFMT_X8L8V8U8. d3dx9: Get rid of index_to_rgba callback. d3dx9: Get rid of la_{to,from}_rgba format callbacks. d3dx9: Always align and mask channel bits in format_to_d3dx_color(). d3dx9: Rework pixel_format_desc structure format type value. d3dx9: Add pixel_format_desc type checking helper functions. gitlab: Add support for static analysis using Clang. msiexec: Remove quotes from all filenames. dplayx: Check REQUESTPLAYERREPLY size before access. dplayx: Send password in player creation forward request. dplayx: Free resources on error paths in DP_SecureOpen(). dplayx: Free the old session desc in DP_SecureOpen(). dplayx: Use DP_CreatePlayer() in DP_SecureOpen(). Release 9.19. winedbg: Update URLs to point to the Gitlab Wiki. appwiz.cpl: Update URLs to point to the Gitlab Wiki. documentation: Update URLs to point to the Gitlab Wiki. windows.ui: Add stub IInputPaneStatics implementation. windows.ui: Add stubs for UIViewSettings class. cmd: Fix 'SET =' invocation. cmd: Free environment strings. cmd: Use CRT memory function for environment. cmd/tests: Add more tests for SET command. cmd: Fix searching external commands with dots in their basename. cmd/tests: Add test about external commands with dots. kernel32: Correctly advertize unicode environment for AeDebug startup. dplayx: Pass ANSI name when enumerating through ANSI interface. dplayx: Store the names as both Unicode and ANSI. dplayx: Store the names contiguously. dplayx: Add a name copying helper function and use it in DP_IF_GetGroupName() and DP_IF_GetPlayerName(). dplayx: Don't check dwSize in DP_CopyDPNAMEStruct(). dplayx/tests: Also check the names returned by GetPlayerName() in checkPlayerListCallback(). win32u: Implement drawing transformed round rectangles. win32u: Implement drawing transformed arcs. mshtml: Add support for host object accessor props. mshtml: Move the hook invocations inside of the builtin_prop* helpers. mshtml: Fix builtin style translation in removeAttribute for IE9+ modes. mshtml: Move lookup_dispid and get_dispid calls out of get_builtin_id. mshtml: Don't make hidden props enumerable. win32u: Read AppCompatFlags DPI awareness overrides from the registry. wine.inf: Add a couple of NTFS registry values. include: Add IOutputStream in windows.storage.streams.idl. include: Add IRandomAccessStreamReference in windows.storage.streams.idl. include: Add IRandomAccessStreamReferenceStatics in windows.storage.streams.idl. include: Add DataWriter runtimeclass in windows.storage.streams.idl. imagehlp: Add a test to show that ImageGetDigestStream() supports 64-bit images. ntoskrnl: Implement IoReportTargetDeviceChange. user32: Add support for DBT_DEVTYP_HANDLE notifications. sechost: Add support for DBT_DEVTYP_HANDLE notifications. plugplay: Only broadcast WM_DEVICECHANGE for DBT_DEVTYP_DEVICEINTERFACE. plugplay: Pass a device path to plugplay notifications. sechost: Get rid of the device_notification_details internal struct. sechost: Keep device notification temporary copies in a list. sechost: Filter the device notifications before copying them. sechost: Pass individual parameters to I_ScRegisterDeviceNotification. dinput/tests: Add tests for IoReportTargetDeviceChange(Asynchronous). ntoskrnl: Add stub for IoReportTargetDeviceChange. kernelbase: Add stub for FindFirstFileNameW. comctl32/tests: Test MSAA events for buttons. comctl32: Implement MSAA events for buttons. cmd: Call ReadConsoleW() with standard input handles only. msi: Also set "MsiTrueAdminUser" property. win32u: Pass a MONITOR_DPI_TYPE param to NtUserGetWinMonitorDpi. win32u: Use the parent window monitor DPI for child windows. win32u: Pass a MONITOR_DPI_TYPE param to get_monitor_from_rect. win32u: Pass a MONITOR_DPI_TYPE param to NtUserGetVirtualScreenRect. win32u: Pass a MONITOR_DPI_TYPE param to monitor_get_rect. win32u: Pass a MONITOR_DPI_TYPE param to monitor_get_dpi. win32u: Pass rects in window DPI to MoveWindowBits. winemac: Remove unnecessary MoveWindowBits implementation. gitlab: Remove make -j options. kernel32/tests: Use a different invalid character since u1806 is now valid. loader: Formatting tweaks in the man pages. tools: Formatting tweaks in the man pages. programs: Formatting tweaks in the man pages. server: Match formatting of the English manpage. ntdll: Skip dll file search when getting module handle from short name. kernel32/tests: Add test for finding loaded module when the module file is renamed. explorer: Set the shell window when creating the Default desktop. server: Make shell, taskman, and progman windows per-desktop. user32/tests: Test that shell windows are per-desktop and should be set on the default desktop. mscoree: Register mono log handler callback. comdlg32/tests: Add test for SetFileTypeIndex updating current filter. comdlg32: Update current itemdlg filter in SetFileTypeIndex. dplayx: Parse SUPERENUMPLAYERSREPLY and add players to the session. dplayx: Return message header from DP_MSG_ExpectReply(). dplayx: Set SP data in DP_CreatePlayer(). dplayx: Inform the SP about player creation in DP_CreatePlayer(). dplayx: Return HRESULT from DP_CreatePlayer(). tools: Upgrade the config.guess/config.sub scripts. gitlab: Add 'build' tag on Linux build jobs. win32u: Use the current display mode as monitor rect. win32u: Keep track of the display source physical display mode. win32u: Add virtual modes when drivers report a single display mode. win32u: Remove unnecessary GetCurrentDisplaySettings call. win32u: Cache display source current display settings. win32u: Remove now unnecessary GetDisplayDepth driver entry. win32u: Keep the source depth separately from the current mode. win32u: Always write the source current mode to the registry. win32u: Make sure to load drivers when updating the display cache. msi: Disable WOW64 redirection for all 64-bit package archs. advapi32: Use CreateProcessAsUser to implement CreateProcessWithToken. regsvr32: Explicitly specify the target machine when relaunching. windows.ui: Register Windows.UI.Core.CoreWindow. include: Add Windows.Globalization.ApplicationLanguages runtime class. include: Add windows.ui.xaml.idl. include: Add windows.ui.xaml.interop.idl. include: Add more Windows.Foundation.IReference<> interfaces. include: Add Windows.ApplicationModel.DesignMode runtime class. mfplat: Seek byte stream to the start for URL hint detection. mfplat/tests: Test source resolver bytestream interactions. ntdll: Implement RtlConvertDeviceFamilyInfoToString(). ntdll/tests: Add RtlConvertDeviceFamilyInfoToString() tests. unicode: Update to Unicode 16.0.0. user32/tests: Test that DragDetect() uses client coordinates instead of screen coordinates. win32u: Correctly fill new foreground window TID in WM_ACTIVATEAPP. win32u: Call set_active_window() helper directly from handle_internal_message(). findstr: Preserve line endings. ntdll: Return success for NtSetInformationProcess(ProcessPowerThrottlingState). dplayx: Set player data in DP_CreatePlayer(). dplayx: Add player to the system group in DP_CreatePlayer(). dplayx: Don't enumerate system players. dplayx/tests: Test that players from SUPERENUMPLAYERSREPLY are added to the session. dplayx: Find the matching session instead of using the first one. dplayx/tests: Test Open() with two enumerated sessions. msvcp70: Add basic_ofstream constructor implementation. include: Add ISystemMediaTransportControls2 definition in windows.media.idl. crypt32/tests: Fix a test failure. shell32: Add support for balloon icon copying. shell32: Introduce a new fill_icon_info helper. shell32: Cleanup some local variable names. shell32: Introduce a new get_bitmap_info helper. shell32: Move icon related fields in notify_data into separate struct. cmd: Rewrite parsing of tokens= options in FOR /F loop. cmd: Better detection of %~ as modifier. cmd: Extend the range of usable variables in FOR loops. cmd: Extend tests for FOR loop variables. findstr: Support search with regular expressions. include: Add IDWriteFontFace7 definition in dwrite_3.idl. include: Add UI Automation Landmark Type ID definitions. include: Add UI Automation Text Attribute ID definitions. widl: Output statements contained inside modules. user32/tests: Use more commonly available resolutions. user32/tests: Move the monitor DPI tests below others. user32/tests: Load more DPI-related functions dynamically. winewayland: Use subsurfaces for unmanaged windows. winewayland: Introduce a new update_wayland_surface_state_toplevel helper. winewayland: Introduce a new wayland_surface_reconfigure_xdg helper. winewayland: Introduce a new wayland_surface role enumeration. winewayland: Call wayland_surface_clear_role in wayland_surface_destroy. winewayland: Move surface title change to wayland_surface_make_toplevel. winevulkan: Update to VK spec version 1.3.296. winevulkan: Avoid empty struct extension conversions. include: Add new value in DWRITE_GLYPH_IMAGE_FORMATS in dcommon.idl. include: Remove some obsolete MSVC version checks. include: Use __readfsdword intrinsic on MSVC. user32/tests: Add tests with windows and monitor DPI scaling. user32/tests: Add more tests with display source DPI scaling. user32/tests: Add more tests for GetDpiForMonitorInternal. user32: Stub DisplayConfigSetDeviceInfo. findstr: Support case insensitive search. fc/tests: Add tests. fc: Add support for comparing files with default options. dplayx: Set session desc when joining a session. dplayx: Return SP message header from NS_WalkSessions() and get rid of NS_GetNSAddr(). dplayx: Add a session duplication helper function and use it in DP_SetSessionDesc() and NS_AddRemoteComputerAsNameServer(). dplayx: Merge DP_CalcSessionDescSize() into DP_CopySessionDesc(). dplayx: Use the documented message layout in DP_MSG_ForwardPlayerCreation(). dpwsockx: Set player data in CreatePlayer(). dplayx: Initialize the unknown field in DP_MSG_ForwardPlayerCreation(). win32u: Update the window state when display settings changes. win32u: Only reuse scaling target surface if it matches the monitor rect. win32u: Introduce a new NtUserGetWinMonitorDpi call for drivers. win32u: Keep per display source monitor DPI values. winex11: Use NtUserGetDpiForWindow when only checking for empty rect. msvcp70: Export std::getline function. d3dx9: Clean up color key handling in convert_argb_pixels() and point_filter_argb_pixels(). d3dx9/tests: Handle lack of support for D3DFMT_A1R5G5B5 in test_D3DXFillCubeTexture(). d3dx9/tests: Handle uncommon test results in test_D3DXCheckTextureRequirements(). wined3d: Merge the rest of pixel_shader_init() into shader_set_function(). wined3d: Merge the rest of vertex_shader_init() into shader_set_function(). wined3d: Remove the redundant "device" parameter to shader_set_function(). wined3d: Call geometry_shader_init_stream_output() from shader_set_function(). wined3d: Move geometry_shader_init_stream_output(). win32u: Don't release surface before passing it to create_offscreen_window_surface(). dplayx: Use SendEx() instead of Send(). dpwsockx: Add a partial SendEx() implementation. dpwsockx: Return DP_OK from CreatePlayer(). dplayx: Expect SUPERENUMPLAYERSREPLY in DP_MSG_ForwardPlayerCreation(). dplayx: Allow specifying multiple reply command ids in DP_MSG_ExpectReply(). dplayx: Return and check HRESULT from DP_MSG_ExpectReply(). dplayx: Unlink and clean up the reply struct on error paths in DP_MSG_ExpectReply(). uxtheme: Better detect the presence of default transparent colour in prepare_alpha(). wined3d: Invalidate the FFP VS when diffuse presence changes. d3d11: Stub ID3D11VideoContext. d3d11: Stub ID3D11VideoDecoderOutputView. d3d11: Stub ID3D11VideoDecoder. d3d11: Stub ID3D11VideoDevice1. winedmo: Convert H264 streams to Annex B format. winedmo: Pass demuxer packets through the bitstream filters. winedmo: Create bitstream filters for demuxer streams. winedmo: Move the last packet to the demuxer struct. winedmo: Allocate a dedicated demuxer structure. winedmo: Simplify demuxer creation error handling. winedmo: Hoist the demuxer input format. mfsrcsnk: Serialize stream sample requests with the state callbacks. ws2_32: Add stub WSCGetApplicationCategory(). mmdevapi: Add error if no driver could be initialized. ntdll: Add warning if dlopen of unixlib failed. wow64: Fix length check in wow64_NtSetInformationProcess(). server: Move last_active variable initialization (Valgrind). ntdll: Support old parameter layout for NtSetInformationProcess( ProcessInstrumentationCallback ). ntdll: Call instrumentation callback for KiUserModeCallback on x64. ntdll: Call instrumentation callback for LdrInitializeThunk on x64. ntdll: Call instrumentation callback for KiUserExceptionDispatcher on x64. ntdll: Call instrumentation callback from wine_syscall_dispatcher on x64. ntdll/tests: Add more tests for process instrumentation callback. winegstreamer: Pass H264 codec data as streamheader. wininet: Only include non-empty session user agent string in request headers. wininet: Add additional tests for handling of user agent configuration in requests. dpwsockx: Start listening for incoming TCP connections in Open(). dpwsockx: Store name server address in Open(). dplayx: Return DPERR_NOSESSIONS from DP_SecureOpen() when there are no sessions. dplayx: Check session desc size first in DP_SecureOpen(). dplayx/tests: Test client-side of Open() separately. winewayland: Let the render threads commit changes to client surfaces. winewayland: Attach client client surfaces to their toplevel surface. winewayland: Pass the client surface rect to wayland_surface_reconfigure_client. winewayland: Split wayland_win_data_update_wayland_surface helper. winewayland: Update the client separately from the window surface updates. winewayland: Keep the toplevel hwnd on the wayland_client_surface. winewayland: Call ensure_window_surface_contents with the toplevel window. winewayland: Use window DPI for the OpenGL client surface size. win32u: Notify drivers of the child surfaces state when their ancestor moves. ntdll: Match the new ARM64 KiUserExceptionDispatcher stack layout. winex11: Avoid recreating the offscreen GL window if not necessary. odbc32: Return SQL_NO_DATA from SQLGetDiagRec if no active connection. odbc32: Wrap dlerror in debugstr_a to avoid potential buffer overflow. d3dx9: Use format_from_d3dx_color() instead of fill_texture(). d3dx9: Add support for D3DFMT_V8U8. d3dx9: Add support for D3DFMT_Q8W8V8U8. d3dx9: Store pixel value range alongside pixel values when reading pixels. d3dx9: Clamp source components to unorm range. d3dx9/tests: Add format conversion tests for premultiplied alpha DXTn formats. d3dx9/tests: Add more d3d format conversion tests. nsiproxy: Only set the endpoint count from udp_endpoint_enumerate_all when appropriate. nsiproxy: Only set the connection count from tcp_conns_enumerate_all when appropriate. mfsrcsnk: Fill the stream mapping for unknown stream types too. mfsrcsnk: Send EOS event only when there is no more samples queued. winedmo: Set the buffer size to zero on read failure. winedmo: Avoid printing errors on expected statuses. cmd: Don't always set errorlevel for some builtin commands. cmd/tests: Add tests for running .BAT files. cmd: EXIT /B shall break FOR loops. cmd: Add tests for 'EXIT /B' inside FOR loops. cmd: Fix consecutive ! in variable expansion. cmd: Rewrite part of WCMD_expand_envvar. bluetoothapis: Implement BluetoothSdpGetAttributeValue. bluetoothapis/tests: Add tests for BluetoothSdpGetAttributeValue. bluetoothapis: Add stub for BluetoothSdpGetAttributeValue. bluetoothapis: Implement BluetoothSdpEnumAttributes. bluetoothapis/tests: Add tests for BluetoothSdpEnumAttributes. bluetoothapis: Add stub for BluetoothSdpEnumAttributes. bluetoothapis: Implement BluetoothSdpGetContainerElementData. bluetoothapis/tests: Add tests for BluetoothSdpGetContainerElementData. bluetoothapis: Add stub for BluetoothSdpGetContainerElementData. bluetoothapis: Implement BluetoothSdpGetElementData. bluetoothapis/tests: Add tests for BluetoothSdpGetElementData. bluetoothapis: Add stub for BluetoothSdpGetElementData. mfplat: Fill user data when converting VIDEOINFOHEADER formats. mfplat/tests: Add tests for VIDEOINFOHEADER(2) user data conversion. ntdll: Use base address tree in LdrFindEntryForAddress(). ntdll: Use base address tree in get_modref(). ntdll: Fill LDR_DATA_TABLE_ENTRY.BaseAddressIndexNode. ntdll/tests: Add tests for RTL RB tree. ntdll: Implement RtlRbRemoveNode(). ntdll: Implement RtlRbInsertNodeEx(). winedump: Dump CLR metadata. Release 9.18. dplayx: Check ENUMSESSIONSREPLY size before access. dplayx: Check the message size before access. dplayx/tests: Correctly compute session enumeration reply size. dplayx: Send password in session enumeration request. dplayx: Reduce nesting of the async enumeration code. dplayx: Add a string copying helper function and use it in DP_CalcSessionDescSize() and DP_CopySessionDesc(). po: Update Lithuanian translation. wrc: Replace sprintf with snprintf to avoid deprecation warnings on macOS. wmc: Replace sprintf with snprintf to avoid deprecation warnings on macOS. winebuild: Replace sprintf with snprintf to avoid deprecation warnings on macOS. widl: Replace sprintf with snprintf to avoid deprecation warnings on macOS. sfnt2fon: Replace sprintf with snprintf to avoid deprecation warnings on macOS. desk.cpl: Add a button to apply display settings changes. desk.cpl: Implement monitor rectangle positioning. desk.cpl: Keep the monitor rectangles snapped together. desk.cpl: Update the monitor rects when changing resolutions. desk.cpl: Add a reset button to discard display settings changes. desk.cpl: Enumerate and display available resolutions. desk.cpl: Implement monitor highlight and selection. desk.cpl: Display the virtual desktop and monitors rects. desk.cpl: Enumerate the desktop display devices. desk.cpl: Introduce new control panel applet. winewayland: Make the pointer protocols optional. ntdll: Ensure Unix path strings are wrapped with debugstr_a in traces. netapi32: Add a stub NetFreeAadJoinInformation function. win32u: Remove now unused NtUserIsWindowRectFullScreen call. winex11: Use the new fullscreen flag instead of NtUserIsWindowRectFullScreen. winewayland: Use the new fullscreen flag instead of NtUserIsWindowRectFullScreen. win32u: Pass whether a window is fullscreen to drivers WindowPosChanged. win32u: Use get_window_rect directly in clip_fullscreen_window. win32u: Use is_window_rect_fullscreen directly in clip_fullscreen_window. win32u: Use get_virtual_screen_rect directly within the module. ntdll: Always use mach_continuous_time() on macOS. Revert "configure: Don't define HAVE_CLOCK_GETTIME on macOS.". configure: Remove some no longer needed header checks. configure: Remove some no longer needed program checks. configure: Remove some obsolete checks. ntdll/tests: Remove an unreliable test. sc/tests: Remove todo from a test that succeeds now. po: Update files for previous commit. jscript: Return JS_E_OBJECT_NOT_COLLECTION when object has no DISPID_NEWENUM. mshtml: Return MSHTML_E_INVALID_PROPERTY when trying to construct a legacy function object. mshtml/tests: Add more host object related tests for IE9+ modes. jscript: Use deferred fill-in if available to fill the exception info. jscript: Use proper dispatch flags to retrieve the enumerator. mshtml: Implement retrieving the builtin method props for the legacy function objects. mshtml: Move formatting of the builtin func disp string to a helper. mshtml: Use designated initializers for function_dispex. include: Define NULL as 0LL in C++ on 64bit archs. include: Use __has_declspec_attribute in basetsd.h. include: Remove DECLSPEC_ALIGN define from sys/stat.h. include: Use __has_declspec_attribute in corecrt.h. server: Correct STATUS_NOT_FOUND return from (cancel_async). ntdll: Don't cancel background socket sends. ntdll: Locally duplicated socket fd for background send. ntdll: Avoid short writes on nonblocking sockets. ws2_32/Tests: Add tests for send buffering. wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when WINED3D_RS_VERTEXBLEND changes. wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when fog states change. wined3d: Invalidate STATE_SHADER when WINED3D_TS_PROJECTION changes. wined3d: Use output specular W as a fog source if the shader does not output oFog. wined3d: Use W as a fog source with shaders and a non-orthogonal matrix. dplayx: Respect timeout set by session enumeration callback. dplayx: Restart session enumeration when the callback returns TRUE. dplayx: Enter critical section when accessing the session cache. dplayx: Move enumeration reset and prune out of DP_InvokeEnumSessionCallbacks(). dplayx: Put the sync enumeration code before the async one. dplayx: Add a separate session list for walking. mfsrcsnk: Read samples from the media source demuxer. winedmo: Read sample flags, timestamps and duration. winedmo: Export a new winedmo_demuxer_read function. winedmo: Export a new winedmo_demuxer_seek function. mfsrcsnk: Implement asynchronous media source pause operation. mfsrcsnk: Implement asynchronous media source stop operation. mfsrcsnk: Implement asynchronous media source start operation. winex11: Also resize or re-create the GL drawable with XComposite child windows. win32u: Fix inverted return condition in get_cursor_pos. joy.cpl: Add advanced settings controls in the main panel. joy.cpl: Reduce the height of some main panel controls. joy.cpl: Cleanup the main panel control IDs and text. joy.cpl: Refresh devices list when they are plugged in or out. win32u: Introduce a new monitor_info_from_window helper. win32u: Introduce a new monitor_info_from_rect helper. win32u: Introduce a new monitor_dpi_from_rect helper. win32u: Use get_monitor_from_handle in get_monitor_dpi. win32u: Split get_monitor_info into separate helpers. win32u: Split monitor_from_rect logic to a separate helper. win32u: Use map_dpi_rect in map_dpi_winpos. win32u: Use map_dpi_rect in map_dpi_create_struct. gdi32: Actually return the device context and bitmap from get_bitmap_info(). services: Add support for QueryServiceConfig2(SERVICE_CONFIG_DELAYED_AUTO_START_INFO). mfsrcsnk: Select one stream of each time, exclude others. mfsrcsnk: Fill the stream descriptors MF_SD_LANGUAGE attribute. winedmo: Export a new winedmo_demuxer_stream_lang function. mfsrcsnk: Fill the stream descriptors MF_SD_STREAM_NAME attribute. winedmo: Export a new winedmo_demuxer_stream_name function. winedmo: Fix winedmo_demuxer_create prototype in spec file. win32u: Avoid leaking window surface references with DPI scaling. dpwsockx: Receive TCP messages. dpwsockx: Accept incoming TCP connections. dpwsockx: Add a background thread. dplayx/tests: Retry enumeration manually instead of returning TRUE from the callback. dplayx/tests: Report lines correctly in session enumeration callback. d2d1/tests: Add a few tests for ComputeArea(). cmd/tests: Comment out test that shows a popup on Windows. comctl32/tests: Fix an optional propsheet message id. nsi/tests: Properly cancel all change notifications. include: Define __cpuid(ex) as intrinsics when possible. include: Don't import atexit from CRTs. include: Remove __need_wint_t/__need_wchar_t definitions. include: Add DECLSPEC_UUID/DECLSPEC_NOVTABLE to MIDL_INTERFACE. include: Use winnt.h DECLSPEC_NOVTABLE definition in rpcndr.h. include: Use winnt.h DECLSPEC_UUID definition in rpcndr.h. include: Introduce a new __has_declspec_attribute macro. winex11: Resize GL drawable when necessary, if wglSwapBuffer isn't called. winex11: Move update_gl_drawable_size helper around. win32u: Lock the window when removing a vulkan surface from its list. tools: Use /proc/self/exe in get_bindir on Cygwin targets. tools: Use GetModuleFileNameA in get_bindir on Windows targets. conhost: Advertise system DPI awareness. services: Add support for ChangeServiceConfig2(SERVICE_CONFIG_DELAYED_AUTO_START_INFO). advapi32/tests: Add some tests for SERVICE_CONFIG_DELAYED_AUTO_START_INFO. winedmo: Implement more compressed audio/video formats conversion. mfsrcsnk: Create stream descriptors for the media source streams. mfsrcsnk: Stub IMFMediaStream objects for the media source. winedmo: Implement audio media type conversion. winedmo: Implement video media type conversion. winedmo: Pass stream size by value to winedmo_demuxer_create. widl: Use alias qualified names in winrt mode in write_type_left. comctl32/tests: Add more optional propsheet messages. configure: Add /usr/share/pkgconfig to the pkg-config path. configure: Update make command in final message. mshtml: Don't process tasks recursively from Gecko events. mshtml: Don't process tasks recursively from script runners. mshtml: Don't process tasks recursively. mshtml: Remember if timer was blocked. mshtml: Don't cast to int to bound the timer. gdiplus: Fix assignment of result in GdipCloneBrush. msvcrt: Mark _CxxThrowException noreturn (Clang). oleaut32: Fix potential double free (Clang). regedit: Fix potential buffer overflow (Clang). ntdll: Avoid closing an invalid handle (Clang). urlmon/tests: Skip test if ftp connection fails. comctl32/tests: Make some messages optional in propsheet display sequence. comctl32/tests: Skip tests if tooltip isn't displayed. winex11: Implement vulkan DPI scaling and child window rendering. winex11: Move offscreen client window helpers to init.c. winex11: Only update the client window position in sync_client_position. winex11: Update the GL client window size when it is presented. winex11: Update the vulkan surface size when it is presented. winex11: Use a dedicated structure for vulkan surface private data. win32u: Pass vulkan driver private data to vulkan_surface_presented. winevulkan: Use client rect in window DPI instead of monitor DPI. mfsrcsnk: Initialize a stream map, sorted for specific mime types. winedmo: Export a new winedmo_demuxer_stream_type function. winedmo: Compute and return total duration from winedmo_demuxer_create. winedmo: Detect and return stream count from winedmo_demuxer_create. winedmo: Improve MIME type detection with the stream url. winedmo: Return detected MIME type from winedmo_demuxer_create. include: Add new GUIDs in dxva.h. include: Add DXVA_PicParams_HEVC_RangeExt declaration in dxva.h. winedmo: Introduce a winedmo_stream callback interface for I/O. winedmo: Use the stream context as a buffer for larger reads. winedmo: Use the stream context to track stream position. winedmo: Allocate a client-side stream context with the demuxers. winedmo: Implement FFmpeg seek and read with user callbacks. mfsrcsnk: Create a winedmo_demuxer object on the media sources. winedmo: Export new winedmo_demuxer_(create|destroy) functions. mfsrcsnk: Seek and get the media source IMFByteStream length. mfsrcsnk: Get the IMFByteStream url from MF_BYTESTREAM_ORIGIN_NAME. hidclass: Combine waits for pending IRP and I/O thread shutdown. include: Define __imp_aux symbols in __ASM_DEFINE_IMPORT macro on ARM64EC. winecfg: Use the correct type in malloc (Clang). winex11: Use the correct type in malloc (Clang). mscoree: Use the correct size in malloc (Clang). win32u: Use the correct type in malloc (Clang). wintrust: Use sizeof on the correct type in malloc (Clang). msvcrt: Use sizeof on the correct type in malloc (Clang). msi: Use sizeof on the correct type in malloc (Clang). hidclass.sys: Use sizeof on the correct type in malloc (Clang). gdiplus: Use sizeof on the correct type in malloc (Clang). dsound: Use sizeof on the correct type in malloc (Clang). d3dx9: Use sizeof on the correct type in malloc (Clang). comctl32/tests: Wait a bit more for the tooltip to appear. comctl32/tests: Skip hotkey test if window is not foreground. ntoskrnl/tests: Mark some failing tests as todo_wine. mf/tests: Remove todo_wine from a test that succeeds now. dbghelp: Fix discrimination of local variable / parameter in PDB files. winedbg: Give user feedback when attaching to a second process. win32u: Leave window surface alpha bits to -1 when unset. winevulkan: Handle multidimensional static arrays. winevulkan: Separate a parse_array_len() helper. winemac: Marshal user-mode callback pointers in macdrv_init wow64 thunk. winex11: Use the correct dnd_drop_event user dispatch callback. user32: Implement listbox MSAA events on click. sc: Return error value rather than 1 on failure. cmd: Get rid of circular ref for internal/external commands. cmd: Speed-up external command look up. cmd: Integrate builtin command search in search_program() helper. cmd: Introduce helper for running a builtin command. cmd: Introduce helper to search for external program. cmd: Introduce internal command to change drive. cmd: Expand command before searching for builtin commands. cmd/tests: Add some more tests. dplayx: Merged IDirectPlayLobby/2 in to IDirectPlayLobby3. dplayx: Use a single reference count for IDirectPlayLobby interfaces. dplayx: Merged IDirectPlayLobby/2A in to IDirectPlayLobby3A. dpwsockx: Broadcast enumeration request in EnumSessions(). dpwsockx: Start listening for incoming TCP connections in EnumSessions(). dpwsockx: Call WSACleanup() in ShutdownEx(). dplayx: Check dwSize of DPSESSIONDESC2 in EnumSessions(). dplayx/tests: Test client-side of EnumSessions() separately. ntdll: Do not call LDR notifications during process shutdown. mfsrcsnk: Stub the media source IMFRateControl interface. mfsrcsnk: Stub the media source IMFRateSupport interface. mfsrcsnk: Stub the media source IMFGetService interface. mfsrcsnk: Implement IMFMediaSource_GetCharacteristics for the media sources. mfsrcsnk: Implement IMFMediaSource_Shutdown for the media sources. mfsrcsnk: Stub the media source IMFMediaSource interface. mfsrcsnk: Stub the source IMFByteStreamHandler interface. wined3d: Do not require EXT_vertex_attribute_divisor. wined3d: Don't use structures from unsupported extensions in get_physical_device_info(). wined3d: Add an append_structure() helper for get_physical_device_info(). server: Make masks unsigned (Clang). server: Avoid memcpy with null pointer (Clang). server: Avoid a redundant list check (Clang). server: Remove some dead initializations (Clang). server: Add a helper to append data to a buffer. configure: Remove some no longer used defines. configure: Use the compiler instead of the preprocessor to check CPU defines. configure: Disable misguided autoconf error on wow64 builds without large time_t. kernel32/tests: Add basic tests for EnumSystemLocalesA/W. kernelbase: Fix EnumSystemLocalesA/W filtering of default/alternate sort orders. odbc32: Only call process_detach() if the unixlib was successfully loaded. winewayland: Detach client surfaces when they are not visible. winewayland: Move client surface to wayland_win_data struct. winewayland: Pass hwnd to and return client rect from wayland_surface_get_client. winewayland: Introduce a new wayland_client_surface_attach helper. winewayland: Move wayland_surface_get_client to window.c. wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when WINED3D_TSS_TEXCOORD_INDEX changes. wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when the vertex declaration changes. wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when the light type changes. wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when light state changes. mfsrcsnk: Stub byte stream handlers if demuxing is supported. winedmo: Export a new winedmo_demuxer_check function. winedmo: Link and initialize FFmpeg on load. winedmo: Introduce a new internal DLL. user32: Add CreateSyntheticPointerDevice stub. msiexec: Avoid crash if PackageName is NULL. configure: Re-generate with autoconf 2.72. ntdll: Remove some dead initializations (Clang). odbc32: Avoid buffer overflow on empty connection string (Clang). ole32: Avoid modifying input object attributes in create_key (Clang). combase: Avoid modifying input object attributes in create_key (Clang). comdlg32/tests: Add tests for itemdlg file name field filters. comdlg32: Allow entering a filter in the itemdlg file name field. msiexec: Fix allocation to include NULL terminator. quartz: Align src_pitch for planar formats. quartz: Properly copy data to render surfaces of planar formats in VMR7. quartz: Emit FIXME when the rendering surface is smaller than the source in VMR7. mlang: Use EnumFontFamiliesEx() in map_font(). winex11: Use offscreen rendering to scale DPI-unaware GL windows. winex11: Drop now unnecessary X11DRV_FLUSH_GL_DRAWABLE ExtEscape. winex11: Implement offscreen window presents with NtGdiStretchBlt. winex11: Introduce a new present_gl_drawable helper. winex11: Detach offscreen OpenGL windows after creation. winex11: Create OpenGL client windows in window DPI units. winex11: Resize offscreen client surfaces after they are presented. uxtheme: Add stub for FlushMenuThemes. include: Add Calendar runtimeclass in windows.globalization.idl. dplayx/tests: Use CRT allocation functions. dplayx: Don't crash if sdesc is NULL in EnumSessions(). dpwsockx: Remove unused DPWS_DATA fields. dpwsockx: Remove endianness conversion macros. Release 9.17. msvcrt: Only print FIXME once for Context_Yield(). msvcrt: Remove FIXME for _StructuredTaskCollection_dtor(). msvcrt: Print less FIXMEs for ThreadScheduler_ScheduleTask*(). widl: Avoid using sprintf() to add a single character. ntdll: Allow sending to port 0 on UDP socket to succeed. l3codecx.ax: Register the MP3 Decoder class. quartz: Register the MPEG Video Decoder class. quartz: Register the MPEG Audio Decoder class. quartz: Register the WAVE Parser class. quartz: Register the AVI Splitter class. quartz: Register the MPEG1 Splitter class. quartz: Move registration code to main.c. quartz: Simplify the filter registration code. winegstreamer: Allow application to drain queue. comctl32/edit: Fix incorrect size for format rect when it is smaller than text. comctl32/tests: Add test for edit control format rect size. user32/edit: Fix incorrect size for format rect when it is smaller than text. user32/tests: Add test for edit control format rect size. odbc32: Load libodbc dynamically. odbc32: Fix driver name query. odbc32: Fix a memory leak. ntdll: Add custom x64 thunk for KiUserExceptionDispatcher. ntdll: Use custom x64 thunks for syscall exports. wineboot: Populate ARM64 ID register registry keys using SMBIOS info. ntdll: Populate the SMBIOS with ARM64 ID register values. iphlpapi/tests: Confirm that GetExtendedUdpTable associates a socket with the correct PID. iphlpapi/tests: Confirm that GetExtendedTcpTable associates a socket with the correct PID. nsiproxy: Remove now unused git_pid_map and find_owning_pid. nsiproxy: Implement UDP table on top of a server call. nsiproxy: Implement TCP table on top of a server call. d3d10/tests: Fully check scalar and vector types. winegstreamer: Append HEAACWAVEINFO extra bytes to AAC user data. win32u: Stub D3DKMT sync object creation functions. win32u: Stub D3DKMT keyed mutex creation functions. win32u: Stub D3DKMT resource creation functions. win32u: Stub D3DKMTShareObjects. include: Declare D3DKMT sync object creation functions. include: Declare D3DKMT keyed mutex creation functions. include: Declare D3DKMT resource creation functions. winegstreamer: Support IYUV alias for I420. po: Update Finnish translation. win32u: Implement NtGdiDdDDIEnumAdapters. d3d10/tests: Fully check matrix types. d3d10/tests: Compile some of test effects. uxtheme: Try to avoid TransparentBlt() when possible. uxtheme: Define a constant for default transparent colour. winewayland: Get rid of the window surface individual locks. winewayland: Introduce a new wayland_client_surface_create helper. winewayland: Get rid of window_surface reference from wayland_win_data. winewayland: Get rid of wayland_surface reference from window_surface. winewayland: Move window contents buffer to wayland_win_data struct. winewayland: Reset the buffer damage region immediately after copy. winewayland: Introduce a new get_window_surface_contents helper. winewayland: Introduce a new set_window_surface_contents helper. winewayland: Introduce a new ensure_window_surface_contents helper. winewayland: Post WM_WAYLAND_CONFIGURE outside of the surface lock. gitlab: Install FFmpeg development libraries. dssenh: Add support for CPGetProvParam(PP_NAME). dssenh: Add support for enumerating algorithms. msi: Allow package template summary info strings without semicolon separator. msi/tests: Add additional test cases for validating package template summary info strings. mfh264enc: Register the H264 Encoder MFT class. msmpeg2vdec: Register the H264 Decoder MFT class. wmvdecod: Register the WMV Decoder DMO class. msauddecmft: Register the AAC Decoder MFT class. wmadmod: Register the WMA Decoder DMO class. resampledmo: Register the Resampler DMO class. msvproc: Register the Video Processor MFT class. colorcnv: Register the Color Converter DMO class. po: Update Lithuanian translation. msiexec: Don't quote property values if already quoted. comdlg32: Properly handle out of bounds values. comdlg32: Prevent recursion inside CC_CheckDigitsInEdit. comdlg32: Update luminosity bar when changing hue/sat/lum manually. wpcap/tests: Skip tests when pcap_can_set_rfmon() returns PCAP_ERROR_PERM_DENIED. win32u: Stop setting DPI_PER_MONITOR_AWARE by default. explorer: Make the desktop thread per-monitor DPI aware. user32: Move dpiaware_init to SYSPARAMS_Init. server: Pass window's per-monitor DPI in set_window_pos. win32u: Pass window_from_point dpi to list_children_from_point. win32u: Map rect to window DPI in expose_window_surface. winex11: Map message pos to physical DPI in move_resize_window. winewayland: Remove unnecessary logical to physical DPI mapping. include: Add ISelectionProvider2 definition in uiautomationcore.idl. winepulse.drv: Implement set_sample_rate. mmdevapi: Add stub IAudioClockAdjustment implementation. mmdevapi/tests: Add more IAudioClock tests. ntdll: Ignore HW breakpoints on the Unix side. user32: Implement EVENT_OBJECT_FOCUS for listbox items. winevulkan: Update to VK spec version 1.3.295. d3d10/effect: Simplify setting GlobalVariables value. d3d10/effect: Rename some variable array fields to better reflect their meaning. vkd3d: Import upstream release 1.13. explorer: Support the NoTrayItemsDisplay registry setting. explorer: Return void from show_icon and hide_icon. mfmp4srcsnk: Register the MP3 and MPEG4 sink factory classes. mfasfsrcsnk: Register the Asf Byte Stream Handler class. mfmp4srcsnk: Register the MPEG4 Byte Stream Handler class. mfsrcsnk: Register the WAV Byte Stream Handler class. mfsrcsnk: Register the AVI Byte Stream Handler class. mfsrcsnk: Refactor sink class factory helpers. comclt32: Allow hotkeys for propsheet navigation. comctl32/tests: Add test for propsheet hotkey navigation. include: Add class SizeF. include: Add basic constructors for Rect/RectF. include: Move ColorChannelLUT outside of if __cplusplus. winecoreaudio: Set the synth volume to the greater of the left and right channels. mscoree: Update Wine Mono to 9.3.0. secur32: Ensure unixlib function tables and enum stay in sync. secur32: Simplify the cred_enabled_protocols logic slightly. cmd: Strip leading white spaces and at-sign from command nodes. cmd: Fix reading some input in CHOICE command. cmd: Minor fix to the lexer. cmd/tests: Add some more tests. cmd: Don't display dialog boxes. msi: Bump version to 5.0. msi/tests: Test escaped double quote on the command line. msiexec: Don't remove quotes from properties passed on the command line. winemac.drv: Call CGWindowListCreateImageFromArray through a dlsym-obtained pointer. include: Add input assembler related constants in d3d11.idl. winemapi: Don't write past the end of the argv array. ntdll: Determine the available address space dynamically for 64bit architectures. packager: Prefer native version. winewayland: Avoid recreating window surface buffer queues. winewayland: Create the window surface buffer queue unconditionally. winewayland: Set the window viewport source rectangle. winewayland: Rename surface buffer size to content size. winewayland: Require the wp_viewporter protocol. mfreadwrite: Always try inserting a converter for non-video streams. ntdll: Do not use TlsLinks for enumerating TEBs. ntdll: Iterate TEBs only once in alloc_tls_slot(). ntdll: Reserve space for some TLS directories at once. kernel32/tests: Add a test for TLS links. dxcore: Prefer native. explorer: Use the EnableShell option to show or hide the taskbar. winemapi: Directly use xdg-email if available. include: Always declare the imagelist read and write functions. odbccp32: Only append slash if required in write_registry_values. msiexec: Remove an obsolete fixme. concrt140: Don't forward _IsSynchronouslyBlocked functions.
This merge request has too many patches to be relayed via email. Please visit the URL below to see the contents of the merge request. https://gitlab.winehq.org/wine/wine/-/merge_requests/6166