From 10c0cdc10f6b6f04d15cbdadc44fd30b5e7c2555 Mon Sep 17 00:00:00 2001 From: Martin Kampas Date: Tue, 29 Sep 2020 15:07:28 +0200 Subject: [PATCH] CompilationDatabase: Clean paths File paths in compile_database.json may contain redundant components ("./" or "../"). These confuse the code model, which then fails to associate the document with the project node. Change-Id: I7c74a24789a67b761b0737a41d1dd70d2dfd5f3d Reviewed-by: Christian Kandeler --- .../compilationdatabaseprojectmanager/compilationdbparser.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp index 7b498ab957d..f99498f3a76 100644 --- a/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp +++ b/src/plugins/compilationdatabaseprojectmanager/compilationdbparser.cpp @@ -167,8 +167,8 @@ static QStringList jsonObjectFlags(const QJsonObject &object, QSet &fla static FilePath jsonObjectFilename(const QJsonObject &object) { - const QString workingDir = QDir::fromNativeSeparators(object["directory"].toString()); - FilePath fileName = FilePath::fromString(QDir::fromNativeSeparators(object["file"].toString())); + const QString workingDir = QDir::cleanPath(object["directory"].toString()); + FilePath fileName = FilePath::fromString(QDir::cleanPath(object["file"].toString())); if (fileName.toFileInfo().isRelative()) fileName = FilePath::fromString(QDir::cleanPath(workingDir + "/" + fileName.toString())); return fileName;