From 38acd39f3ac6a648faf7b2854ec8eb36cc4582df Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 19 Feb 2018 15:46:31 +0100 Subject: [PATCH] ProjectExplorer: Fix object creation order 95deefb5a revealed some initialization order requirements: AppOutputPane needs SessionManager, CurrentProjectFilter needs ProjectTree Change-Id: Ibd3d14a7d23f55a850db43e031e68c32059e6e6a Reviewed-by: Christian Stenger --- src/plugins/projectexplorer/projectexplorer.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index bdadf099fdb..2469c94231a 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -477,8 +477,11 @@ public: RemoveTaskHandler m_removeTaskHandler; ConfigTaskHandler m_configTaskHandler{Task::compilerMissingTask(), Constants::KITS_SETTINGS_PAGE_ID}; + SessionManager m_sessionManager; AppOutputPane m_outputPane; + ProjectTree m_projectTree; + AllProjectsFilter m_allProjectsFilter; CurrentProjectFilter m_currentProjectFilter; @@ -565,8 +568,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er connect(&dd->m_welcomePage, &ProjectWelcomePage::manageSessions, dd, &ProjectExplorerPluginPrivate::showSessionManager); - auto sessionManager = new SessionManager(this); - + SessionManager *sessionManager = &dd->m_sessionManager; connect(sessionManager, &SessionManager::projectAdded, this, &ProjectExplorerPlugin::fileListChanged); connect(sessionManager, &SessionManager::aboutToRemoveProject, @@ -588,7 +590,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er connect(sessionManager, &SessionManager::sessionLoaded, dd, &ProjectExplorerPluginPrivate::updateWelcomePage); - ProjectTree *tree = new ProjectTree(this); + ProjectTree *tree = &dd->m_projectTree; connect(tree, &ProjectTree::currentProjectChanged, dd, &ProjectExplorerPluginPrivate::updateContextMenuActions); connect(tree, &ProjectTree::currentNodeChanged,