QbsProjectManager: Store qbs::Groups as values.

qbs::Group is a reference-counted value-like class, and it makes no
sense to hold it as a pointer. It makes even less sense to compare that
pointer when deciding whether a project node needs an update, as this
comparison will always be false (and technically undefined behavior as
well if the original qbs::ProjectData object no longer exists).

Change-Id: If188f83802bf6cffd04215d192667cf0200e25d3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
Christian Kandeler
2014-08-04 12:32:19 +02:00
parent 346e11011b
commit ed3cdb9c92
2 changed files with 24 additions and 24 deletions

View File

@@ -98,16 +98,16 @@ class QbsGroupNode : public QbsBaseProjectNode
Q_OBJECT
public:
QbsGroupNode(const qbs::GroupData *grp, const QString &productPath);
QbsGroupNode(const qbs::GroupData &grp, const QString &productPath);
bool isEnabled() const;
QList<ProjectExplorer::ProjectAction> supportedActions(Node *node) const;
bool addFiles(const QStringList &filePaths, QStringList *notAdded = 0);
bool removeFiles(const QStringList &filePaths, QStringList *notRemoved = 0);
void updateQbsGroupData(const qbs::GroupData *grp, const QString &productPath,
void updateQbsGroupData(const qbs::GroupData &grp, const QString &productPath,
bool productWasEnabled, bool productIsEnabled);
const qbs::GroupData *qbsGroupData() const { return m_qbsGroupData; }
qbs::GroupData qbsGroupData() const { return m_qbsGroupData; }
QString productPath() const;
@@ -117,7 +117,7 @@ public:
private:
static void setupFolder(ProjectExplorer::FolderNode *folder,
const FileTreeNode *subFileTree, const QString &baseDir, bool updateExisting);
const qbs::GroupData *m_qbsGroupData;
qbs::GroupData m_qbsGroupData;
QString m_productPath;
static QIcon m_groupIcon;