forked from qt-creator/qt-creator
Qbs: Fix crashes when switching QbsRunConfigurations
Do not use pointers to qbs::(Group|Product|Project)Data. Those are implicitly shared classes, and now have a isValid method so that default constructed instances can be spotted. Change-Id: Icd49fa517f2e17bc60cc82d103f479d3a2e7097a Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
@@ -148,19 +148,19 @@ class QbsProductNode : public QbsBaseProjectNode
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit QbsProductNode(const qbs::ProductData *prd);
|
||||
explicit QbsProductNode(const qbs::ProductData &prd);
|
||||
|
||||
bool isEnabled() const;
|
||||
|
||||
void setQbsProductData(const qbs::ProductData *prd);
|
||||
const qbs::ProductData *qbsProductData() const { return m_qbsProductData; }
|
||||
void setQbsProductData(const qbs::ProductData prd);
|
||||
const qbs::ProductData qbsProductData() const { return m_qbsProductData; }
|
||||
|
||||
QList<ProjectExplorer::RunConfiguration *> runConfigurationsFor(Node *node);
|
||||
|
||||
private:
|
||||
QbsGroupNode *findGroupNode(const QString &name);
|
||||
|
||||
const qbs::ProductData *m_qbsProductData;
|
||||
qbs::ProductData m_qbsProductData;
|
||||
static QIcon m_productIcon;
|
||||
};
|
||||
|
||||
@@ -182,7 +182,7 @@ public:
|
||||
|
||||
QbsProject *project() const;
|
||||
const qbs::Project *qbsProject() const;
|
||||
const qbs::ProjectData *qbsProjectData() const;
|
||||
const qbs::ProjectData qbsProjectData() const;
|
||||
|
||||
private:
|
||||
void ctor();
|
||||
@@ -193,7 +193,7 @@ private:
|
||||
QbsProject *m_project;
|
||||
|
||||
const qbs::Project *m_qbsProject;
|
||||
const qbs::ProjectData *m_qbsProjectData;
|
||||
qbs::ProjectData m_qbsProjectData;
|
||||
static QIcon m_projectIcon;
|
||||
};
|
||||
} // namespace Internal
|
||||
|
||||
Reference in New Issue
Block a user