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.
-- v9: mmdevapi: Remove unused critical section from MMDevice. iphlpapi: Add stub for SetCurrentThreadCompartmentId. gdi32: Fix out-of-bounds write in EMR_ALPHABLEND handling. kernel32/tests: Test ReadProcessMemory on PAGE_NOACCESS memory. ntdll: Optimize NtReadVirtualMemory for in-process reads. maintainers: Remove shdocvw from WebBrowser control section. msvcrt: Reuse standard streams after they are closed. jscript: Allow using MSHTML constructors in instanceof expressions. mshtml: Use proper prototype names. mshtml: Store name in dispex_data_t. mshtml: Don't expose prototype properties directly from object instances. mshtml: Add initial support for MSHTML prototype objects. mshtml: Factor out init_dispatch_from_desc. mshtml: Split ensure_dispex_info. mshtml: Store vtbl in dispex_data_t. mshtml: Add initial constructor implementation. odbc32: Forward SQLGetInfo() to the Unicode version if needed. odbc32: Forward SQLGetDescField() to the Unicode version if needed. odbc32: Forward SQLGetDescRec() to the Unicode version if needed. odbc32: Forward SQLGetDescField() to the Unicode version if needed. odbc32: Forward SQLGetCursorName() to the Unicode version if needed. odbc32: Forward SQLGetConnectOption() to the Unicode version if needed. odbc32: Forward SQLGetConnectAttr() to the Unicode version if needed. mmdevapi/tests: Add test for IAudioSessionEnumerator. mmdevapi: Add implementation for IAudioSessionEnumerator. mmdevapi: Return stub interface from ASM_GetSessionEnumerator(). jscript: Implement arguments.caller. comctl32: Fix sorting for listview. comctl32/tests: Add test for listview sorting order. d3dx9/tests: Add some tests for D3DXEFFECT_DESC fields. propsys: Initially implement VariantToPropVariant. propsys/tests: Add tests for VariantToPropVariant. propsys: Add stubs for variant conversion functions. win32u: Merge drivers CreateLayeredWindow with CreateWindowSurface. win32u: Avoid sending WM_PAINT to layered window surfaces. winemac: Rely on win32u previous surface reuse. winemac: Remove unnecessary old window surface bounds copy. winewayland: Rely on win32u previous surface reuse. wineandroid: Rely on win32u previous surface reuse. winex11: Rely on win32u previous surface reuse. win32u: Simplify offscreen surface previous surface reuse check. odbc32: In get_drivers simplify loop condition. odbc32: In get_drivers prevent memory leak in error case (coverity). nsiproxy.sys: Only get owning pid when needed in udp_endpoint_enumerate_all(). nsiproxy.sys: Fix the build on non-Apple, non-Linux systems.
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
Hi, you need to rebase your patches on top of wine master.