diff options
| author | bushing <bushing@gmail.com> | 2008-12-08 09:52:30 +0000 |
|---|---|---|
| committer | bushing <bushing@gmail.com> | 2008-12-08 09:52:30 +0000 |
| commit | 05e9ae0f6f486e8436ff201be40c657948e7623b (patch) | |
| tree | 21842aa821fbb12737c13629fb8ff0478c47c48e /Source | |
| parent | 49cfded60bb5b444d1828190eacc52bbb49a9cb8 (diff) | |
chdir to ~/Library/Application Support/Dolphin on OS X, to place our user root there
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1443 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/DolphinWX/Src/Main.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/Source/Core/DolphinWX/Src/Main.cpp b/Source/Core/DolphinWX/Src/Main.cpp index 0de4547f48..59d5cce98f 100644 --- a/Source/Core/DolphinWX/Src/Main.cpp +++ b/Source/Core/DolphinWX/Src/Main.cpp @@ -23,6 +23,10 @@ #include <crtdbg.h> #endif +#ifdef __APPLE__ +#include <sys/param.h> +#endif + #include "Globals.h" // Core #include "Host.h" @@ -134,7 +138,26 @@ bool DolphinApp::OnInit() }; #if defined(__APPLE__) - // HACK: Get rid of bogous osx param + // check to see if ~/Library/Application Support/Dolphin exists; if not, create it + char AppSupportDir[MAXPATHLEN]; + snprintf(AppSupportDir, sizeof(AppSupportDir), "%s/Library/Application Support", getenv("HOME")); + if (!File::Exists(AppSupportDir) || !File::IsDirectory(AppSupportDir)) + PanicAlert("Could not open ~/Library/Application Support"); + + strlcat(AppSupportDir, "/Dolphin", sizeof(AppSupportDir)); + + if (!File::Exists(AppSupportDir)) + File::CreateDir(AppSupportDir); + + if (!File::IsDirectory(AppSupportDir)) + PanicAlert("~/Library/Application Support/Dolphin exists, but is not a directory"); + + chdir(AppSupportDir); + + if (!File::Exists("User")) File::CreateDir("User"); + if (!File::Exists("User/GC")) File::CreateDir("User/GC"); + + // HACK: Get rid of bogus osx param if (argc > 1 && wxString(argv[argc - 1]).StartsWith(_("-psn_"))) { delete argv[argc-1]; argv[argc-1] = NULL; |
