From 4d32f3b7ce69c22a1455affe1d6b10e22dd0f80b Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 5 Oct 2017 16:25:36 +0200 Subject: [PATCH] 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 --- src/plugins/projectexplorer/session.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp index f8ec0fb8b85..e66e8e7d8b1 100644 --- a/src/plugins/projectexplorer/session.cpp +++ b/src/plugins/projectexplorer/session.cpp @@ -754,11 +754,12 @@ void SessionManager::removeProjects(const QList &remove) d->m_projectFileCache.remove(pro); emit m_instance->projectRemoved(pro); FolderNavigationWidgetFactory::removeRootDirectory(projectFolderId(pro)); - delete pro; } if (changeStartupProject) setStartupProject(hasProjects() ? projects().first() : nullptr); + + qDeleteAll(remove); } /*!