ProjectExplorer: Fix object creation order

95deefb5a revealed some initialization order requirements:
AppOutputPane needs SessionManager,
CurrentProjectFilter needs ProjectTree

Change-Id: Ibd3d14a7d23f55a850db43e031e68c32059e6e6a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2018-02-19 15:46:31 +01:00
parent 23ab27ac04
commit 38acd39f3a

View File

@@ -477,8 +477,11 @@ public:
RemoveTaskHandler m_removeTaskHandler; RemoveTaskHandler m_removeTaskHandler;
ConfigTaskHandler m_configTaskHandler{Task::compilerMissingTask(), Constants::KITS_SETTINGS_PAGE_ID}; ConfigTaskHandler m_configTaskHandler{Task::compilerMissingTask(), Constants::KITS_SETTINGS_PAGE_ID};
SessionManager m_sessionManager;
AppOutputPane m_outputPane; AppOutputPane m_outputPane;
ProjectTree m_projectTree;
AllProjectsFilter m_allProjectsFilter; AllProjectsFilter m_allProjectsFilter;
CurrentProjectFilter m_currentProjectFilter; CurrentProjectFilter m_currentProjectFilter;
@@ -565,8 +568,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
connect(&dd->m_welcomePage, &ProjectWelcomePage::manageSessions, connect(&dd->m_welcomePage, &ProjectWelcomePage::manageSessions,
dd, &ProjectExplorerPluginPrivate::showSessionManager); dd, &ProjectExplorerPluginPrivate::showSessionManager);
auto sessionManager = new SessionManager(this); SessionManager *sessionManager = &dd->m_sessionManager;
connect(sessionManager, &SessionManager::projectAdded, connect(sessionManager, &SessionManager::projectAdded,
this, &ProjectExplorerPlugin::fileListChanged); this, &ProjectExplorerPlugin::fileListChanged);
connect(sessionManager, &SessionManager::aboutToRemoveProject, connect(sessionManager, &SessionManager::aboutToRemoveProject,
@@ -588,7 +590,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
connect(sessionManager, &SessionManager::sessionLoaded, connect(sessionManager, &SessionManager::sessionLoaded,
dd, &ProjectExplorerPluginPrivate::updateWelcomePage); dd, &ProjectExplorerPluginPrivate::updateWelcomePage);
ProjectTree *tree = new ProjectTree(this); ProjectTree *tree = &dd->m_projectTree;
connect(tree, &ProjectTree::currentProjectChanged, connect(tree, &ProjectTree::currentProjectChanged,
dd, &ProjectExplorerPluginPrivate::updateContextMenuActions); dd, &ProjectExplorerPluginPrivate::updateContextMenuActions);
connect(tree, &ProjectTree::currentNodeChanged, connect(tree, &ProjectTree::currentNodeChanged,