diff --git a/renderdoc/os/posix/apple/apple_hook.cpp b/renderdoc/os/posix/apple/apple_hook.cpp index 4067278fd..71e47fdeb 100644 --- a/renderdoc/os/posix/apple/apple_hook.cpp +++ b/renderdoc/os/posix/apple/apple_hook.cpp @@ -27,6 +27,7 @@ #include #include #include +#include "api/replay/stringise.h" #include "common/common.h" #include "common/threading.h" #include "hooks/hooks.h" diff --git a/renderdoc/os/posix/posix_process.cpp b/renderdoc/os/posix/posix_process.cpp index efd2a622c..b19af2f9f 100644 --- a/renderdoc/os/posix/posix_process.cpp +++ b/renderdoc/os/posix/posix_process.cpp @@ -423,10 +423,10 @@ static pid_t RunProcess(const char *app, const char *workingDir, const char *cmd // handle funky apple .app folders that aren't actually executables #if ENABLED(RDOC_APPLE) - if(appName.size() > 5 && appName.rfind(".app") == appName.size() - 4) + if(appName.size() > 5 && appName.endsWith(".app")) { rdcstr realAppName = appName + "/Contents/MacOS/" + get_basename(appName); - realAppName.erase(realAppName.size() - 4); + realAppName.erase(realAppName.size() - 4, ~0U); if(FileIO::exists(realAppName.c_str())) {