aboutsummaryrefslogtreecommitdiff
path: root/src/path_functions.cpp
diff options
context:
space:
mode:
authoroldmud0 <oldmud0@users.noreply.github.com>2021-06-08 23:11:28 -0500
committeroldmud0 <oldmud0@users.noreply.github.com>2021-06-08 23:12:19 -0500
commit2f50cd55281cfa963ea2d6fb566b1eee675c643f (patch)
treee638b9b4dc8ca0be79a28c3490201799cb986e76 /src/path_functions.cpp
parent2cb7ca7895e72f603ac2283da656377217d281c6 (diff)
Clear case sensitive cache as well on vpath cache flush
Diffstat (limited to 'src/path_functions.cpp')
-rw-r--r--src/path_functions.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/path_functions.cpp b/src/path_functions.cpp
index 3f197157..2f5aaec4 100644
--- a/src/path_functions.cpp
+++ b/src/path_functions.cpp
@@ -206,17 +206,15 @@ QString AOApplication::get_case_sensitive_path(QString p_file)
return file_parent_dir + "/" + file_basename;
// last resort, dirlist parent dir and find case insensitive match
- static QHash<uint, QString> listing_cache;
- static QHash<uint, bool> listing_exist_cache;
- if (!listing_exist_cache.contains(qHash(file_parent_dir))) {
+ if (!dir_listing_exist_cache.contains(qHash(file_parent_dir))) {
QStringList files = QDir(file_parent_dir).entryList();
for (const QString &file : files) {
- listing_cache.insert(qHash(file_parent_dir % QChar('/') % file.toLower()), file);
+ dir_listing_cache.insert(qHash(file_parent_dir % QChar('/') % file.toLower()), file);
}
- listing_exist_cache.insert(qHash(file_parent_dir), true);
+ dir_listing_exist_cache.insert(qHash(file_parent_dir));
}
- QString found_file = listing_cache.value(
+ QString found_file = dir_listing_cache.value(
qHash(file_parent_dir % QChar('/') % file_basename.toLower()));
if (!found_file.isEmpty()) {
@@ -295,4 +293,6 @@ QString AOApplication::get_real_suffixed_path(const VPath &vpath,
void AOApplication::invalidate_lookup_cache() {
asset_lookup_cache.clear();
+ dir_listing_cache.clear();
+ dir_listing_exist_cache.clear();
}