forked from qt-creator/qt-creator
Project mode: Fix crash on removing the last profile
Change-Id: I0624e52a9fd176847a42a1a3379ceabc0f03661c Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
This commit is contained in:
@@ -273,6 +273,14 @@ void ProjectWindow::aboutToShutdown()
|
|||||||
disconnect(ProjectExplorerPlugin::instance()->session(), 0, this, 0);
|
disconnect(ProjectExplorerPlugin::instance()->session(), 0, this, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ProjectWindow::removedTarget(Target *target)
|
||||||
|
{
|
||||||
|
Project *p = qobject_cast<Project *>(sender());
|
||||||
|
QTC_ASSERT(p, return);
|
||||||
|
if (p->targets().isEmpty())
|
||||||
|
projectUpdated(p);
|
||||||
|
}
|
||||||
|
|
||||||
void ProjectWindow::projectUpdated(Project *p)
|
void ProjectWindow::projectUpdated(Project *p)
|
||||||
{
|
{
|
||||||
// Called after a project was configured
|
// Called after a project was configured
|
||||||
@@ -362,6 +370,9 @@ void ProjectWindow::registerProject(ProjectExplorer::Project *project)
|
|||||||
|
|
||||||
m_tabIndexToProject.insert(index, project);
|
m_tabIndexToProject.insert(index, project);
|
||||||
m_tabWidget->insertTab(index, project->displayName(), project->document()->fileName(), subtabs);
|
m_tabWidget->insertTab(index, project->displayName(), project->document()->fileName(), subtabs);
|
||||||
|
|
||||||
|
connect(project, SIGNAL(removedTarget(ProjectExplorer::Target*)),
|
||||||
|
this, SLOT(removedTarget(ProjectExplorer::Target*)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectWindow::deregisterProject(ProjectExplorer::Project *project)
|
void ProjectWindow::deregisterProject(ProjectExplorer::Project *project)
|
||||||
@@ -372,6 +383,8 @@ void ProjectWindow::deregisterProject(ProjectExplorer::Project *project)
|
|||||||
|
|
||||||
m_tabIndexToProject.removeAt(index);
|
m_tabIndexToProject.removeAt(index);
|
||||||
m_tabWidget->removeTab(index);
|
m_tabWidget->removeTab(index);
|
||||||
|
disconnect(project, SIGNAL(removedTarget(ProjectExplorer::Target*)),
|
||||||
|
this, SLOT(removedTarget(ProjectExplorer::Target*)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectWindow::startupProjectChanged(ProjectExplorer::Project *p)
|
void ProjectWindow::startupProjectChanged(ProjectExplorer::Project *p)
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ private slots:
|
|||||||
void registerProject(ProjectExplorer::Project*);
|
void registerProject(ProjectExplorer::Project*);
|
||||||
void deregisterProject(ProjectExplorer::Project*);
|
void deregisterProject(ProjectExplorer::Project*);
|
||||||
void startupProjectChanged(ProjectExplorer::Project *);
|
void startupProjectChanged(ProjectExplorer::Project *);
|
||||||
|
void removedTarget(ProjectExplorer::Target*);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool useTargetPage(ProjectExplorer::Project *project);
|
bool useTargetPage(ProjectExplorer::Project *project);
|
||||||
|
|||||||
Reference in New Issue
Block a user