forked from qt-creator/qt-creator
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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user