diff --git a/wine-tkg-git/wine-tkg-userpatches/proton-ntdll-Strip-gameoverlayrenderer.so.mypatch b/wine-tkg-git/wine-tkg-userpatches/proton-ntdll-Strip-gameoverlayrenderer.so.mypatch index c9e9531c1..4b853d6dc 100644 --- a/wine-tkg-git/wine-tkg-userpatches/proton-ntdll-Strip-gameoverlayrenderer.so.mypatch +++ b/wine-tkg-git/wine-tkg-userpatches/proton-ntdll-Strip-gameoverlayrenderer.so.mypatch @@ -21,16 +21,15 @@ diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c index fac93f815fd..c46f109af71 100644 --- a/dlls/ntdll/unix/loader.c +++ b/dlls/ntdll/unix/loader.c -@@ -729,11 +729,42 @@ NTSTATUS exec_wineloader( char **argv, int socketfd, const pe_image_info_t *pe_i - WORD machine = pe_info->machine; +@@ -731,9 +731,40 @@ NTSTATUS exec_wineloader( char **argv, int socketfd, const pe_image_info_t *pe_i ULONGLONG res_start = pe_info->base; ULONGLONG res_end = pe_info->base + pe_info->map_size; -+ const char *ld_preload = getenv( "LD_PRELOAD" ); char preloader_reserve[64], socket_env[64]; ++ const char *ld_preload = getenv( "LD_PRELOAD" ); - if (pe_info->image_flags & IMAGE_FLAGS_WineFakeDll) res_start = res_end = 0; + if (pe_info->wine_fakedll) res_start = res_end = 0; if (pe_info->image_flags & IMAGE_FLAGS_ComPlusNativeReady) machine = native_machine; - ++ + /* HACK: Unset LD_PRELOAD before executing explorer.exe to disable buggy gameoverlayrenderer.so */ + if (ld_preload && argv[2] && !strcmp( argv[2], "C:\\windows\\system32\\explorer.exe" ) && + argv[3] && !strcmp( argv[3], "/desktop" )) @@ -60,7 +59,7 @@ index fac93f815fd..c46f109af71 100644 + + putenv( env ); + } -+ + signal( SIGPIPE, SIG_DFL ); sprintf( socket_env, "WINESERVERSOCKET=%u", socketfd );