aboutsummaryrefslogtreecommitdiff
path: root/src/path_functions.cpp
diff options
context:
space:
mode:
authoroldmud0 <oldmud0@users.noreply.github.com>2021-06-06 23:27:30 -0500
committeroldmud0 <oldmud0@users.noreply.github.com>2021-06-06 23:27:30 -0500
commite576a8b23d1dec48553ef4a2de3bf5c7c6925633 (patch)
treeaf18775ac1b05fef19d457f61f125c8226fdb7ef /src/path_functions.cpp
parent9ecd7c453c3b34a976869e517f9414a4b91fdb0f (diff)
Fix bug with case-sensitive vpath lookup
Diffstat (limited to 'src/path_functions.cpp')
-rw-r--r--src/path_functions.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/path_functions.cpp b/src/path_functions.cpp
index 4dc1c62d..b15cc90b 100644
--- a/src/path_functions.cpp
+++ b/src/path_functions.cpp
@@ -242,12 +242,13 @@ QString AOApplication::get_real_path(const VPath &vpath) {
for (const QString &base : bases) {
QDir baseDir(base);
- const QString path = baseDir.absoluteFilePath(vpath.toQString());
+ QString path = baseDir.absoluteFilePath(vpath.toQString());
if (!path.startsWith(baseDir.absolutePath())) {
qWarning() << "invalid path" << path << "(path is outside vfs)";
break;
}
- if (exists(get_case_sensitive_path(path))) {
+ path = get_case_sensitive_path(path);
+ if (exists(path)) {
asset_lookup_cache.insert(qHash(vpath), path);
return path;
}
@@ -274,12 +275,13 @@ QString AOApplication::get_real_suffixed_path(const VPath &vpath,
for (const QString &base : bases) {
for (const QString &suffix : suffixes) {
QDir baseDir(base);
- const QString path = baseDir.absoluteFilePath(vpath.toQString() + suffix);
+ QString path = baseDir.absoluteFilePath(vpath.toQString() + suffix);
if (!path.startsWith(baseDir.absolutePath())) {
qWarning() << "invalid path" << path << "(path is outside vfs)";
break;
}
- if (exists(get_case_sensitive_path(path))) {
+ path = get_case_sensitive_path(path);
+ if (exists(path)) {
asset_lookup_cache.insert(qHash(vpath), path);
return path;
}