about summary refs log tree commit diff stats
path: root/src/main.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-03-06 12:41:31 +0100
committerptitSeb <sebastien.chev@gmail.com>2024-03-06 12:41:39 +0100
commit24e133e0067b19a6fedb4ff79178305295e3d37b (patch)
treede77dbe3a21528e078beca86bb67065367971173 /src/main.c
parent995fa013a63e171ee9f4689ebb555b8866d3d6fb (diff)
downloadbox64-24e133e0067b19a6fedb4ff79178305295e3d37b.tar.gz
box64-24e133e0067b19a6fedb4ff79178305295e3d37b.zip
Added back full handling of winepreloader prereserve memory
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main.c b/src/main.c
index fdf4edcd..f14b31a5 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1678,7 +1678,7 @@ int main(int argc, const char **argv, char **env) {
         if(x64) {
             prog = argv[++nextarg];
             printf_log(LOG_INFO, "BOX64: Wine preloader detected, loading \"%s\" directly\n", prog);
-            //wine_preloaded = 1;
+            wine_preloaded = 1;
         }
     }
     #ifndef STATICBUILD
@@ -1699,8 +1699,9 @@ int main(int argc, const char **argv, char **env) {
      || (strrchr(prog, '/') && !strcmp(strrchr(prog,'/'), "/wine64"))) {
         const char* prereserve = getenv("WINEPRELOADRESERVE");
         printf_log(LOG_INFO, "BOX64: Wine64 detected, WINEPRELOADRESERVE=\"%s\"\n", prereserve?prereserve:"");
-        if(wine_preloaded)
+        if(wine_preloaded) {
             wine_prereserve(prereserve);
+        }
         // special case for winedbg, doesn't work anyway
         if(argv[nextarg+1] && strstr(argv[nextarg+1], "winedbg")==argv[nextarg+1]) {
             if(getenv("BOX64_WINEDBG")) {
@@ -2096,7 +2097,7 @@ int main(int argc, const char **argv, char **env) {
         if(!wineinfo) {printf_log(LOG_NONE, "Warning, Symbol wine_main_preload_info not found\n");}
         else {
             *(void**)wineinfo = get_wine_prereserve();
-            printf_log(LOG_DEBUG, "WINE wine_main_preload_info found and updated\n");
+            printf_log(LOG_DEBUG, "WINE wine_main_preload_info found and updated %p -> %p\n", get_wine_prereserve(), *(void**)wineinfo);
         }
         #ifdef DYNAREC
         dynarec_wine_prereserve();