forked from qt-creator/qt-creator
QbsProjectManager: Fix soft assert.
Change-Id: Ic970642aa37d0983b41b7be6459140bcc2f6ed42 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
This commit is contained in:
@@ -44,6 +44,7 @@
|
|||||||
#include <utils/hostosinfo.h>
|
#include <utils/hostosinfo.h>
|
||||||
#include <utils/qtcassert.h>
|
#include <utils/qtcassert.h>
|
||||||
|
|
||||||
|
#include <QtDebug>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QStyle>
|
#include <QStyle>
|
||||||
|
|
||||||
@@ -141,7 +142,7 @@ public:
|
|||||||
return new FileTreeNode(n, this, isFile);
|
return new FileTreeNode(n, this, isFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isFile() { return m_isFile; }
|
bool isFile() const { return m_isFile; }
|
||||||
|
|
||||||
static FileTreeNode *moveChildrenUp(FileTreeNode *node)
|
static FileTreeNode *moveChildrenUp(FileTreeNode *node)
|
||||||
{
|
{
|
||||||
@@ -228,7 +229,7 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QString path()
|
QString path() const
|
||||||
{
|
{
|
||||||
QString p = name;
|
QString p = name;
|
||||||
FileTreeNode *node = parent;
|
FileTreeNode *node = parent;
|
||||||
@@ -485,7 +486,7 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root, const qbs::Gro
|
|||||||
|
|
||||||
foreach (FileTreeNode *c, fileTree->children) {
|
foreach (FileTreeNode *c, fileTree->children) {
|
||||||
Utils::FileName path = Utils::FileName::fromString(c->path());
|
Utils::FileName path = Utils::FileName::fromString(c->path());
|
||||||
const ProjectExplorer::FileType newFileType = fileType(group, c->path());
|
const ProjectExplorer::FileType newFileType = fileType(group, *c);
|
||||||
const bool isQrcFile = newFileType == ProjectExplorer::ResourceType;
|
const bool isQrcFile = newFileType == ProjectExplorer::ResourceType;
|
||||||
|
|
||||||
// Handle files:
|
// Handle files:
|
||||||
@@ -546,13 +547,17 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root, const qbs::Gro
|
|||||||
}
|
}
|
||||||
|
|
||||||
ProjectExplorer::FileType QbsGroupNode::fileType(const qbs::GroupData &group,
|
ProjectExplorer::FileType QbsGroupNode::fileType(const qbs::GroupData &group,
|
||||||
const QString &filePath)
|
const FileTreeNode &fileNode)
|
||||||
{
|
{
|
||||||
if (!group.isValid())
|
if (!group.isValid())
|
||||||
return ProjectExplorer::UnknownFileType;
|
return ProjectExplorer::UnknownFileType;
|
||||||
const qbs::SourceArtifact artifact = Utils::findOrDefault(group.allSourceArtifacts(),
|
const qbs::SourceArtifact artifact = Utils::findOrDefault(group.allSourceArtifacts(),
|
||||||
[filePath](const qbs::SourceArtifact &sa) { return sa.filePath() == filePath; });
|
[&fileNode](const qbs::SourceArtifact &sa) { return sa.filePath() == fileNode.path(); });
|
||||||
QTC_ASSERT(artifact.isValid(), return ProjectExplorer::UnknownFileType);
|
QTC_ASSERT(artifact.isValid() || !fileNode.isFile(),
|
||||||
|
qDebug() << fileNode.path() << group.name(); return ProjectExplorer::UnknownFileType);
|
||||||
|
if (!artifact.isValid())
|
||||||
|
return ProjectExplorer::UnknownFileType;
|
||||||
|
|
||||||
if (artifact.fileTags().contains(QLatin1String("c"))
|
if (artifact.fileTags().contains(QLatin1String("c"))
|
||||||
|| artifact.fileTags().contains(QLatin1String("cpp"))
|
|| artifact.fileTags().contains(QLatin1String("cpp"))
|
||||||
|| artifact.fileTags().contains(QLatin1String("objc"))
|
|| artifact.fileTags().contains(QLatin1String("objc"))
|
||||||
|
@@ -113,7 +113,8 @@ public:
|
|||||||
private:
|
private:
|
||||||
static void setupFolder(ProjectExplorer::FolderNode *folder, const qbs::GroupData &group,
|
static void setupFolder(ProjectExplorer::FolderNode *folder, const qbs::GroupData &group,
|
||||||
const FileTreeNode *subFileTree, const QString &baseDir, bool updateExisting);
|
const FileTreeNode *subFileTree, const QString &baseDir, bool updateExisting);
|
||||||
static ProjectExplorer::FileType fileType(const qbs::GroupData &group, const QString &filePath);
|
static ProjectExplorer::FileType fileType(const qbs::GroupData &group,
|
||||||
|
const FileTreeNode &fileNode);
|
||||||
|
|
||||||
qbs::GroupData m_qbsGroupData;
|
qbs::GroupData m_qbsGroupData;
|
||||||
QString m_productPath;
|
QString m_productPath;
|
||||||
|
Reference in New Issue
Block a user