diff options
author | Zach Hilman <zachhilman@gmail.com> | 2019-04-23 09:09:02 -0400 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2019-05-26 15:12:12 -0400 |
commit | 944c07ac7d90b5b146af346845f457d245b32bf2 (patch) | |
tree | 8be92bc20ad04d1176535795dce096fd1b7bd780 /src | |
parent | f95bdb5088a4264b7174f22e95d5409b5e297c16 (diff) |
yuzu: Clear partial/full game list cache when data is updated
Diffstat (limited to 'src')
-rw-r--r-- | src/yuzu/configuration/configure_per_general.cpp | 10 | ||||
-rw-r--r-- | src/yuzu/main.cpp | 3 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/yuzu/configuration/configure_per_general.cpp b/src/yuzu/configuration/configure_per_general.cpp index 2bdfc8e5ab..c3e68fdf5e 100644 --- a/src/yuzu/configuration/configure_per_general.cpp +++ b/src/yuzu/configuration/configure_per_general.cpp @@ -13,6 +13,8 @@ #include <QTimer> #include <QTreeView> +#include "common/common_paths.h" +#include "common/file_util.h" #include "core/file_sys/control_metadata.h" #include "core/file_sys/patch_manager.h" #include "core/file_sys/xts_archive.h" @@ -79,6 +81,14 @@ void ConfigurePerGameGeneral::applyConfiguration() { disabled_addons.push_back(item.front()->text().toStdString()); } + auto current = Settings::values.disabled_addons[title_id]; + std::sort(disabled_addons.begin(), disabled_addons.end()); + std::sort(current.begin(), current.end()); + if (disabled_addons != current) { + FileUtil::Delete(FileUtil::GetUserPath(FileUtil::UserPath::CacheDir) + DIR_SEP + + "game_list" + DIR_SEP + fmt::format("{:016X}.pv.txt", title_id)); + } + Settings::values.disabled_addons[title_id] = disabled_addons; } diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index cef2cc1ae8..86aed0d942 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -1396,6 +1396,9 @@ void GMainWindow::OnMenuInstallToNAND() { tr("The file was successfully installed.")); game_list->PopulateAsync(UISettings::values.game_directory_path, UISettings::values.game_directory_deepscan); + // Clear the game list cache. + FileUtil::DeleteDirRecursively(FileUtil::GetUserPath(FileUtil::UserPath::CacheDir) + + DIR_SEP + "game_list"); }; const auto failed = [this]() { |