Session: Delay deletion of projects till all signals are processed

Delay actual deletion of projects till all signals related to the
removal event (incl. the startupProjectChanged signal) are handled.

Change-Id: I8e2c8db49f732b80234a3cfa81d73f17c8d02608
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Tobias Hunger
2017-10-05 16:25:36 +02:00
parent d9ac5ee2a1
commit 4d32f3b7ce

View File

@@ -754,11 +754,12 @@ void SessionManager::removeProjects(const QList<Project *> &remove)
d->m_projectFileCache.remove(pro); d->m_projectFileCache.remove(pro);
emit m_instance->projectRemoved(pro); emit m_instance->projectRemoved(pro);
FolderNavigationWidgetFactory::removeRootDirectory(projectFolderId(pro)); FolderNavigationWidgetFactory::removeRootDirectory(projectFolderId(pro));
delete pro;
} }
if (changeStartupProject) if (changeStartupProject)
setStartupProject(hasProjects() ? projects().first() : nullptr); setStartupProject(hasProjects() ? projects().first() : nullptr);
qDeleteAll(remove);
} }
/*! /*!