From 9a32d208308cdae346de9c88108c0700ca825a53 Mon Sep 17 00:00:00 2001 From: Rankyn Bass Date: Sat, 27 Jan 2024 08:50:59 -0800 Subject: [PATCH] really fix up gameoverlayrenderer patch --- .../proton-ntdll-Strip-gameoverlayrenderer.so.mypatch | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) 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 );