aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljsimportvisitor.cpp
diff options
context:
space:
mode:
authorOlivier De Cannière <olivier.decanniere@qt.io>2024-07-22 15:35:00 +0200
committerOlivier De Cannière <olivier.decanniere@qt.io>2024-07-29 14:38:46 +0200
commit001cb7bfb1a2815cad912ce1b5b9d4d1cef30e01 (patch)
treeb54dd7e2f7337d9822ec4dd20309a9ada59bacaa /src/qmlcompiler/qqmljsimportvisitor.cpp
parentedb1a1206a7c0f4a6f078a9564ad042112953c58 (diff)
QQmlImportVisitor: Prepend ':' for qrc paths only when necessary
The resourceFileMapper doesn't expect ':' in front of its paths. Amends 5860c9c12c1c948ce1498da30581bfd5b9c05988 Fixes: QTBUG-124498 Pick-to: 6.8 6.7 6.5 Change-Id: Icf837708ff6fc5153009bafbf1b98a75a3cfba8e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qmlcompiler/qqmljsimportvisitor.cpp')
-rw-r--r--src/qmlcompiler/qqmljsimportvisitor.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/qmlcompiler/qqmljsimportvisitor.cpp b/src/qmlcompiler/qqmljsimportvisitor.cpp
index c516097ff1..0da4be2bb1 100644
--- a/src/qmlcompiler/qqmljsimportvisitor.cpp
+++ b/src/qmlcompiler/qqmljsimportvisitor.cpp
@@ -2308,10 +2308,12 @@ void QQmlJSImportVisitor::importFromHost(const QString &path, const QString &pre
void QQmlJSImportVisitor::importFromQrc(const QString &path, const QString &prefix,
const QQmlJS::SourceLocation &location)
{
+ Q_ASSERT(path.startsWith(u':'));
if (const QQmlJSResourceFileMapper *mapper = m_importer->resourceFileMapper()) {
- if (mapper->isFile(path)) {
+ const auto pathNoColon = path.mid(1);
+ if (mapper->isFile(pathNoColon)) {
const auto entry = m_importer->resourceFileMapper()->entry(
- QQmlJSResourceFileMapper::resourceFileFilter(path));
+ QQmlJSResourceFileMapper::resourceFileFilter(pathNoColon));
const auto scope = m_importer->importFile(entry.filePath);
const QString actualPrefix =
prefix.isEmpty() ? QFileInfo(entry.resourcePath).baseName() : prefix;