QmlDesigner: Fix subfolder imports

Recursion for possible imports was interrupted when an incompatible
folder was detected, even though that folder could have compatible
subfolders.

Fixes: QDS-13067
Change-Id: I61f0ac6265e922c515dcd380a481434a1ddfcc93
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
Miikka Heikkinen
2024-06-25 16:59:41 +03:00
parent 7947b18d87
commit 576e3b7acd

View File

@@ -806,12 +806,11 @@ void collectPossibleFileImports(const QString &checkPath,
// Omit all imports that would be just "../", "../../" etc. without additional subfolder, // Omit all imports that would be just "../", "../../" etc. without additional subfolder,
// as we don't want to encourage bad design. "../MySharedComps" is a legitimate // as we don't want to encourage bad design. "../MySharedComps" is a legitimate
// use, though. // use, though.
if (importName.startsWith(upDir) && importName.lastIndexOf(upDir) == importName.size() - 3) if (!importName.startsWith(upDir) || importName.lastIndexOf(upDir) != importName.size() - 3) {
continue;
QmlDesigner::Import import = QmlDesigner::Import::createFileImport(importName); QmlDesigner::Import import = QmlDesigner::Import::createFileImport(importName);
possibleImports.append(import); possibleImports.append(import);
} }
}
collectPossibleFileImports(dirPath, docDir, usedImportsSet, possibleImports); collectPossibleFileImports(dirPath, docDir, usedImportsSet, possibleImports);
} }
} }