org.DolphinEmu.dolphin-emu/forcexdg.patch
Carles Pastor 91a9cb9377 Prevent dolphin from attempting to write non-standard conf files
In some cases dolphin would try to use non xdg paths for its configuration
files and subsequently be unable to write to them, causing it to crash or
otherwise fail.
2018-08-12 01:53:18 +02:00

42 lines
1.5 KiB
Diff

diff --git a/Source/Core/UICommon/UICommon.cpp b/Source/Core/UICommon/UICommon.cpp
index 2055c4d863..fdba657953 100644
--- a/Source/Core/UICommon/UICommon.cpp
+++ b/Source/Core/UICommon/UICommon.cpp
@@ -273,28 +273,11 @@ void SetUserDirectory(const std::string& custom_path)
user_path = home_path + DOLPHIN_DATA_DIR DIR_SEP;
}
#else
- // We are on a non-Apple and non-Android POSIX system, there are 4 cases:
- // 1. GetExeDirectory()/portable.txt exists
- // -> Use GetExeDirectory()/User
- // 2. $DOLPHIN_EMU_USERPATH is set
- // -> Use $DOLPHIN_EMU_USERPATH
- // 3. ~/.dolphin-emu directory exists
- // -> Use ~/.dolphin-emu
// 4. Default
// -> Use XDG basedir, see
// http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
user_path = home_path + "." DOLPHIN_DATA_DIR DIR_SEP;
std::string exe_path = File::GetExeDirectory();
- if (File::Exists(exe_path + DIR_SEP "portable.txt"))
- {
- user_path = exe_path + DIR_SEP "User" DIR_SEP;
- }
- else if (env_path)
- {
- user_path = env_path;
- }
- else if (!File::Exists(user_path))
- {
const char* data_home = getenv("XDG_DATA_HOME");
std::string data_path =
std::string(data_home && data_home[0] == '/' ? data_home :
@@ -316,7 +299,6 @@ void SetUserDirectory(const std::string& custom_path)
File::SetUserPath(D_CONFIG_IDX, config_path);
File::SetUserPath(D_CACHE_IDX, cache_path);
return;
- }
#endif
}
#endif