diff --git a/renderdoc/os/posix/posix_process.cpp b/renderdoc/os/posix/posix_process.cpp index d82610c6a..c059d9ac7 100644 --- a/renderdoc/os/posix/posix_process.cpp +++ b/renderdoc/os/posix/posix_process.cpp @@ -916,10 +916,19 @@ void GetHookedEnvp(char *const *envp, rdcstr &envpStr, rdcarray &modifie void ResetHookingEnvVars() { - direct_setenv(LIB_PATH_ENV_VAR, Process::GetEnvVariable("RENDERDOC_ORIGLIBPATH").c_str(), true); - direct_setenv(PRELOAD_ENV_VAR, Process::GetEnvVariable("RENDERDOC_ORIGPRELOAD").c_str(), true); - direct_setenv("RENDERDOC_ORIGLIBPATH", "", true); - direct_setenv("RENDERDOC_ORIGPRELOAD", "", true); + rdcstr origpath = Process::GetEnvVariable("RENDERDOC_ORIGLIBPATH"); + rdcstr origpreload = Process::GetEnvVariable("RENDERDOC_ORIGPRELOAD"); + + if(!origpath.empty()) + { + direct_setenv(LIB_PATH_ENV_VAR, origpath.c_str(), true); + direct_setenv("RENDERDOC_ORIGLIBPATH", "", true); + } + if(!origpreload.empty()) + { + direct_setenv(PRELOAD_ENV_VAR, origpreload.c_str(), true); + direct_setenv("RENDERDOC_ORIGPRELOAD", "", true); + } } rdcpair Process::LaunchAndInjectIntoProcess(