aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/projecttree.h
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@theqtcompany.com>2014-12-15 18:24:25 +0100
committerEike Ziller <eike.ziller@theqtcompany.com>2014-12-17 17:42:38 +0100
commit5d2d37b7944ff7b2e3989590172a2a483c3cc1b7 (patch)
treee71971750bae8f03d94ac295871164d636233f65 /src/plugins/projectexplorer/projecttree.h
parentbeb0797008980869f52b7549fd4ad2fac0eba72b (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.h5
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;
};
}