forked from qt-creator/qt-creator
Maemo: Fix race condition when removing a deploy step.
This commit is contained in:
@@ -63,6 +63,8 @@ MaemoDeployStepWidget::MaemoDeployStepWidget(AbstractMaemoDeployStep *step) :
|
|||||||
connect(list, SIGNAL(stepInserted(int)), SIGNAL(updateSummary()));
|
connect(list, SIGNAL(stepInserted(int)), SIGNAL(updateSummary()));
|
||||||
connect(list, SIGNAL(stepMoved(int,int)), SIGNAL(updateSummary()));
|
connect(list, SIGNAL(stepMoved(int,int)), SIGNAL(updateSummary()));
|
||||||
connect(list, SIGNAL(stepRemoved(int)), SIGNAL(updateSummary()));
|
connect(list, SIGNAL(stepRemoved(int)), SIGNAL(updateSummary()));
|
||||||
|
connect(list, SIGNAL(aboutToRemoveStep(int)),
|
||||||
|
SLOT(handleStepToBeRemoved(int)));
|
||||||
}
|
}
|
||||||
|
|
||||||
MaemoDeployStepWidget::~MaemoDeployStepWidget()
|
MaemoDeployStepWidget::~MaemoDeployStepWidget()
|
||||||
@@ -92,6 +94,14 @@ void MaemoDeployStepWidget::handleDeviceUpdate()
|
|||||||
emit updateSummary();
|
emit updateSummary();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MaemoDeployStepWidget::handleStepToBeRemoved(int step)
|
||||||
|
{
|
||||||
|
ProjectExplorer::BuildStepList * const list
|
||||||
|
= qobject_cast<ProjectExplorer::BuildStepList *>(m_step->parent());
|
||||||
|
if (list->steps().at(step) == m_step)
|
||||||
|
disconnect(list, 0, this, 0);
|
||||||
|
}
|
||||||
|
|
||||||
QString MaemoDeployStepWidget::summaryText() const
|
QString MaemoDeployStepWidget::summaryText() const
|
||||||
{
|
{
|
||||||
QString error;
|
QString error;
|
||||||
|
@@ -58,6 +58,7 @@ private:
|
|||||||
Q_SLOT void handleDeviceUpdate();
|
Q_SLOT void handleDeviceUpdate();
|
||||||
Q_SLOT void setCurrentDeviceConfig(int index);
|
Q_SLOT void setCurrentDeviceConfig(int index);
|
||||||
Q_SLOT void showDeviceConfigurations();
|
Q_SLOT void showDeviceConfigurations();
|
||||||
|
Q_SLOT void handleStepToBeRemoved(int step);
|
||||||
|
|
||||||
virtual void init();
|
virtual void init();
|
||||||
virtual QString summaryText() const;
|
virtual QString summaryText() const;
|
||||||
|
@@ -58,10 +58,11 @@ public:
|
|||||||
|
|
||||||
virtual void init()
|
virtual void init()
|
||||||
{
|
{
|
||||||
ProjectExplorer::BuildStepList * const list
|
BuildStepList * const list
|
||||||
= qobject_cast<BuildStepList *>(m_step->parent());
|
= qobject_cast<BuildStepList *>(m_step->parent());
|
||||||
connect(list, SIGNAL(stepInserted(int)), SIGNAL(updateSummary()));
|
connect(list, SIGNAL(stepInserted(int)), SIGNAL(updateSummary()));
|
||||||
connect(list, SIGNAL(stepMoved(int,int)), SIGNAL(updateSummary()));
|
connect(list, SIGNAL(stepMoved(int,int)), SIGNAL(updateSummary()));
|
||||||
|
connect(list, SIGNAL(aboutToRemoveStep(int)), SLOT(handleStepToBeRemoved(int)));
|
||||||
connect(list, SIGNAL(stepRemoved(int)), SIGNAL(updateSummary()));
|
connect(list, SIGNAL(stepRemoved(int)), SIGNAL(updateSummary()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,6 +77,14 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Q_SLOT void handleStepToBeRemoved(int step)
|
||||||
|
{
|
||||||
|
BuildStepList * const list
|
||||||
|
= qobject_cast<BuildStepList *>(m_step->parent());
|
||||||
|
if (list->steps().at(step) == m_step)
|
||||||
|
disconnect(list, 0, this, 0);
|
||||||
|
}
|
||||||
|
|
||||||
const AbstractMaemoInstallPackageToSysrootStep * const m_step;
|
const AbstractMaemoInstallPackageToSysrootStep * const m_step;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user