forked from qt-creator/qt-creator
Project Explorer: fix possible nullptr derefs and remove dead
The dead store is not harmfull, but add noise when checking for dead stores that are due to logic errors. Change-Id: I18084c357696311b6556c7bc60832a72b3318e92 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
@@ -301,16 +301,21 @@ void BuildStepListWidget::updateAddBuildStepMenu()
|
|||||||
|
|
||||||
// Ask the user which one to add
|
// Ask the user which one to add
|
||||||
QMenu *menu = m_addButton->menu();
|
QMenu *menu = m_addButton->menu();
|
||||||
m_addBuildStepHash.clear();
|
|
||||||
menu->clear();
|
menu->clear();
|
||||||
if (!map.isEmpty()) {
|
if (!map.isEmpty()) {
|
||||||
QMap<QString, QPair<Core::Id, IBuildStepFactory *> >::const_iterator it, end;
|
QMap<QString, QPair<Core::Id, IBuildStepFactory *> >::const_iterator it, end;
|
||||||
end = map.constEnd();
|
end = map.constEnd();
|
||||||
for (it = map.constBegin(); it != end; ++it) {
|
for (it = map.constBegin(); it != end; ++it) {
|
||||||
QAction *action = menu->addAction(it.key());
|
QAction *action = menu->addAction(it.key());
|
||||||
connect(action, SIGNAL(triggered()),
|
IBuildStepFactory *factory = it.value().second;
|
||||||
this, SLOT(triggerAddBuildStep()));
|
Core::Id id = it.value().first;
|
||||||
m_addBuildStepHash.insert(action, it.value());
|
|
||||||
|
connect(action, &QAction::triggered, [id, factory, this]() {
|
||||||
|
BuildStep *newStep = factory->create(m_buildStepList, id);
|
||||||
|
QTC_ASSERT(newStep, return);
|
||||||
|
int pos = m_buildStepList->count();
|
||||||
|
m_buildStepList->insertStep(pos, newStep);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -341,17 +346,6 @@ void BuildStepListWidget::addBuildStepWidget(int pos, BuildStep *step)
|
|||||||
m_removeMapper, SLOT(map()));
|
m_removeMapper, SLOT(map()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildStepListWidget::triggerAddBuildStep()
|
|
||||||
{
|
|
||||||
if (QAction *action = qobject_cast<QAction *>(sender())) {
|
|
||||||
QPair<Core::Id, IBuildStepFactory *> pair = m_addBuildStepHash.value(action);
|
|
||||||
BuildStep *newStep = pair.second->create(m_buildStepList, pair.first);
|
|
||||||
QTC_ASSERT(newStep, return);
|
|
||||||
int pos = m_buildStepList->count();
|
|
||||||
m_buildStepList->insertStep(pos, newStep);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void BuildStepListWidget::addBuildStep(int pos)
|
void BuildStepListWidget::addBuildStep(int pos)
|
||||||
{
|
{
|
||||||
BuildStep *newStep = m_buildStepList->at(pos);
|
BuildStep *newStep = m_buildStepList->at(pos);
|
||||||
|
|||||||
@@ -109,7 +109,6 @@ public:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void updateAddBuildStepMenu();
|
void updateAddBuildStepMenu();
|
||||||
void triggerAddBuildStep();
|
|
||||||
void addBuildStep(int pos);
|
void addBuildStep(int pos);
|
||||||
void updateSummary();
|
void updateSummary();
|
||||||
void updateAdditionalSummary();
|
void updateAdditionalSummary();
|
||||||
@@ -127,7 +126,6 @@ private:
|
|||||||
void addBuildStepWidget(int pos, BuildStep *step);
|
void addBuildStepWidget(int pos, BuildStep *step);
|
||||||
|
|
||||||
BuildStepList *m_buildStepList;
|
BuildStepList *m_buildStepList;
|
||||||
QHash<QAction *, QPair<Core::Id, ProjectExplorer::IBuildStepFactory *> > m_addBuildStepHash;
|
|
||||||
|
|
||||||
QList<Internal::BuildStepsWidgetData *> m_buildStepsData;
|
QList<Internal::BuildStepsWidgetData *> m_buildStepsData;
|
||||||
|
|
||||||
|
|||||||
@@ -848,19 +848,19 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
|||||||
|
|
||||||
// build without dependencies action
|
// build without dependencies action
|
||||||
d->m_buildProjectOnlyAction = new QAction(tr("Build Without Dependencies"), this);
|
d->m_buildProjectOnlyAction = new QAction(tr("Build Without Dependencies"), this);
|
||||||
cmd = ActionManager::registerAction(d->m_buildProjectOnlyAction, Constants::BUILDPROJECTONLY, globalcontext);
|
ActionManager::registerAction(d->m_buildProjectOnlyAction, Constants::BUILDPROJECTONLY, globalcontext);
|
||||||
|
|
||||||
// rebuild without dependencies action
|
// rebuild without dependencies action
|
||||||
d->m_rebuildProjectOnlyAction = new QAction(tr("Rebuild Without Dependencies"), this);
|
d->m_rebuildProjectOnlyAction = new QAction(tr("Rebuild Without Dependencies"), this);
|
||||||
cmd = ActionManager::registerAction(d->m_rebuildProjectOnlyAction, Constants::REBUILDPROJECTONLY, globalcontext);
|
ActionManager::registerAction(d->m_rebuildProjectOnlyAction, Constants::REBUILDPROJECTONLY, globalcontext);
|
||||||
|
|
||||||
// deploy without dependencies action
|
// deploy without dependencies action
|
||||||
d->m_deployProjectOnlyAction = new QAction(tr("Deploy Without Dependencies"), this);
|
d->m_deployProjectOnlyAction = new QAction(tr("Deploy Without Dependencies"), this);
|
||||||
cmd = ActionManager::registerAction(d->m_deployProjectOnlyAction, Constants::DEPLOYPROJECTONLY, globalcontext);
|
ActionManager::registerAction(d->m_deployProjectOnlyAction, Constants::DEPLOYPROJECTONLY, globalcontext);
|
||||||
|
|
||||||
// clean without dependencies action
|
// clean without dependencies action
|
||||||
d->m_cleanProjectOnlyAction = new QAction(tr("Clean Without Dependencies"), this);
|
d->m_cleanProjectOnlyAction = new QAction(tr("Clean Without Dependencies"), this);
|
||||||
cmd = ActionManager::registerAction(d->m_cleanProjectOnlyAction, Constants::CLEANPROJECTONLY, globalcontext);
|
ActionManager::registerAction(d->m_cleanProjectOnlyAction, Constants::CLEANPROJECTONLY, globalcontext);
|
||||||
|
|
||||||
// deploy action (context menu)
|
// deploy action (context menu)
|
||||||
d->m_deployActionContextMenu = new QAction(tr("Deploy"), this);
|
d->m_deployActionContextMenu = new QAction(tr("Deploy"), this);
|
||||||
|
|||||||
@@ -250,14 +250,15 @@ void RunSettingsWidget::aboutToShowAddMenu()
|
|||||||
QList<Core::Id> ids = factory->availableCreationIds(m_target);
|
QList<Core::Id> ids = factory->availableCreationIds(m_target);
|
||||||
foreach (Core::Id id, ids) {
|
foreach (Core::Id id, ids) {
|
||||||
QAction *action = new QAction(factory->displayNameForId(id), m_addRunMenu);
|
QAction *action = new QAction(factory->displayNameForId(id), m_addRunMenu);
|
||||||
FactoryAndId fai;
|
connect(action, &QAction::triggered, [factory, id, this]() {
|
||||||
fai.factory = factory;
|
RunConfiguration *newRC = factory->create(m_target, id);
|
||||||
fai.id = id;
|
if (!newRC)
|
||||||
QVariant v;
|
return;
|
||||||
v.setValue(fai);
|
QTC_CHECK(newRC->id() == id);
|
||||||
action->setData(v);
|
m_target->addRunConfiguration(newRC);
|
||||||
connect(action, SIGNAL(triggered()),
|
m_target->setActiveRunConfiguration(newRC);
|
||||||
this, SLOT(addRunConfiguration()));
|
m_removeRunToolButton->setEnabled(m_target->runConfigurations().size() > 1);
|
||||||
|
});
|
||||||
menuActions.append(action);
|
menuActions.append(action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -269,21 +270,6 @@ void RunSettingsWidget::aboutToShowAddMenu()
|
|||||||
m_addRunMenu->addAction(action);
|
m_addRunMenu->addAction(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RunSettingsWidget::addRunConfiguration()
|
|
||||||
{
|
|
||||||
QAction *act = qobject_cast<QAction *>(sender());
|
|
||||||
if (!act)
|
|
||||||
return;
|
|
||||||
FactoryAndId fai = act->data().value<FactoryAndId>();
|
|
||||||
RunConfiguration *newRC = fai.factory->create(m_target, fai.id);
|
|
||||||
if (!newRC)
|
|
||||||
return;
|
|
||||||
QTC_CHECK(newRC->id() == fai.id);
|
|
||||||
m_target->addRunConfiguration(newRC);
|
|
||||||
m_target->setActiveRunConfiguration(newRC);
|
|
||||||
m_removeRunToolButton->setEnabled(m_target->runConfigurations().size() > 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RunSettingsWidget::cloneRunConfiguration()
|
void RunSettingsWidget::cloneRunConfiguration()
|
||||||
{
|
{
|
||||||
RunConfiguration* activeRunConfiguration = m_target->activeRunConfiguration();
|
RunConfiguration* activeRunConfiguration = m_target->activeRunConfiguration();
|
||||||
@@ -397,25 +383,19 @@ void RunSettingsWidget::aboutToShowDeployMenu()
|
|||||||
action->setData(QVariant::fromValue(data));
|
action->setData(QVariant::fromValue(data));
|
||||||
connect(action, SIGNAL(triggered()),
|
connect(action, SIGNAL(triggered()),
|
||||||
this, SLOT(addDeployConfiguration()));
|
this, SLOT(addDeployConfiguration()));
|
||||||
}
|
connect(action, &QAction::triggered, [factory, id, this]() {
|
||||||
}
|
if (!factory->canCreate(m_target, id))
|
||||||
}
|
|
||||||
|
|
||||||
void RunSettingsWidget::addDeployConfiguration()
|
|
||||||
{
|
|
||||||
QAction *act = qobject_cast<QAction *>(sender());
|
|
||||||
if (!act)
|
|
||||||
return;
|
return;
|
||||||
DeployFactoryAndId data = act->data().value<DeployFactoryAndId>();
|
DeployConfiguration *newDc = factory->create(m_target, id);
|
||||||
if (!data.factory->canCreate(m_target, data.id))
|
|
||||||
return;
|
|
||||||
DeployConfiguration *newDc = data.factory->create(m_target, data.id);
|
|
||||||
if (!newDc)
|
if (!newDc)
|
||||||
return;
|
return;
|
||||||
QTC_CHECK(!newDc || newDc->id() == data.id);
|
QTC_CHECK(!newDc || newDc->id() == id);
|
||||||
m_target->addDeployConfiguration(newDc);
|
m_target->addDeployConfiguration(newDc);
|
||||||
m_target->setActiveDeployConfiguration(newDc);
|
m_target->setActiveDeployConfiguration(newDc);
|
||||||
m_removeDeployToolButton->setEnabled(m_target->deployConfigurations().size() > 1);
|
m_removeDeployToolButton->setEnabled(m_target->deployConfigurations().size() > 1);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void RunSettingsWidget::removeDeployConfiguration()
|
void RunSettingsWidget::removeDeployConfiguration()
|
||||||
|
|||||||
@@ -67,14 +67,12 @@ public:
|
|||||||
private slots:
|
private slots:
|
||||||
void currentRunConfigurationChanged(int index);
|
void currentRunConfigurationChanged(int index);
|
||||||
void aboutToShowAddMenu();
|
void aboutToShowAddMenu();
|
||||||
void addRunConfiguration();
|
|
||||||
void cloneRunConfiguration();
|
void cloneRunConfiguration();
|
||||||
void removeRunConfiguration();
|
void removeRunConfiguration();
|
||||||
void activeRunConfigurationChanged();
|
void activeRunConfigurationChanged();
|
||||||
void renameRunConfiguration();
|
void renameRunConfiguration();
|
||||||
void currentDeployConfigurationChanged(int index);
|
void currentDeployConfigurationChanged(int index);
|
||||||
void aboutToShowDeployMenu();
|
void aboutToShowDeployMenu();
|
||||||
void addDeployConfiguration();
|
|
||||||
void removeDeployConfiguration();
|
void removeDeployConfiguration();
|
||||||
void activeDeployConfigurationChanged();
|
void activeDeployConfigurationChanged();
|
||||||
void renameDeployConfiguration();
|
void renameDeployConfiguration();
|
||||||
|
|||||||
@@ -165,6 +165,7 @@ LibraryWizardDialog::LibraryWizardDialog(const QString &templateName,
|
|||||||
Utils::WizardProgressItem *filesItem = wizardProgress()->item(m_filesPageId);
|
Utils::WizardProgressItem *filesItem = wizardProgress()->item(m_filesPageId);
|
||||||
filesItem->setTitle(tr("Details"));
|
filesItem->setTitle(tr("Details"));
|
||||||
|
|
||||||
|
if (targetItem) {
|
||||||
if (m_targetPageId != -1) {
|
if (m_targetPageId != -1) {
|
||||||
targetItem->setNextItems(QList<Utils::WizardProgressItem *>()
|
targetItem->setNextItems(QList<Utils::WizardProgressItem *>()
|
||||||
<< modulesItem << filesItem);
|
<< modulesItem << filesItem);
|
||||||
@@ -174,6 +175,7 @@ LibraryWizardDialog::LibraryWizardDialog(const QString &templateName,
|
|||||||
<< modulesItem << filesItem);
|
<< modulesItem << filesItem);
|
||||||
introItem->setNextShownItem(0);
|
introItem->setNextShownItem(0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(slotCurrentIdChanged(int)));
|
connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(slotCurrentIdChanged(int)));
|
||||||
|
|
||||||
|
|||||||
@@ -212,7 +212,7 @@ void ShortCutManager::updateActions(Core::IEditor* currentEditor)
|
|||||||
&& document->isModified());
|
&& document->isModified());
|
||||||
|
|
||||||
QString quotedName;
|
QString quotedName;
|
||||||
if (currentEditor)
|
if (currentEditor && document)
|
||||||
quotedName = '"' + document->displayName() + '"';
|
quotedName = '"' + document->displayName() + '"';
|
||||||
|
|
||||||
m_saveAsAction.setText(tr("Save %1 As...").arg(quotedName));
|
m_saveAsAction.setText(tr("Save %1 As...").arg(quotedName));
|
||||||
|
|||||||
Reference in New Issue
Block a user