forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.12'
Change-Id: Ie35e9959693b6f6f78509eea5b259d6493ef87f2
This commit is contained in:
@@ -159,6 +159,14 @@ QbsBuildConfiguration::QbsBuildConfiguration(Target *target, Core::Id id)
|
||||
|
||||
QbsBuildConfiguration::~QbsBuildConfiguration()
|
||||
{
|
||||
for (BuildStep * const bs : buildSteps()->steps()) {
|
||||
if (const auto qbs = qobject_cast<QbsBuildStep *>(bs))
|
||||
qbs->dropSession();
|
||||
}
|
||||
for (BuildStep * const cs : cleanSteps()->steps()) {
|
||||
if (const auto qcs = qobject_cast<QbsCleanStep *>(cs))
|
||||
qcs->dropSession();
|
||||
}
|
||||
delete m_buildSystem;
|
||||
}
|
||||
|
||||
|
||||
@@ -537,6 +537,15 @@ QbsBuildStepData QbsBuildStep::stepData() const
|
||||
return data;
|
||||
}
|
||||
|
||||
void QbsBuildStep::dropSession()
|
||||
{
|
||||
if (m_session) {
|
||||
doCancel();
|
||||
m_session->disconnect(this);
|
||||
m_session = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// QbsBuildStepConfigWidget:
|
||||
|
||||
@@ -73,6 +73,8 @@ public:
|
||||
QbsBuildSystem *qbsBuildSystem() const;
|
||||
QbsBuildStepData stepData() const;
|
||||
|
||||
void dropSession();
|
||||
|
||||
signals:
|
||||
void qbsConfigurationChanged();
|
||||
void qbsBuildOptionsChanged();
|
||||
|
||||
@@ -85,6 +85,15 @@ QbsCleanStep::~QbsCleanStep()
|
||||
m_session->disconnect(this);
|
||||
}
|
||||
|
||||
void QbsCleanStep::dropSession()
|
||||
{
|
||||
if (m_session) {
|
||||
doCancel();
|
||||
m_session->disconnect(this);
|
||||
m_session = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
bool QbsCleanStep::init()
|
||||
{
|
||||
if (buildSystem()->isParsing() || m_session)
|
||||
|
||||
@@ -46,6 +46,8 @@ public:
|
||||
|
||||
QbsBuildStepData stepData() const;
|
||||
|
||||
void dropSession();
|
||||
|
||||
private:
|
||||
bool init() override;
|
||||
void doRun() override;
|
||||
|
||||
Reference in New Issue
Block a user