forked from qt-creator/qt-creator
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:
@@ -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,
|
||||
|
Reference in New Issue
Block a user