diff options
author | David <25727384+ogniK5377@users.noreply.github.com> | 2019-09-05 12:29:50 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-05 12:29:50 +1000 |
commit | 953d49810a85107c515eec0100fdb7e1fba528f8 (patch) | |
tree | f8a6c3d3d6fa860ac7123db5d28cea9889ea7d03 /src | |
parent | d34fa7c4fa1c774d75751a530ff553fb2d005ffe (diff) | |
parent | 1aec2ff4d24432a9083996b3549d2cb81c86cc7a (diff) |
Merge pull request #2797 from FearlessTobi/port-4877mainline-436
Port citra-emu/citra#4877: "citra_qt: on osx chdir to bundle dir to allow detection of user folder"
Diffstat (limited to 'src')
-rw-r--r-- | src/yuzu/main.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 6d249cb3ea..8304c65179 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -6,6 +6,9 @@ #include <clocale> #include <memory> #include <thread> +#ifdef __APPLE__ +#include <unistd.h> // for chdir +#endif // VFS includes must be before glad as they will conflict with Windows file api, which uses defines. #include "applets/error.h" @@ -2226,6 +2229,14 @@ int main(int argc, char* argv[]) { QCoreApplication::setOrganizationName(QStringLiteral("yuzu team")); QCoreApplication::setApplicationName(QStringLiteral("yuzu")); +#ifdef __APPLE__ + // If you start a bundle (binary) on OSX without the Terminal, the working directory is "/". + // But since we require the working directory to be the executable path for the location of the + // user folder in the Qt Frontend, we need to cd into that working directory + const std::string bin_path = FileUtil::GetBundleDirectory() + DIR_SEP + ".."; + chdir(bin_path.c_str()); +#endif + // Enables the core to make the qt created contexts current on std::threads QCoreApplication::setAttribute(Qt::AA_DontCheckOpenGLContextThreadAffinity); QApplication app(argc, argv); |