Use the same code for populating user data directories one by one
on OS X as on other Unices so OS X initial installs aren't so easily broken by files being created in constructors. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6661 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
b4e0fe53af
commit
64d43211c9
|
@ -75,6 +75,8 @@
|
||||||
#define SYSDATA_DIR "Sys"
|
#define SYSDATA_DIR "Sys"
|
||||||
#elif defined __APPLE__
|
#elif defined __APPLE__
|
||||||
#define SYSDATA_DIR "Contents/Resources/Sys"
|
#define SYSDATA_DIR "Contents/Resources/Sys"
|
||||||
|
#define SHARED_USER_DIR File::GetBundleDirectory() + \
|
||||||
|
DIR_SEP USERDATA_DIR DIR_SEP
|
||||||
#else
|
#else
|
||||||
#ifdef DATA_DIR
|
#ifdef DATA_DIR
|
||||||
#define SYSDATA_DIR DATA_DIR "sys"
|
#define SYSDATA_DIR DATA_DIR "sys"
|
||||||
|
|
|
@ -198,11 +198,12 @@ void CodeConfigPanel::DownloadCodes(wxCommandEvent&)
|
||||||
// read new code
|
// read new code
|
||||||
case 0 :
|
case 0 :
|
||||||
{
|
{
|
||||||
std::istringstream ss(line);
|
std::istringstream ssline(line);
|
||||||
std::getline(ss, gcode.name, '['); // stop at [ character (begining of contributer name)
|
// stop at [ character (begining of contributer name)
|
||||||
|
std::getline(ssline, gcode.name, '[');
|
||||||
gcode.name = StripSpaces(gcode.name);
|
gcode.name = StripSpaces(gcode.name);
|
||||||
// read the code creator name
|
// read the code creator name
|
||||||
std::getline(ss, gcode.creator, ']');
|
std::getline(ssline, gcode.creator, ']');
|
||||||
read_state = 1;
|
read_state = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -280,27 +280,21 @@ bool DolphinApp::OnInit()
|
||||||
delete [] tmpChar;
|
delete [] tmpChar;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#else
|
||||||
|
|
||||||
#ifdef __APPLE__
|
|
||||||
const char *AppSupportDir = File::GetUserPath(D_USER_IDX);
|
|
||||||
|
|
||||||
if (!File::Exists(AppSupportDir))
|
|
||||||
{
|
|
||||||
// Fresh run: create Dolphin dir and copy contents of User within the bundle to App Support
|
|
||||||
File::CopyDir(std::string(File::GetBundleDirectory() + DIR_SEP USERDATA_DIR DIR_SEP).c_str(), AppSupportDir);
|
|
||||||
}
|
|
||||||
else if (!File::IsDirectory(AppSupportDir))
|
|
||||||
PanicAlert("~/Library/Application Support/Dolphin exists, but is not a directory");
|
|
||||||
#elif !defined _WIN32
|
|
||||||
//create all necessary directories in user directory
|
//create all necessary directories in user directory
|
||||||
//TODO : detect the revision and upgrade where necessary
|
//TODO : detect the revision and upgrade where necessary
|
||||||
File::CopyDir(SHARED_USER_DIR CONFIG_DIR DIR_SEP, File::GetUserPath(D_CONFIG_IDX));
|
File::CopyDir(std::string(SHARED_USER_DIR CONFIG_DIR DIR_SEP).c_str(),
|
||||||
File::CopyDir(SHARED_USER_DIR GAMECONFIG_DIR DIR_SEP, File::GetUserPath(D_GAMECONFIG_IDX));
|
File::GetUserPath(D_CONFIG_IDX));
|
||||||
File::CopyDir(SHARED_USER_DIR MAPS_DIR DIR_SEP, File::GetUserPath(D_MAPS_IDX));
|
File::CopyDir(std::string(SHARED_USER_DIR GAMECONFIG_DIR DIR_SEP).c_str(),
|
||||||
File::CopyDir(SHARED_USER_DIR SHADERS_DIR DIR_SEP, File::GetUserPath(D_SHADERS_IDX));
|
File::GetUserPath(D_GAMECONFIG_IDX));
|
||||||
File::CopyDir(SHARED_USER_DIR WII_USER_DIR DIR_SEP, File::GetUserPath(D_WIIUSER_IDX));
|
File::CopyDir(std::string(SHARED_USER_DIR MAPS_DIR DIR_SEP).c_str(),
|
||||||
File::CopyDir(SHARED_USER_DIR OPENCL_DIR DIR_SEP, File::GetUserPath(D_OPENCL_IDX));
|
File::GetUserPath(D_MAPS_IDX));
|
||||||
|
File::CopyDir(std::string(SHARED_USER_DIR SHADERS_DIR DIR_SEP).c_str(),
|
||||||
|
File::GetUserPath(D_SHADERS_IDX));
|
||||||
|
File::CopyDir(std::string(SHARED_USER_DIR WII_USER_DIR DIR_SEP).c_str(),
|
||||||
|
File::GetUserPath(D_WIIUSER_IDX));
|
||||||
|
File::CopyDir(std::string(SHARED_USER_DIR OPENCL_DIR DIR_SEP).c_str(),
|
||||||
|
File::GetUserPath(D_OPENCL_IDX));
|
||||||
|
|
||||||
if (!File::Exists(File::GetUserPath(D_GCUSER_IDX)))
|
if (!File::Exists(File::GetUserPath(D_GCUSER_IDX)))
|
||||||
File::CreateFullPath(File::GetUserPath(D_GCUSER_IDX));
|
File::CreateFullPath(File::GetUserPath(D_GCUSER_IDX));
|
||||||
|
|
Loading…
Reference in New Issue