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.
-- v5: remove is_dynamic_env_var(...) because it is not needed anymore
From: Alois SCHLOEGL alois.schloegl@ist.ac.at
--- dlls/ntdll/unix/env.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/dlls/ntdll/unix/env.c b/dlls/ntdll/unix/env.c index 36949b905fb..ba7be83e82e 100644 --- a/dlls/ntdll/unix/env.c +++ b/dlls/ntdll/unix/env.c @@ -485,6 +485,8 @@ const char *ntdll_get_data_dir(void) * build_envp * * Build the environment of a new child process. + * converts WINENV (WCHAR*) to NIXENV (char*) + * Use HOSTENV stored in global var main_envp */ char **build_envp( const WCHAR *envW ) { @@ -494,6 +496,12 @@ char **build_envp( const WCHAR *envW ) int count = 1, length, lenW; unsigned int i;
+#if 1 + /* to not convert from WINENV but use HOSTENV */ + return main_envp; +#else + + /* convert WINENV to NIXENV */ lenW = get_env_length( envW ); if (!(env = malloc( lenW * 3 ))) return NULL; length = ntdll_wcstoumbs( envW, lenW, env, lenW * 3, FALSE ); @@ -546,6 +554,7 @@ char **build_envp( const WCHAR *envW ) } free( env ); return envp; +#endif }
From: Alois SCHLOEGL alois.schloegl@ist.ac.at
--- dlls/ntdll/unix/env.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/dlls/ntdll/unix/env.c b/dlls/ntdll/unix/env.c index ba7be83e82e..97817d1a5ad 100644 --- a/dlls/ntdll/unix/env.c +++ b/dlls/ntdll/unix/env.c @@ -932,6 +932,13 @@ static const char overrides_help_message[] = * get_initial_environment * * Return the initial environment. + * converts HOSTENV (char*) to WINENV (WCHAR*) + * HOSTENV is stored in global var main_envp + * WINENV is returned in *env. + * pos: returns size [in WCHAR] of win environment + * size: returns size [in bytes] of host environment + * return value is host env converted to win env + with special and dynamic envvars beeing ignored */ static WCHAR *get_initial_environment( SIZE_T *pos, SIZE_T *size ) { @@ -961,6 +968,12 @@ static WCHAR *get_initial_environment( SIZE_T *pos, SIZE_T *size ) } else if (is_special_env_var( str )) continue; /* skip it */
+#if 1 + // do whitelisting instead of blacklisting of envvars + // prevents propagating nixenv to winenv, except "WINE"+special-env-var + else continue; +#endif + if (is_dynamic_env_var( str )) continue; ptr += ntdll_umbstowcs( str, strlen(str) + 1, ptr, end - ptr ); }
From: Alois Schlögl alois.schloegl@gmail.com
--- dlls/ntdll/unix/env.c | 72 +++---------------------------------------- 1 file changed, 4 insertions(+), 68 deletions(-)
diff --git a/dlls/ntdll/unix/env.c b/dlls/ntdll/unix/env.c index 97817d1a5ad..dc5bdb07a3f 100644 --- a/dlls/ntdll/unix/env.c +++ b/dlls/ntdll/unix/env.c @@ -496,65 +496,8 @@ char **build_envp( const WCHAR *envW ) int count = 1, length, lenW; unsigned int i;
-#if 1 /* to not convert from WINENV but use HOSTENV */ return main_envp; -#else - - /* convert WINENV to NIXENV */ - lenW = get_env_length( envW ); - if (!(env = malloc( lenW * 3 ))) return NULL; - length = ntdll_wcstoumbs( envW, lenW, env, lenW * 3, FALSE ); - - for (p = env; *p; p += strlen(p) + 1, count++) - { - if (is_dynamic_env_var( p )) continue; - if (is_special_env_var( p )) length += 4; /* prefix it with "WINE" */ - } - - for (i = 0; i < ARRAY_SIZE( unix_vars ); i++) - { - if (!(p = getenv(unix_vars[i]))) continue; - length += strlen(unix_vars[i]) + strlen(p) + 2; - count++; - } - - if ((envp = malloc( count * sizeof(*envp) + length ))) - { - char **envptr = envp; - char *dst = (char *)(envp + count); - - /* some variables must not be modified, so we get them directly from the unix env */ - for (i = 0; i < ARRAY_SIZE( unix_vars ); i++) - { - if (!(p = getenv( unix_vars[i] ))) continue; - *envptr++ = strcpy( dst, unix_vars[i] ); - strcat( dst, "=" ); - strcat( dst, p ); - dst += strlen(dst) + 1; - } - - /* now put the Windows environment strings */ - for (p = env; *p; p += strlen(p) + 1) - { - if (*p == '=') continue; /* skip drive curdirs, this crashes some unix apps */ - if (is_dynamic_env_var( p )) continue; - if (is_special_env_var( p )) /* prefix it with "WINE" */ - { - *envptr++ = strcpy( dst, "WINE" ); - strcat( dst, p ); - } - else - { - *envptr++ = strcpy( dst, p ); - } - dst += strlen(dst) + 1; - } - *envptr = 0; - } - free( env ); - return envp; -#endif }
@@ -959,23 +902,16 @@ static WCHAR *get_initial_environment( SIZE_T *pos, SIZE_T *size ) /* skip Unix special variables and use the Wine variants instead */ if (!strncmp( str, "WINE", 4 )) { - if (is_special_env_var( str + 4 )) str += 4; + if (is_special_env_var( str + 4 )) { + str += 4; + ptr += ntdll_umbstowcs( str, strlen(str) + 1, ptr, end - ptr ); + } else if (!strcmp( str, "WINEDLLOVERRIDES=help" )) { MESSAGE( overrides_help_message ); exit(0); } } - else if (is_special_env_var( str )) continue; /* skip it */ - -#if 1 - // do whitelisting instead of blacklisting of envvars - // prevents propagating nixenv to winenv, except "WINE"+special-env-var - else continue; -#endif - - if (is_dynamic_env_var( str )) continue; - ptr += ntdll_umbstowcs( str, strlen(str) + 1, ptr, end - ptr ); } *pos = ptr - env; return env;
From: Alois Schlögl alois.schloegl@gmail.com
--- dlls/ntdll/unix/env.c | 6 ------ 1 file changed, 6 deletions(-)
diff --git a/dlls/ntdll/unix/env.c b/dlls/ntdll/unix/env.c index dc5bdb07a3f..cc0df70a750 100644 --- a/dlls/ntdll/unix/env.c +++ b/dlls/ntdll/unix/env.c @@ -490,12 +490,6 @@ const char *ntdll_get_data_dir(void) */ char **build_envp( const WCHAR *envW ) { - static const char * const unix_vars[] = { "PATH", "TEMP", "TMP", "HOME" }; - char **envp; - char *env, *p; - int count = 1, length, lenW; - unsigned int i; - /* to not convert from WINENV but use HOSTENV */ return main_envp; }
From: Tim Clem tclem@codeweavers.com
The handles returned by libproc (namely struct socket_info's soi_pcb) use all 64 bits, but the ones from the pcblist sysctl are truncated to 32. That makes find_owning_pid fail. The pcblist64 sysctl was added in macOS 10.6 and returns handles that match those from libproc. --- dlls/nsiproxy.sys/tcp.c | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-)
diff --git a/dlls/nsiproxy.sys/tcp.c b/dlls/nsiproxy.sys/tcp.c index 5734c4d9ee0..67dcfed19f3 100644 --- a/dlls/nsiproxy.sys/tcp.c +++ b/dlls/nsiproxy.sys/tcp.c @@ -29,6 +29,7 @@ #include <sys/socket.h> #include <dirent.h> #include <unistd.h> +#include <pthread.h>
#ifdef HAVE_SYS_PARAM_H #include <sys/param.h> @@ -514,6 +515,16 @@ unsigned int find_owning_pid( struct pid_map *map, unsigned int num_entries, UIN #endif }
+#ifdef __APPLE__ +static int pcblist_mib[CTL_MAXNAME]; +static size_t pcblist_mib_len = CTL_MAXNAME; + +static void init_pcblist64_mib( void ) +{ + sysctlnametomib( "net.inet.tcp.pcblist64", pcblist_mib, &pcblist_mib_len ); +} +#endif + static NTSTATUS tcp_conns_enumerate_all( UINT filter, struct nsi_tcp_conn_key *key_data, UINT key_size, void *rw, UINT rw_size, struct nsi_tcp_conn_dynamic *dynamic_data, UINT dynamic_size, @@ -625,12 +636,19 @@ static NTSTATUS tcp_conns_enumerate_all( UINT filter, struct nsi_tcp_conn_key *k } #elif defined(HAVE_SYS_SYSCTL_H) && defined(TCPCTL_PCBLIST) && defined(HAVE_STRUCT_XINPGEN) { - int mib[] = { CTL_NET, PF_INET, IPPROTO_TCP, TCPCTL_PCBLIST }; size_t len = 0; char *buf = NULL; struct xinpgen *xig, *orig_xig;
- if (sysctl( mib, ARRAY_SIZE(mib), NULL, &len, NULL, 0 ) < 0) +#ifdef __APPLE__ + static pthread_once_t mib_init_once = PTHREAD_ONCE_INIT; + pthread_once( &mib_init_once, init_pcblist64_mib ); +#else + int pcblist_mib[] = { CTL_NET, PF_INET, IPPROTO_TCP, TCPCTL_PCBLIST }; + size_t pcblist_mib_len = ARRAY_SIZE(mib); +#endif + + if (sysctl( pcblist_mib, pcblist_mib_len, NULL, &len, NULL, 0 ) < 0) { ERR( "Failure to read net.inet.tcp.pcblist via sysctl\n" ); status = STATUS_NOT_SUPPORTED; @@ -644,7 +662,7 @@ static NTSTATUS tcp_conns_enumerate_all( UINT filter, struct nsi_tcp_conn_key *k goto err; }
- if (sysctl( mib, ARRAY_SIZE(mib), buf, &len, NULL, 0 ) < 0) + if (sysctl( pcblist_mib, pcblist_mib_len, buf, &len, NULL, 0 ) < 0) { ERR( "Failure to read net.inet.tcp.pcblist via sysctl\n" ); status = STATUS_NOT_SUPPORTED; @@ -664,7 +682,11 @@ static NTSTATUS tcp_conns_enumerate_all( UINT filter, struct nsi_tcp_conn_key *k xig->xig_len > sizeof(struct xinpgen); xig = (struct xinpgen *)((char *)xig + xig->xig_len)) { -#if __FreeBSD_version >= 1200026 +#ifdef __APPLE__ + struct xtcpcb64 *tcp = (struct xtcpcb64 *)xig; + struct xinpcb64 *in = &tcp->xt_inpcb; + struct xsocket64 *sock = &in->xi_socket; +#elif __FreeBSD_version >= 1200026 struct xtcpcb *tcp = (struct xtcpcb *)xig; struct xinpcb *in = &tcp->xt_inp; struct xsocket *sock = &in->xi_socket;
From: Tim Clem tclem@codeweavers.com
--- dlls/nsiproxy.sys/udp.c | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-)
diff --git a/dlls/nsiproxy.sys/udp.c b/dlls/nsiproxy.sys/udp.c index 2248d74234b..3cb215c1c58 100644 --- a/dlls/nsiproxy.sys/udp.c +++ b/dlls/nsiproxy.sys/udp.c @@ -27,6 +27,7 @@ #include <stddef.h> #include <sys/types.h> #include <sys/socket.h> +#include <pthread.h>
#ifdef HAVE_SYS_PARAM_H #include <sys/param.h> @@ -202,6 +203,16 @@ static NTSTATUS udp_stats_get_all_parameters( const void *key, UINT key_size, vo return STATUS_NOT_SUPPORTED; }
+#ifdef __APPLE__ +static int pcblist_mib[CTL_MAXNAME]; +static size_t pcblist_mib_len = CTL_MAXNAME; + +static void init_pcblist64_mib( void ) +{ + sysctlnametomib( "net.inet.udp.pcblist64", pcblist_mib, &pcblist_mib_len ); +} +#endif + static NTSTATUS udp_endpoint_enumerate_all( void *key_data, UINT key_size, void *rw_data, UINT rw_size, void *dynamic_data, UINT dynamic_size, void *static_data, UINT static_size, UINT_PTR *count ) @@ -296,14 +307,21 @@ static NTSTATUS udp_endpoint_enumerate_all( void *key_data, UINT key_size, void } #elif defined(HAVE_SYS_SYSCTL_H) && defined(UDPCTL_PCBLIST) && defined(HAVE_STRUCT_XINPGEN) { - int mib[] = { CTL_NET, PF_INET, IPPROTO_UDP, UDPCTL_PCBLIST }; size_t len = 0; char *buf = NULL; struct xinpgen *xig, *orig_xig;
- if (sysctl( mib, ARRAY_SIZE(mib), NULL, &len, NULL, 0 ) < 0) +#ifdef __APPLE__ + static pthread_once_t mib_init_once = PTHREAD_ONCE_INIT; + pthread_once( &mib_init_once, init_pcblist64_mib ); +#else + int pcblist_mib[] = { CTL_NET, PF_INET, IPPROTO_UDP, UDPCTL_PCBLIST }; + size_t pcblist_mib_len = ARRAY_SIZE(mib); +#endif + + if (sysctl( pcblist_mib, pcblist_mib_len, NULL, &len, NULL, 0 ) < 0) { - ERR( "Failure to read net.inet.udp.pcblist via sysctlbyname!\n" ); + ERR( "Failure to read net.inet.udp.pcblist via sysctl!\n" ); status = STATUS_NOT_SUPPORTED; goto err; } @@ -315,9 +333,9 @@ static NTSTATUS udp_endpoint_enumerate_all( void *key_data, UINT key_size, void goto err; }
- if (sysctl( mib, ARRAY_SIZE(mib), buf, &len, NULL, 0 ) < 0) + if (sysctl( pcblist_mib, pcblist_mib_len, buf, &len, NULL, 0 ) < 0) { - ERR( "Failure to read net.inet.udp.pcblist via sysctlbyname!\n" ); + ERR( "Failure to read net.inet.udp.pcblist via sysctl!\n" ); status = STATUS_NOT_SUPPORTED; goto err; } @@ -335,7 +353,10 @@ static NTSTATUS udp_endpoint_enumerate_all( void *key_data, UINT key_size, void xig->xig_len > sizeof (struct xinpgen); xig = (struct xinpgen *)((char *)xig + xig->xig_len)) { -#if __FreeBSD_version >= 1200026 +#ifdef __APPLE__ + struct xinpcb64 *in = (struct xinpcb64 *)xig; + struct xsocket64 *sock = &in->xi_socket; +#elif __FreeBSD_version >= 1200026 struct xinpcb *in = (struct xinpcb *)xig; struct xsocket *sock = &in->xi_socket; #else
From: Herman Semenov GermanAizek@yandex.ru
--- dlls/gdiplus/metafile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/gdiplus/metafile.c b/dlls/gdiplus/metafile.c index 6ccfc469c25..19c4998d2d3 100644 --- a/dlls/gdiplus/metafile.c +++ b/dlls/gdiplus/metafile.c @@ -5225,7 +5225,7 @@ GpStatus METAFILE_FillPie(GpMetafile *metafile, GpBrush *brush, const GpRectF *r is_int_rect = is_integer_rect(rect);
stat = METAFILE_AllocateRecord(metafile, EmfPlusRecordTypeFillPie, - FIELD_OFFSET(EmfPlusFillPie, RectData) + is_int_rect ? sizeof(EmfPlusRect) : sizeof(EmfPlusRectF), + FIELD_OFFSET(EmfPlusFillPie, RectData) + (is_int_rect ? sizeof(EmfPlusRect) : sizeof(EmfPlusRectF)), (void **)&record); if (stat != Ok) return stat; if (inline_color)
From: Alexandros Frantzis alexandros.frantzis@collabora.com
--- dlls/winex11.drv/opengl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c index 5d914b74f0a..e68bdd59ddb 100644 --- a/dlls/winex11.drv/opengl.c +++ b/dlls/winex11.drv/opengl.c @@ -1528,7 +1528,7 @@ static int describe_pixel_format( int iPixelFormat, struct wgl_pixel_format *pf pf->framebuffer_srgb_capable = value;
pf->bind_to_texture_rgb = pf->bind_to_texture_rgba = - use_render_texture_emulation && render_type != GLX_COLOR_INDEX_BIT && (render_type & GLX_PBUFFER_BIT); + use_render_texture_emulation && render_type != GLX_COLOR_INDEX_BIT && (drawable_type & GLX_PBUFFER_BIT); pf->bind_to_texture_rectangle_rgb = pf->bind_to_texture_rectangle_rgba = GL_FALSE;
if (pglXGetFBConfigAttrib( gdi_display, fmt->fbconfig, GLX_FLOAT_COMPONENTS_NV, &value )) value = -1;
From: Alexandros Frantzis alexandros.frantzis@collabora.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56984 Fixes: 272c55ac257315ef8393df357a79aac4e0d6cd76 --- dlls/opengl32/wgl.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c index b4daa642348..6e24e4d5ed1 100644 --- a/dlls/opengl32/wgl.c +++ b/dlls/opengl32/wgl.c @@ -520,6 +520,7 @@ static enum attrib_match wgl_attrib_match_criteria( int attrib ) case WGL_DOUBLE_BUFFER_ARB: case WGL_STEREO_ARB: case WGL_PIXEL_TYPE_ARB: + case WGL_DRAW_TO_PBUFFER_ARB: case WGL_BIND_TO_TEXTURE_RGB_ARB: case WGL_BIND_TO_TEXTURE_RGBA_ARB: case WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV:
From: Alexandre Julliard julliard@winehq.org
--- ANNOUNCE.md | 702 ++++++++++++++++++++++------------------------------ AUTHORS | 1 + VERSION | 2 +- configure | 18 +- 4 files changed, 302 insertions(+), 421 deletions(-)
diff --git a/ANNOUNCE.md b/ANNOUNCE.md index fd43bb3260f..42ed7e9118f 100644 --- a/ANNOUNCE.md +++ b/ANNOUNCE.md @@ -1,12 +1,12 @@ -The Wine development release 9.13 is now available. +The Wine development release 9.14 is now available.
What's new in this release: - - Support for loading ODBC Windows drivers. - - More user32 data structures in shared memory. - - More rewriting of the CMD.EXE engine. + - Mailslots reimplemented using server-side I/O. + - More support for ODBC Windows drivers. + - Still more user32 data structures in shared memory. - Various bug fixes.
-The source is available at https://dl.winehq.org/wine/source/9.x/wine-9.13.tar.xz +The source is available at https://dl.winehq.org/wine/source/9.x/wine-9.14.tar.xz
Binary packages for various distributions will be available from https://www.winehq.org/download @@ -16,421 +16,301 @@ You will find documentation on https://www.winehq.org/documentation Wine is available thanks to the work of many people. See the file [AUTHORS][1] for the complete list.
-[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.13/AUTHORS +[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.14/AUTHORS
----------------------------------------------------------------
-### Bugs fixed in 9.13 (total 22): - - - #21344 Buffer overflow in WCMD_run_program - - #35163 Victoria 2: A House Divided crashes on start with built-in quartz - - #39206 Lylian demo hangs after intro video - - #44315 Buffer maps cause CPU-GPU synchronization (Guild Wars 2, The Witcher 3) - - #44888 Wrong texture in Assassin's Creed : Revelations - - #45810 WINEPATH maximums - - #52345 Unclosed right-side double quote in if command breaks wine cmd - - #52346 Filename completion is not supported in cmd - - #54246 Full Metal Daemon Muramasa stuck at black screen at boot - - #54499 Native ODBC drivers should be able be used. - - #54575 False positive detection of mmc reader as hard drive since kernel 6.1 - - #55130 IF EXIST fails when its argument ends on a slash - - #55401 CMD 'for loop' params are not recognized - - #56575 CUERipper 2.2.5 Crashes on loading WMA plugin - - #56600 MEGA TECH Faktura Small Business: Access violation in module kernelbase.dll - - #56617 Photoshop CC 2024: crashes after a short period (Unimplemented function NETAPI32.dll.NetGetAadJoinInformation) - - #56882 ConEmu errors: Injecting hooks failed - - #56895 So Blonde (demo): font display bug (regression) - - #56938 msiexec crashes with stack overflow when installing python 3.11+ dev.msi - - #56945 Multiple UI elements in builtin programs is missing (taskbar in Virtual Desktop, right-click menu in RegEdit) - - #56948 Intel Hardware Accelerated Execution Manager needs unimplemented function ntoskrnl.exe.KeQueryGroupAffinity - - #56952 PS installer crashes inside msi (regression) - -### Changes since 9.12: +### Bugs fixed in 9.14 (total 20): + + - #11268 Civilization I for Windows (16-bt) incorrectly displays some dialogues + - #32679 cmd.exe Add support for || and && + - #48167 1000 Mots V4.0.2 freeze when 3 words are pronounced - Underrun of data + - #48455 Multiple .inf driver installers hang due to missing handling of architecture-specific SourceDisks{Names,Files} .inf sections (Native Instruments Native Access 1.9, WinCDEmu 4.1) + - #49944 Multiple games fail to detect audio device (Tom Clancy's Splinter Cell: Conviction, I Am Alive) + - #50231 Ys: Origin shows black screen during video playback + - #54735 AOL (America Online) Desktop Beta fails when installing .net 4.8 + - #54788 AOL 5.0 Installation fails + - #55662 Different behaviour of "set" command + - #55798 Unreal Engine 5.2: Wine minidumps take hours to load into a debugger + - #56751 New WoW64 compilation fails on Ubuntu Bionic + - #56861 Background color of selected items in ListView(or ListCtrl) is white + - #56954 Regression causes wine to generate ntlm_auth <defunct> processes + - #56956 MSVC cl.exe 19.* fails to flush intermediate file + - #56957 CEF application (BSG Launcher) freezes on mouse hover action + - #56958 ChessBase 17 crashes after splash screen + - #56969 Act of War (Direct Action, High Treason) crashes in wined3d when loading the mission + - #56972 Warlords III: Darklords Rising shows empty screen in virtual desktop + - #56977 accept()-ed socket fds are never marked as cacheable + - #56994 mbstowcs for UTF8, with an exact (not overallocated) output buffer size fails + +### Changes since 9.13: ``` -Alex Henrie (11): - msi: Initialize size argument to RegGetValueW. - shell32: Pass size in bytes to RegGetValueW. - twinapi.appcore: Initialize size argument to RegGetValueW. - mscoree: Pass size in bytes to RegGetValueW. - wineboot: Correct size argument to SetupDiSetDeviceRegistryPropertyA. - advapi32/tests: Test RegGetValue[AW] null termination. - advapi32/tests: Drop security test workarounds for Windows <= 2000. - windowscodecs: Use RegQueryValueExW in ComponentInfo_GetStringValue. - kernelbase: Ensure null termination in RegGetValue[AW]. - ntdll: Double-null-terminate registry multi-strings in RtlQueryRegistryValues. - ntdll/tests: Remove unused WINE_TODO_DATA flag. - -Alexandre Julliard (26): - kernelbase: Mask extra protection flags in WriteProcessMemory. - wow64: Call pre- and post- memory notifications also in the current process case. - wow64: Add more cross-process notifications. - ntdll/tests: Add tests for in-process memory notifications on ARM64. - wow64: Add a helper to get the 32-bit TEB. - ntdll: Always set the dll name pointer in the 32-bit TEB. - wow64: Fix NtMapViewOfSection CPU backend notifications. - wow64: Add NtReadFile CPU backend notifications. - wow64cpu: Simplify the Unix call thunk. - xtajit64: Add stub dll. - ntdll: Load xtajit64.dll on ARM64EC. - ntdll/tests: Add some tests for xtajit64. - ntdll: Create the cross-process work list at startup on ARM64EC. - ntdll: Support the ARM64EC work list in RtlOpenCrossProcessEmulatorWorkConnection. - ntdll: Call the processor information callback on ARM64EC. - ntdll: Load the processor features from the emulator on ARM64EC. - ntdll: Call the flush instruction cache callback on ARM64EC. - ntdll: Call the memory allocation callbacks on ARM64EC. - ntdll: Call the section map callbacks on ARM64EC. - ntdll: Call the read file callback on ARM64EC. - ntdll: Implement ProcessPendingCrossProcessEmulatorWork on ARM64EC. - wininet/tests: Update issuer check for winehq.org certificate. - wow64: Fix prototype for the NtTerminateThread CPU backend notification. - wow64: Add NtTerminateProcess CPU backend notifications. - ntdll: Call the terminate thread callback on ARM64EC. - ntdll: Call the terminate process callback on ARM64EC. - -Alexandros Frantzis (4): - opengl32: Add default implementation for wglChoosePixelFormatARB. - winex11: Remove driver wglChoosePixelFormatARB implementation. - winewayland: Support WGL_ARB_pixel_format. - winewayland: Support WGL_ARB_pixel_format_float. - -Alfred Agrell (10): - include: Fix typo in DXGI_DEBUG_APP. - include: Fix typo in IID_IDWriteStringList. - include: Fix typo in IID_IAudioLoudness. - include: Fix typo in GUID_DEVCLASS_1394DEBUG. - include: Fix typo in IID_IRemoteDebugApplication. - include: Fix typos in MF_MT_VIDEO_3D and MF_MT_AUDIO_FOLDDOWN_MATRIX. - include: Fix typos in IID_IMimeWebDocument and IID_IMimeMessageCallback. - include: Fix typos in IID_IPropertyEnumType2 and CLSID_PropertySystem. - include: Fix typo in MEDIASUBTYPE_P408. - include: Fix typo in CLSID_WICXMPMetadataReader. - -Austin English (2): - netapi32: Add NetGetAadJoinInformation stub. - ntoskrnl.exe: Add a stub for KeQueryGroupAffinity. - -Biswapriyo Nath (5): - include: Add flags for ID3D11ShaderReflection::GetRequiresFlags method in d3d11shader.h. - include: Add macros for d3d12 shader version in d3d12shader.idl. - include: Add new names in D3D_NAME enum in d3dcommon.idl. - include: Fix typo with XINPUT_DEVSUBTYPE_FLIGHT_STICK name in xinput.h. - include: Fix typo with X3DAUDIO_EMITTER structure in x3daudio.h. - -Brendan McGrath (3): - winegstreamer: Use process affinity to calculate thread_count. - winegstreamer: Use thread_count to determine 'max-threads' value. - winegstreamer: Set 'max_threads' to 4 for 32-bit processors. +Alex Henrie (1): + shell32: Put temp directory in %LOCALAPPDATA%\Temp by default. + +Alexandre Julliard (3): + ntdll: Implement KiUserEmulationDispatcher on ARM64EC. + urlmon/tests: Fix a test that fails after WineHQ updates. + ntdll: Always clear xstate flag on collided unwind. + +Alexandros Frantzis (2): + winex11: Query proper GLX attribute for pbuffer bit. + opengl32: Fix match criteria for WGL_DRAW_TO_PBUFFER_ARB. + +Alistair Leslie-Hughes (5): + odbc32: Handle NULL handles in SQLError/W. + odbc32: Fake success for SQL_ATTR_CONNECTION_POOLING in SQLSetEnvAttr. + odbc32: Handle NULL EnvironmentHandle in SQLTransact. + msado15: Fake success in _Recordset::CancelUpdate. + msado15: Report we support all options in _Recordset::Supports. + +Arkadiusz Hiler (1): + ntdll: Use the correct io callback when writing to a socket. + +Billy Laws (1): + ntdll: Map PSTATE.SS to the x86 trap flag on ARM64EC. + +Biswapriyo Nath (1): + include: Fix return type of IXAudio2MasteringVoice::GetChannelMask in xaudio2.idl. + +Brendan Shanks (1): + wine.inf: Don't register wineqtdecoder.dll.
Connor McAdams (14): - d3dx9/tests: Move the images used across multiple test files into a shared header. - d3dx9/tests: Add more D3DXLoadVolumeFromFileInMemory() tests. - d3dx9: Use shared code in D3DXLoadVolumeFromFileInMemory(). - d3dx9/tests: Add more tests for D3DXCreateVolumeTextureFromFileInMemoryEx(). - d3dx9: Refactor texture creation and cleanup in D3DXCreateVolumeTextureFromFileInMemoryEx(). - d3dx9: Cleanup texture value argument handling in D3DXCreateVolumeTextureFromFileInMemoryEx(). - d3dx9: Use d3dx_image structure inside of D3DXCreateVolumeTextureFromFileInMemoryEx(). - d3dx9: Add support for mipmap generation to D3DXCreateVolumeTextureFromFileInMemoryEx(). - d3dx9/tests: Add tests for DDS skip mip level bits. - d3dx9: Apply the DDS skip mip level bitmask. - d3dx9/tests: Add more DDS header tests for volume texture files. - d3dx9: Check the proper flag for DDS files representing a volume texture. - d3dx9/tests: Add more DDS header tests for cube texture files. - d3dx9: Return failure if a cubemap DDS file does not contain all faces. + d3d9/tests: Add tests for IDirect3DDevice9::UpdateSurface() with a multisampled surface. + d3d9: Return failure if a multisampled surface is passed to IDirect3DDevice9::UpdateSurface(). + ddraw/tests: Add tests for preserving d3d scene state during primary surface creation. + d3d9/tests: Add a test for device reset after beginning a scene. + d3d8/tests: Add a test for device reset after beginning a scene. + wined3d: Clear scene state on device state reset. + d3dx9/tests: Make some test structures static const. + d3dx9/tests: Reorder test structure members. + d3dx9/tests: Add more D3DXCreateCubeTextureFromFileInMemory{Ex}() tests. + d3dx9: Refactor texture creation and cleanup in D3DXCreateCubeTextureFromFileInMemoryEx(). + d3dx9: Cleanup texture value argument handling in D3DXCreateCubeTextureFromFileInMemoryEx(). + d3dx9: Use d3dx_image structure inside of D3DXCreateCubeTextureFromFileInMemoryEx(). + d3dx9: Add support for specifying which array layer to get pixel data from to d3dx_image_get_pixels(). + d3dx9: Add support for loading non-square cubemap DDS files into cube textures. + +Daniel Lehman (3): + odbc32: Handle NULL attribute in SQLColAttribute[W]. + odbc32: Return success for handled attributes in SQLSetConnectAttrW. + mshtml: Add application/pdf MIME type.
Dmitry Timoshkov (3): - msv1_0: Add support for SECPKG_CRED_BOTH. - kerberos: Add support for SECPKG_CRED_BOTH. - crypt32: Make CertFindCertificateInStore(CERT_FIND_ISSUER_NAME) work. - -Elizabeth Figura (19): - d3dcompiler/tests: Use the correct interfaces for some COM calls. - mfplat/tests: Use the correct interfaces for some COM calls. - d3dx9: Use the correct interfaces for some COM calls. - d3dx9/tests: Define COBJMACROS. - mfplat/tests: Add more tests for compressed formats. - winegstreamer: Check the version before calling wg_format_from_caps_video_mpeg1(). - winegstreamer: Implement MPEG-4 audio to wg_format conversion. - winegstreamer: Implement H.264 to wg_format conversion. - winegstreamer: Implement H.264 to IMFMediaType conversion. - winegstreamer: Implement AAC to IMFMediaType conversion. - winegstreamer: Implement WMV to IMFMediaType conversion. - winegstreamer: Implement WMA to IMFMediaType conversion. - winegstreamer: Implement MPEG-1 audio to IMFMediaType conversion. - wined3d: Invalidate the FFP VS when diffuse presence changes. - wined3d: Destroy the push constant buffers on device reset. - wined3d: Feed the fragment part of WINED3D_RS_SPECULARENABLE through a push constant buffer. - wined3d: Feed the FFP color key through a push constant buffer. - wined3d: Reorder light application in wined3d_device_apply_stateblock(). - wined3d: Feed WINED3D_RS_AMBIENT through a push constant buffer. - -Eric Pouech (49): - cmd: Add success/failure tests for file related commands. - cmd: Set success/failure return code for TYPE command. - cmd: Set success/failure return code DELETE command. - cmd: Set success/failure return code for MOVE command. - cmd: Set success/failure return code for RENAME command. - cmd: Set success/failure return code for COPY command. - cmd: Add success/failure tests for dir related commands. - cmd: Add success/failure return code for MKDIR/MD commands. - cmd: Set success/failure return code for CD command. - cmd: Set success/failure return code for DIR command. - cmd: Set success/failure return code for PUSHD command. - cmd: Add some more tests for success/failure. - cmd: Return tri-state for WCMD_ReadParseLine(). - cmd: Improve return code / errorlevel handling. - cmd: Set success/failure return_code for POPD command. - cmd: Set success/failure return code for RMDIR/RD command. - cmd: Don't set ERRORLEVEL in case of redirection error. - cmd/tests: Test success / failure for more commands. - cmd: Set success/failure return code for SETLOCAL/ENDLOCAL commands. - cmd: Set success/failure return code for DATE/TIME commands. - cmd: Set success/failure return code for VER command. - cmd: Set success/failure return code for VERIFY command. - cmd: Set success/failure return code for VOL command. - cmd: Set success/failure return code for LABEL command. - cmd/tests: Add more tests for success/failure. - cmd: Set success/failure return code of PATH command. - cmd: Set success/failure return code for SET command. - cmd: Set success/failure return code for ASSOC,FTYPE commands. - cmd: Set success/failure return code for SHIFT command. - cmd: Set success/failure return code for HELP commands. - cmd: Set success/failure return_code for PROMPT command. - cmd: Add tests for screen/interactive builtin commands. - cmd: Set success/failure return code for CLS command. - cmd: Set success/failure return code for COLOR command. - cmd: Set success/failure return code for TITLE command. - cmd: Use the correct output handle in pipe command. - cmd: Set success/failure return code for CHOICE command. - cmd: Set success/failure return code for MORE command. - cmd: Set success/failure return code for PAUSE command. - cmd: Get rid of CTTY command. - cmd: Add more tests for return codes in builtin commands. - cmd: Set success/failure return code for MKLINK command. - cmd: Set success/failure return code for START command. - cmd: Move empty batch command handling to WCMD_batch() callers. - cmd: Improve return code/errorlevel support for external commands. - cmd: Cleanup transition bits. - cmd: Get rid for CMD_COMMAND structure. - cmd: When parsing, dispose created objects on error path. - cmd: Fix a couple of issues with redirections. - -Fabian Maurer (6): - cmd: Close file opened with popen with correct function (coverity). - mlang/tests: Add test for GetGlobalFontLinkObject allowing IID_IMultiLanguage2. - mlang/tests: Add tests showing which interface is returned by GetGlobalFontLinkObject. - mlang: Return the correct interface in GetGlobalFontLinkObject. - d3dx9: Remove superflous nullcheck (coverity). - msv1_0: Set mode in ntlm_check_version. - -Hans Leidekker (25): - msi: Avoid infinite recursion while processing the DrLocator table. - odbc32: Turn SQLBindParam() into a stub. - odbc32: Replicate Unix data sources to the ODBC Data Sources key. - odbc32: Reimplement SQLDrivers() using registry functions. - odbc32: Reimplement SQLDataSources() using registry functions. - odbc32: Introduce a Windows driver loader and forward a couple of functions. - odbc32: Forward more functions to the Windows driver. - odbc32: Forward yet more functions to the Windows driver. - odbc32: Forward the remaining functions to the Windows driver. - odbc32/tests: Add tests. - msi: Handle failure from MSI_RecordGetInteger(). - msi: Load DrLocator table in ITERATE_AppSearch(). - winhttp: Implement WinHttpQueryOption(WINHTTP_OPTION_URL). - odbc32: Implement SQLSetEnvAttr(SQL_ATTR_ODBC_VERSION). - odbc32: Implement SQLGet/SetConnectAttr(SQL_ATTR_LOGIN_TIMEOUT). - odbc32: Implement SQLGet/SetConnectAttr(SQL_ATTR_CONNECTION_TIMEOUT). - odbc32: Stub SQLGetEnvAttr(SQL_ATTR_CONNECTION_POOLING). - odbc32: Handle options in SQLFreeStmt(). - odbc32: Default to ODBC version 2. - odbc32: Implement SQLGetInfo(SQL_ODBC_VER). - odbc32: Factor out helpers to create driver environment and connection handles. - odbc32: Accept SQL_FETCH_NEXT in SQLDataSources/Drivers() if the key has not been opened. - odbc32: Set parent functions before creating the environment handle. - odbc32: Use SQLFreeHandle() instead of SQLFreeEnv/Connect(). - odbc32: Use SQLSetConnectAttrW() instead of SQLSetConnectAttr() if possible. - -Ilia Docin (1): - comctl32/rebar: Hide chevron if rebar's band is resized back to full size with gripper. - -Jacek Caban (38): - jscript: Factor out find_external_prop. - jscript: Rename PROP_IDX to PROP_EXTERN. - jscript: Introduce lookup_prop callback. - jscript: Factor out lookup_dispex_prop. - jscript: Introduce next_property callback. - jscript: Factor out handle_dispatch_exception. - jscript: Use to_disp in a few more places. - mshtml: Factor out dispex_prop_put. - mshtml: Factor out dispex_prop_get. - mshtml: Factor out dispex_prop_call. - jscript: Allow objects to have their own addref and release implementation. - jscript: Introduce IWineJSDispatch insterface. - mshtml: Allow external properties to have arbitrary names. - jscript: Introduce HostObject implementation. - jscript: Support converting host objects to string. - jscript: Support host objects in disp_cmp. - jscript: Use jsdisp_t internally for host objects that support it. - mshtml: Implement jscript IWineJSDispatchHost. - mshtml: Pass an optional script global window to init_dispatch. - mshtml: Support using IWineJSDispatch for DispatchEx implementation. - mshtml: Use IWineJSDispatch for screen object script bindings. - jscript: Factor out native_function_string. - jscript: Add support for host functions. - mshtml/tests: Make todo_wine explicit in builtin_toString tests. - mshtml: Use host object script bindings for DOMImplementation class. - mshtml: Use host object script bindings for History class. - mshtml: Use host object script bindings for PerformanceNavigation class. - mshtml: Use host object script bindings for PerformanceTiming class. - mshtml: Use host object script bindings for Performance class. - mshtml: Store document node instead of GeckoBrowser in DOMImplementation. - mshtml/tests: Add script context test. - mshtml: Store script global object pointer in document object. - mshtml: Use host object script bindings for MediaQueryList class. - mshtml: Use host object script bindings for Navigator class. - mshtml: Use host object script bindings for Selection class. - mshtml: Use host object script bindings for TextRange class. - mshtml: Use host object script bindings for Range class. - mshtml: Use host object script bindings for Console class. - -Marc-Aurel Zent (4): - ntdll: Prefer futex for thread-ID alerts over kqueue. - ntdll: Use USE_FUTEX to indicate futex support. - ntdll: Simplify futex interface from futex_wake() to futex_wake_one(). - ntdll: Implement futex_wait() and futex_wake_one() on macOS. - -Matthias Gorzellik (2): - winebus.sys: Fix rotation for angles < 90deg. - winebus.sys: Align logical max of angles to physical max defined in dinput. - -Mohamad Al-Jaf (7): - include: Add windows.data.json.idl file. - windows.web: Add stub DLL. - windows.web: Implement IActivationFactory::ActivateInstance(). - include: Add IJsonValueStatics interface definition. - windows.web: Add IJsonValueStatics stub interface. - windows.web/tests: Add IJsonValueStatics::CreateStringValue() tests. - windows.web: Implement IJsonValueStatics::CreateStringValue(). + odbc32: Correct 'WINAPI' placement for function pointers. + light.msstyles: Use slightly darker color for GrayText to make text more readable. + dwrite: Return correct rendering and gridfit modes from ::GetRecommendedRenderingMode(). + +Elizabeth Figura (32): + setupapi/tests: Add more tests for SetupGetSourceFileLocation(). + setupapi: Correctly interpret the INFCONTEXT parameter in SetupGetSourceFileLocation(). + setupapi: Return the file's relative path from SetupGetSourceFileLocation(). + setupapi: Use SetupGetIntField() in SetupGetSourceFileLocation(). + ddraw: Call wined3d_stateblock_texture_changed() when the color key changes. + wined3d: Store all light constants in a separate structure. + wined3d: Store the cosines of the light angle in struct wined3d_light_constants. + wined3d: Feed light constants through a push constant buffer. + wined3d: Sort light constants by type. + wined3d: Transform light coordinates by the view matrix in wined3d_device_apply_stateblock(). + setupapi: Use SetupGetSourceFileLocation() in get_source_info(). + setupapi: Use SetupGetSourceInfo() in get_source_info(). + setupapi/tests: Test installing an INF file with architecture-specific SourceDisks* sections. + setupapi: Fix testing for a non-empty string in get_source_info(). + ntoskrnl/tests: Remove unnecessary bits from add_file_to_catalog(). + setupapi/tests: Make function pointers static. + setupapi/tests: Move SetupCopyOEMInf() tests to devinst.c. + setupapi/tests: Use a randomly generated directory and hardcoded file paths in test_copy_oem_inf(). + setupapi/tests: Use a signed catalog file in test_copy_oem_inf(). + wined3d: Avoid division by zero in wined3d_format_get_float_color_key(). + wined3d: Don't bother updating the colour key if the texture doesn't have WINED3D_CKEY_SRC_BLT. + wined3d: Move clip plane constant loading to shader_glsl_load_constants(). + wined3d: Correct clip planes for the view transform in wined3d_device_apply_stateblock(). + wined3d: Pass stream info to get_texture_matrix(). + wined3d: Do not use the texture matrices when drawing pretransformed vertices. + wined3d: Feed texture matrices through a push constant buffer. + server: Make pipe ends FD_TYPE_DEVICE. + kernel32/tests: Add more mailslot tests. + server: Treat completion with error before async_handoff() as error. + ntdll: Respect the "options" argument to NtCreateMailslotFile. + server: Reimplement mailslots using server-side I/O. + ntdll: Stub NtQueryInformationToken(TokenUIAccess). + +Eric Pouech (20): + winedump: Protect against corrupt minidump files. + winedump: Dump comment streams in minidump. + cmd: Add success/failure tests for pipes and drive change. + cmd: Set success/failure for change drive command. + cmd: Run pipe LHS & RHS outside of any batch context. + cmd: Better test error handling for pipes. + cmd: Enhance CHOICE arguement parsing. + cmd: Implement timeout support in CHOICE command. + include/mscvpdb.h: Use flexible array members for all trailing array fields. + include/msvcpdb.h: Use flexible array members for codeview_fieldtype union. + include/mscvpdb.h: Use flexible array members for codeview_symbol union. + include/mscvpdb.h: Use flexible array members for codeview_type with variable. + include/mscvpdb.h: Use flexible array members for the rest of structures. + cmd: Some tests about tampering with current batch file. + cmd: Link env_stack to running context. + cmd: Split WCMD_batch() in two functions. + cmd: Introduce helpers to find a label. + cmd: No longer pass a HANDLE to WCMD_ReadAndParseLine. + cmd: Save and restore file position from BATCH_CONTEXT. + cmd: Don't keep batch file opened. + +Esme Povirk (3): + win32u: Implement EVENT_OBJECT_DESTROY. + win32u: Implement EVENT_OBJECT_STATECHANGE for WS_DISABLED. + win32u: Implement EVENT_OBJECT_VALUECHANGE for scrollbars. + +Fabian Maurer (1): + ntdll: Prevent double close in error case (coverity). + +Fan WenJie (1): + win32u: Fix incorrect comparison in add_virtual_modes. + +Francisco Casas (2): + quartz: Emit FIXME when the rendering surface is smaller than the source in VMR9. + quartz: Properly copy data to render surfaces of planar formats in VMR9. + +François Gouget (1): + wineboot: Downgrade the wineprefix update message to a trace. + +Gabriel Ivăncescu (11): + mshtml: Make sure we aren't detached before setting interactive ready state. + jscript: Make JS_COUNT_OPERATION a no-op. + mshtml: Implement event.cancelBubble. + mshtml: Implement HTMLEventObj's cancelBubble on top of the underlying event's cancelBubble. + mshtml: Fix special case between stopImmediatePropagation and setting cancelBubble to false. + mshtml: Use bitfields for the event BOOL fields. + mshtml: Don't use -moz prefix for box-sizing CSS property. + mshtml/tests: Add more tests with invalid CSS props for (get|set)PropertyValue. + mshtml: Compactify the style_props expose tests for each style object into a single function. + mshtml: Implement style msTransition. + mshtml: Implement style msTransform. + +Hans Leidekker (27): + odbc32: Fix a couple of spec file entries. + odbc32: Use LoadLibraryExW() instead of LoadLibraryW(). + odbc32: Forward SQLDriverConnect() to the Unicode version if needed. + odbc32: Forward SQLGetDiagRec() to the Unicode version if needed. + odbc32: Forward SQLBrowseConnect() to the Unicode version if needed. + odbc32: Forward SQLColAttributes() to the Unicode version if needed. + odbc32: Forward SQLColAttribute() to the Unicode version if needed. + odbc32: Properly handle string length in traces. + winhttp/tests: Mark a test as broken on old Windows versions. + winhttp/tests: Fix test failures introduced by the server upgrade. + odbc32: Forward SQLColumnPrivileges() to the Unicode version if needed. + odbc32: Forward SQLColumns() to the Unicode version if needed. + odbc32: Forward SQLConnect() to the Unicode version if needed. + odbc32: Forward SQLDescribeCol() to the Unicode version if needed. + odbc32: Forward SQLError() to the Unicode version if needed. + odbc32: Handle missing Unicode driver entry points. + odbc32: Forward SQLExecDirect() to the Unicode version if needed. + odbc32: Forward SQLForeignKeys() to the Unicode version if needed. + odbc32: Avoid a clang warning. + odbc32: Get rid of the wrappers for SQLGetDiagRecA() and SQLDataSourcesA(). + odbc32/tests: Add tests for SQLTransact(). + odbc32: Fix setting the Driver registry value. + odbc32: Find the driver filename through the ODBCINST.INI key. + secur32: Handle GNUTLS_MAC_AEAD. + secur32/tests: Switch to TLS 1.2 for connections to test.winehq.org. + winhttp/tests: Mark more test results as broken on old Windows versions. + secur32/tests: Mark some test results as broken on old Windows versions. + +Herman Semenov (3): + dbghelp: Fix misprint access to struct with invalid case. + dplayx: Fix check structure before copy. + gdiplus: Fixed order of adding offset and result ternary operator. + +Jacek Caban (32): + mshtml: Use host object script bindings for Attr class. + mshtml: Use host object script bindings for event objects. + mshtml: Use host object script bindings for PluginArray class. + mshtml: Use host object script bindings for MimeTypeArray class. + mshtml: Use host object script bindings for MSNamespaceInfoCollection class. + mshtml: Use host object script bindings for MSEventObj class. + mshtml: Use host object script bindings for XMLHttpRequest class. + mshtml: Directly use dispex_prop_put and dispex_prop_get in HTMLElement implementation. + mshtml: Factor out dispex_next_id. + mshtml: Don't use BSTR in find_dispid. + mshtml: Don't use BSTR in lookup_dispid. + mshtml: Don't use BSTR in get_dispid. + mshtml: Factor out dispex_get_id. + mshtml: Use dispex_prop_put in HTMLDOMAttribute_put_nodeValue. + mshtml: Factor out dispex_prop_name. + jscript: Check if PROP_DELETED is actually an external property in find_prop_name. + mshtml: Use host object script bindings for DOM nodes. + mshtml: Use dispex_get_id in JSDispatchHost_LookupProperty. + mshtml: Introduce get_prop_desc call. + mshtml: Use host object script bindings for HTMLRectCollection. + jscript: Make sure to use the right name for a prototype reference in find_prop_name_prot. + jscript: Fixup prototype references as part of lookup. + jscript: Use a dedicated jsclass_t entry for host objects. + jscript: Improve invoke_prop_func error handling. + mshtml: Explicitly specify case insensitive search in GetIDsOfNames. + jscript: Treat external properties as volatile. + jscript: Suport deleting host object properties. + jscript: Support configuring host properties. + jscript: Allow host objects to implement fdexNameEnsure. + mshtml: Use host object script bindings for HTMLFormElement. + mshtml: Use ensure_real_info in dispex_compat_mode. + mshtml: Use host object script bindings for document nodes. + +Jinoh Kang (1): + server: Mark the socket as cacheable when it is an accepted or accepted-into socket.
Nikolay Sivov (2): - winhttp/tests: Add some tests for querying string options with NULL buffer. - winhttp: Fix error handling when returning string options. - -Paul Gofman (14): - ntdll: Report the space completely outside of reserved areas as allocated on i386. - psapi/tests: Add tests for QueryWorkingSetEx() with multiple addresses. - ntdll: Validate length in get_working_set_ex(). - ntdll: Factor OS-specific parts out of get_working_set_ex(). - ntdll: Iterate views instead of requested addresses in get_working_set_ex(). - ntdll: Limit vprot scan range to the needed interval in get_working_set_ex(). - ntdll: Fill range of output in fill_working_set_info(). - ntdll: Buffer pagemap reads in fill_working_set_info(). - winhttp/tests: Add test for trailing spaces in reply header. - winhttp: Construct raw header from the parse result in read_reply(). - winhttp: Skip trailing spaces in reply header names. - win32u: Use FT_LOAD_PEDANTIC on first load try in freetype_get_glyph_outline(). - ntdll: Better track thread pool wait's wait_pending state. - ntdll: Make sure wakeups from already unset events are ignored in waitqueue_thread_proc(). - -Piotr Caban (9): - ucrtbase: Store exception record in ExceptionInformation[6] during unwinding. - xcopy: Exit after displaying help message. - xcopy: Exit on invalid command line argument. - xcopy: Strip quotes only from source and destination arguments. - xcopy: Introduce get_arg helper that duplicates first argument to new string. - xcopy: Handle switch options concatenated with path. - xcopy: Add support for parsing concatenated switches. - kernel32/tests: Fix CompareStringW test crash when linguistic compressions are used. - ucrtbase: Fix FILE no buffering flag value. - -Rémi Bernon (60): - server: Move thread message queue masks to the shared mapping. - win32u: Read the thread message queue masks from the shared memory. - server: Move thread message queue bits to the shared mapping. - win32u: Use the thread message queue shared memory in get_input_state. - win32u: Use the thread message queue shared memory in NtUserGetQueueStatus. - win32u: Use the thread message queue shared memory in wait_message_reply. - mf/session: Don't update transform output type if not needed. - mf/session: Implement D3D device manager propagation. - winegstreamer: Translate GstCaps directly to MFVIDEOFORMAT / WAVEFORMATEX in wg_transform. - winegstreamer: Translate MFVIDEOFORMAT / WAVEFORMATEX directly to GstCaps in wg_transform. - winegstreamer: Create transforms from MFVIDEOFORMAT / WAVEFORMATEX. - winegstreamer: Only use pool and set buffer meta for raw video frames. - winegstreamer: Use a new wg_video_buffer_pool class to add buffer meta. - winegstreamer: Keep the input caps on the transform. - winegstreamer: Use video info stride in buffer meta rather than videoflip. - winegstreamer: Normalize both input and output media types stride at once. - winegstreamer: Normalize video processor and color converter apertures. - winegstreamer: Respect video format padding for input buffers too. - server: Move the desktop flags to the shared memory. - win32u: Use the shared memory to read the desktop flags. - server: Create a thread input shared mapping. - server: Move active window to input shared memory. - server: Move focus window to input shared memory. - server: Move capture window to input shared memory. - server: Move caret window and rect to input shared memory. - win32u: Use input shared memory for NtUserGetGUIThreadInfo. - win32u: Move offscreen window surface creation fallback. - win32u: Split a new create_window_surface helper from apply_window_pos. - win32u: Pass the window surface rect for CreateLayeredWindow. - win32u: Pass whether window is shaped to drivers WindowPosChanging. - win32u: Introduce a new window surface helper to set window shape. - win32u: Use a 1bpp bitmap to store the window surface shape bits. - win32u: Update the window surface shape with color key and alpha. - win32u: Pass the shape bitmap info and bits to window_surface flush. - mfreadwrite/reader: Look for a matching output type if setting it failed. - winex11: Reset window shape whenever window surface is created. - mf/tests: Remove static specifier on variables referencing other variables. - win32u: Allocate heap in peek_message only when necessary. - win32u: Use the thread message queue shared memory in peek_message. - win32u: Simplify the logic for driver messages polling. + winhttp/tests: Add some more tests for string options in WinHttpQueryOption(). + winhttp: Handle exact buffer length match in WinHttpQueryOption(). + +Paul Gofman (2): + mshtml: Check get_document_node() result in get_node(). + dxdiagn: Fill szHardwareId for sound render devices. + +Piotr Caban (4): + ucrtbase: Fix mbstowcs on UTF8 strings. + msvcrt: Use thread-safe functions in _ctime64_s. + msvcrt: Use thread-safe functions in _ctime32_s. + msvcrt: Don't access input string after NULL-byte in mbstowcs. + +Rémi Bernon (16): ddraw/tests: Make sure the window is restored after some minimize tests. - ddraw/tests: Flush messages and X11 events between some tests. - server: Add a foreground flag to the thread input shared memory. - server: Add cursor handle and count to desktop shared memory. - win32u: Use the thread input shared memory for NtUserGetForegroundWindow. - win32u: Use the thread input shared memory for NtUserGetCursorInfo. - win32u: Use the thread input shared memory for NtUserGetGUIThreadInfo. - server: Use a shared_object_t for the dummy object. - win32u: Check the surface layered nature when reusing window surface. - win32u: Update the window state when WS_EX_LAYERED window style changes. - win32u: Update the layered surface attributes in apply_window_pos. - winex11: Rely on win32u layered window surface attribute updates. - wineandroid: Rely on win32u layered window surface attribute updates. - winemac: Rely on win32u layered window surface attribute updates. - winegstreamer/video_decoder: Generate timestamps relative to the first input sample. - mfreadwrite/reader: Send MFT_MESSAGE_NOTIFY_START_OF_STREAM on start or seek. - mf/tests: Reduce the mute threshold for the transform tests. - win32u: Fix initial value when checking whether WS_EX_LAYERED changes. - win32u: Use the dummy surface for empty layered window surfaces. - maintainers: Remove MF GStreamer section. - -Shaun Ren (1): - dinput: Call handle_foreground_lost() synchronously in cbt_hook_proc(). - -Stefan Dösinger (1): - ddraw: Set dwMaxVertexCount to 2048. - -Zhiyi Zhang (1): - winemac.drv: Remove the clear OpenGL views to black hack. - -Ziqing Hui (18): - winegstreamer/video_encoder: Implement GetInputAvailableType. - winegstreamer/video_encoder: Implement SetInputType. - winegstreamer/video_encoder: Implement GetInputCurrentType. - mf/tests: Add more tests for h264 encoder type attributes. - winegstreamer/video_encoder: Introduce create_input_type. - winegstreamer/video_encoder: Check more attributes in SetInputType. - winegstreamer/video_encoder: Implement GetInputStreamInfo. - winegstreamer/video_encoder: Implement GetOutputStreamInfo. - winegstreamer/video_encoder: Rename create_input_type to video_encoder_create_input_type. - winegstreamer/video_encoder: Clear input type when setting output type. - winegstreamer/video_encoder: Create wg_transform. - winegstreamer/video_encoder: Implement ProcessInput. - winegstreamer/video_encoder: Implement ProcessMessage. - winegstreamer/video_encoder: Use MF_ATTRIBUTES_MATCH_INTERSECTION to compare input type. - winegstreamer/video_encoder: Set output info cbSize in SetOutputType. - winegstreamer/wg_transform: Introduce transform_create_decoder_elements. - winegstreamer/wg_transform: Introduce transform_create_converter_elements. - winegstreamer/wg_transform: Support creating encoder transform. + winex11: Reset empty window shape even without a window surface. + server: Expose the thread input keystate through shared memory. + win32u: Introduce a new NtUserGetAsyncKeyboardState call. + win32u: Use the thread input shared memory in GetKeyboardState. + win32u: Use the desktop shared memory in get_async_keyboard_state. + server: Make the get_key_state request key code mandatory. + server: Expose the thread input keystate lock through shared memory. + win32u: Use the thread input shared memory for GetKeyState. + winemac: Use window surface shape for color key transparency. + winemac: Use window surface shape for window shape region. + winevulkan: Fix incorrect 32->64 conversion of debug callbacks. + winevulkan: Use integer types in debug callbacks parameter structs. + winevulkan: Serialize debug callbacks parameter structures. + opengl32: Use integer types in debug callbacks parameter structs. + opengl32: Serialize debug callbacks message string. + +Santino Mazza (1): + gdiplus: Support string alignment in GdipMeasureString. + +Tim Clem (2): + nsiproxy.sys: Use the pcblist64 sysctl to enumerate TCP connections on macOS. + nsiproxy.sys: Use the pcblist64 sysctl to enumerate UDP connections on macOS. + +Vijay Kiran Kamuju (1): + cmd: Do not set enviroment variable when no input is provided by set /p command. + +Zhiyi Zhang (3): + light.msstyles: Add Explorer::ListView subclass. + comctl32/tests: Add more treeview background tests. + comctl32/treeview: Use window color to fill background. + +Ziqing Hui (5): + include: Add encoder codec type guids. + include: Add encoder common format guids. + include: Add encoder common attribute defines. + include: Add H264 encoder attribute guids. + include: Add video encoder output frame rate defines. ``` diff --git a/AUTHORS b/AUTHORS index e05dc43bace..c006e294fb4 100644 --- a/AUTHORS +++ b/AUTHORS @@ -676,6 +676,7 @@ Henri Verbeet Henry Goffin Henry Kroll III Herbert Rosmanith +Herman Semenov Hermès Bélusca-Maïto Hernan Rajchert Hervé Chanal diff --git a/VERSION b/VERSION index c5f02d202a6..058ee91a65f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Wine version 9.13 +Wine version 9.14 diff --git a/configure b/configure index 5ef0acd586e..ec9a75f2d9b 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for Wine 9.13. +# Generated by GNU Autoconf 2.71 for Wine 9.14. # # Report bugs to wine-devel@winehq.org. # @@ -611,8 +611,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Wine' PACKAGE_TARNAME='wine' -PACKAGE_VERSION='9.13' -PACKAGE_STRING='Wine 9.13' +PACKAGE_VERSION='9.14' +PACKAGE_STRING='Wine 9.14' PACKAGE_BUGREPORT='wine-devel@winehq.org' PACKAGE_URL='https://www.winehq.org'
@@ -2404,7 +2404,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -`configure' configures Wine 9.13 to adapt to many kinds of systems. +`configure' configures Wine 9.14 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -2474,7 +2474,7 @@ fi
if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Wine 9.13:";; + short | recursive ) echo "Configuration of Wine 9.14:";; esac cat <<_ACEOF
@@ -2780,7 +2780,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<_ACEOF -Wine configure 9.13 +Wine configure 9.14 generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc. @@ -3231,7 +3231,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake.
-It was created by Wine $as_me 9.13, which was +It was created by Wine $as_me 9.14, which was generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw @@ -23720,7 +23720,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Wine $as_me 9.13, which was +This file was extended by Wine $as_me 9.14, which was generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES @@ -23784,7 +23784,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\ -Wine config.status 9.13 +Wine config.status 9.14 configured by $0, generated by GNU Autoconf 2.71, with options \"$ac_cs_config\"
From: Alois Schlögl alois.schloegl@gmail.com
--- dlls/ntdll/unix/env.c | 18 ------------------ 1 file changed, 18 deletions(-)
diff --git a/dlls/ntdll/unix/env.c b/dlls/ntdll/unix/env.c index cc0df70a750..4126c84eb2f 100644 --- a/dlls/ntdll/unix/env.c +++ b/dlls/ntdll/unix/env.c @@ -345,24 +345,6 @@ static BOOL is_special_env_var( const char *var ) STARTS_WITH( var, "XDG_SESSION_TYPE=" )); }
-/* check if an environment variable changes dynamically in every new process */ -static BOOL is_dynamic_env_var( const char *var ) -{ - return (STARTS_WITH( var, "WINEDLLOVERRIDES=" ) || - STARTS_WITH( var, "WINEDATADIR=" ) || - STARTS_WITH( var, "WINEHOMEDIR=" ) || - STARTS_WITH( var, "WINEBUILDDIR=" ) || - STARTS_WITH( var, "WINECONFIGDIR=" ) || - STARTS_WITH( var, "WINELOADER=" ) || - STARTS_WITH( var, "WINEDLLDIR" ) || - STARTS_WITH( var, "WINEUNIXCP=" ) || - STARTS_WITH( var, "WINEUSERLOCALE=" ) || - STARTS_WITH( var, "WINEUSERNAME=" ) || - STARTS_WITH( var, "WINEPRELOADRESERVE=" ) || - STARTS_WITH( var, "WINELOADERNOEXEC=" ) || - STARTS_WITH( var, "WINESERVERSOCKET=" )); -} - /****************************************************************** * ntdll_umbstowcs (ntdll.so) *
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=147404
Your paranoid android.
=== debian11 (build log) ===
error: patch failed: dlls/ntdll/unix/env.c:496 error: patch failed: dlls/ntdll/unix/env.c:490 error: patch failed: dlls/nsiproxy.sys/tcp.c:29 error: patch failed: dlls/nsiproxy.sys/udp.c:27 error: patch failed: dlls/gdiplus/metafile.c:5225 error: patch failed: dlls/winex11.drv/opengl.c:1528 error: patch failed: dlls/opengl32/wgl.c:520 error: patch failed: ANNOUNCE.md:1 error: patch failed: AUTHORS:676 error: patch failed: VERSION:1 error: patch failed: configure:1 error: patch failed: dlls/ntdll/unix/env.c:345 Task: Patch failed to apply
=== debian11b (build log) ===
error: patch failed: dlls/ntdll/unix/env.c:496 error: patch failed: dlls/ntdll/unix/env.c:490 error: patch failed: dlls/nsiproxy.sys/tcp.c:29 error: patch failed: dlls/nsiproxy.sys/udp.c:27 error: patch failed: dlls/gdiplus/metafile.c:5225 error: patch failed: dlls/winex11.drv/opengl.c:1528 error: patch failed: dlls/opengl32/wgl.c:520 error: patch failed: ANNOUNCE.md:1 error: patch failed: AUTHORS:676 error: patch failed: VERSION:1 error: patch failed: configure:1 error: patch failed: dlls/ntdll/unix/env.c:345 Task: Patch failed to apply