diff options
author | Daniel Teske <daniel.teske@theqtcompany.com> | 2014-12-15 18:24:25 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@theqtcompany.com> | 2014-12-17 17:42:38 +0100 |
commit | 5d2d37b7944ff7b2e3989590172a2a483c3cc1b7 (patch) | |
tree | e71971750bae8f03d94ac295871164d636233f65 /src/plugins/projectexplorer/projecttree.h | |
parent | beb0797008980869f52b7549fd4ad2fac0eba72b (diff) |
Fix crash in ProjectTree on restoring a session
On adding nodes to the node structure, both the FlatModel::nodesAdded
and ProjectTree::nodesAdded code is run. We need to ensure that
FlatModel::nodesAdded is run first though, as we need that information
in the ProjectTree.
Task-number: QTCREATORBUG-13667
Change-Id: I0b4b41ed6036cfdef668c16689d25611633ab0c9
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Diffstat (limited to 'src/plugins/projectexplorer/projecttree.h')
-rw-r--r-- | src/plugins/projectexplorer/projecttree.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/projecttree.h b/src/plugins/projectexplorer/projecttree.h index 9fa85eecd5..8a7cc4f54c 100644 --- a/src/plugins/projectexplorer/projecttree.h +++ b/src/plugins/projectexplorer/projecttree.h @@ -39,6 +39,7 @@ namespace ProjectExplorer { class FileNode; class FolderNode; class Node; +class NodesWatcher; class Project; namespace Internal { class ProjectTreeWidget; } @@ -58,14 +59,15 @@ public: static void registerWidget(Internal::ProjectTreeWidget *widget); static void unregisterWidget(Internal::ProjectTreeWidget *widget); static void nodeChanged(Internal::ProjectTreeWidget *widget); - static void focusChanged(); static Project *projectForNode(Node *node); + static void aboutToShutDown(); signals: void currentProjectChanged(ProjectExplorer::Project *project); void currentNodeChanged(ProjectExplorer::Node *node, ProjectExplorer::Project *project); private: + void focusChanged(); void updateFromProjectTreeWidget(Internal::ProjectTreeWidget *widget); void documentManagerCurrentFileChanged(); void updateFromDocumentManager(bool invalidCurrentNode = false); @@ -95,6 +97,7 @@ private: bool m_resetCurrentNodeFile; bool m_resetCurrentNodeProject; Core::Context m_lastProjectContext; + NodesWatcher *m_watcher; }; } |