diff options
| author | Olivier De Cannière <olivier.decanniere@qt.io> | 2024-07-22 15:35:00 +0200 |
|---|---|---|
| committer | Olivier De Cannière <olivier.decanniere@qt.io> | 2024-07-29 14:38:46 +0200 |
| commit | 001cb7bfb1a2815cad912ce1b5b9d4d1cef30e01 (patch) | |
| tree | b54dd7e2f7337d9822ec4dd20309a9ada59bacaa /src/qmlcompiler/qqmljsimportvisitor.cpp | |
| parent | edb1a1206a7c0f4a6f078a9564ad042112953c58 (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.cpp | 6 |
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; |
