From e576a8b23d1dec48553ef4a2de3bf5c7c6925633 Mon Sep 17 00:00:00 2001 From: oldmud0 Date: Sun, 6 Jun 2021 23:27:30 -0500 Subject: [PATCH] Fix bug with case-sensitive vpath lookup --- src/path_functions.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/path_functions.cpp b/src/path_functions.cpp index 4dc1c62..b15cc90 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; }