summaryrefslogtreecommitdiff
path: root/Source/Core/Common/FileUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common/FileUtil.cpp')
-rw-r--r--Source/Core/Common/FileUtil.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/Source/Core/Common/FileUtil.cpp b/Source/Core/Common/FileUtil.cpp
index 8317550297..564ab58d8f 100644
--- a/Source/Core/Common/FileUtil.cpp
+++ b/Source/Core/Common/FileUtil.cpp
@@ -866,12 +866,16 @@ void SetUserPath(unsigned int dir_index, const std::string& path)
std::string GetThemeDir(const std::string& theme_name)
{
std::string dir = File::GetUserPath(D_THEMES_IDX) + theme_name + "/";
+ if (File::Exists(dir))
+ return dir;
- // If theme does not exist in user's dir load from shared directory
- if (!File::Exists(dir))
- dir = GetSysDirectory() + THEMES_DIR "/" + theme_name + "/";
+ // If the theme doesn't exist in the user dir, load from shared directory
+ dir = GetSysDirectory() + THEMES_DIR "/" + theme_name + "/";
+ if (File::Exists(dir))
+ return dir;
- return dir;
+ // If the theme doesn't exist at all, load the default theme
+ return GetSysDirectory() + THEMES_DIR "/" DEFAULT_THEME_DIR "/";
}
bool WriteStringToFile(const std::string& str, const std::string& filename)