Fix bug with case-sensitive vpath lookup
This commit is contained in:
parent
9ecd7c453c
commit
e576a8b23d
@ -242,12 +242,13 @@ QString AOApplication::get_real_path(const VPath &vpath) {
|
|||||||
|
|
||||||
for (const QString &base : bases) {
|
for (const QString &base : bases) {
|
||||||
QDir baseDir(base);
|
QDir baseDir(base);
|
||||||
const QString path = baseDir.absoluteFilePath(vpath.toQString());
|
QString path = baseDir.absoluteFilePath(vpath.toQString());
|
||||||
if (!path.startsWith(baseDir.absolutePath())) {
|
if (!path.startsWith(baseDir.absolutePath())) {
|
||||||
qWarning() << "invalid path" << path << "(path is outside vfs)";
|
qWarning() << "invalid path" << path << "(path is outside vfs)";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (exists(get_case_sensitive_path(path))) {
|
path = get_case_sensitive_path(path);
|
||||||
|
if (exists(path)) {
|
||||||
asset_lookup_cache.insert(qHash(vpath), path);
|
asset_lookup_cache.insert(qHash(vpath), path);
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
@ -274,12 +275,13 @@ QString AOApplication::get_real_suffixed_path(const VPath &vpath,
|
|||||||
for (const QString &base : bases) {
|
for (const QString &base : bases) {
|
||||||
for (const QString &suffix : suffixes) {
|
for (const QString &suffix : suffixes) {
|
||||||
QDir baseDir(base);
|
QDir baseDir(base);
|
||||||
const QString path = baseDir.absoluteFilePath(vpath.toQString() + suffix);
|
QString path = baseDir.absoluteFilePath(vpath.toQString() + suffix);
|
||||||
if (!path.startsWith(baseDir.absolutePath())) {
|
if (!path.startsWith(baseDir.absolutePath())) {
|
||||||
qWarning() << "invalid path" << path << "(path is outside vfs)";
|
qWarning() << "invalid path" << path << "(path is outside vfs)";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (exists(get_case_sensitive_path(path))) {
|
path = get_case_sensitive_path(path);
|
||||||
|
if (exists(path)) {
|
||||||
asset_lookup_cache.insert(qHash(vpath), path);
|
asset_lookup_cache.insert(qHash(vpath), path);
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user