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(stepMoved(int,int)), SIGNAL(updateSummary()));
|
||||
connect(list, SIGNAL(stepRemoved(int)), SIGNAL(updateSummary()));
|
||||
connect(list, SIGNAL(aboutToRemoveStep(int)),
|
||||
SLOT(handleStepToBeRemoved(int)));
|
||||
}
|
||||
|
||||
MaemoDeployStepWidget::~MaemoDeployStepWidget()
|
||||
@@ -92,6 +94,14 @@ void MaemoDeployStepWidget::handleDeviceUpdate()
|
||||
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 error;
|
||||
|
@@ -58,6 +58,7 @@ private:
|
||||
Q_SLOT void handleDeviceUpdate();
|
||||
Q_SLOT void setCurrentDeviceConfig(int index);
|
||||
Q_SLOT void showDeviceConfigurations();
|
||||
Q_SLOT void handleStepToBeRemoved(int step);
|
||||
|
||||
virtual void init();
|
||||
virtual QString summaryText() const;
|
||||
|
@@ -58,10 +58,11 @@ public:
|
||||
|
||||
virtual void init()
|
||||
{
|
||||
ProjectExplorer::BuildStepList * const list
|
||||
BuildStepList * const list
|
||||
= qobject_cast<BuildStepList *>(m_step->parent());
|
||||
connect(list, SIGNAL(stepInserted(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()));
|
||||
}
|
||||
|
||||
@@ -76,6 +77,14 @@ public:
|
||||
}
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user