diff options
author | Eike Ziller <eike.ziller@qt.io> | 2019-06-18 11:48:32 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2019-06-18 11:48:32 +0200 |
commit | b02f4ae6154810a9894615eca3052957e6e3ec56 (patch) | |
tree | 4569646cf3882d862a4784d9a278a55b373a106e /src/plugins/projectexplorer/projecttree.cpp | |
parent | 174b6f7e659f6667ea8621f2d57d3bf67fedcdbf (diff) | |
parent | a2cfa434683552f63699a70e9de2295a12f41eaa (diff) |
Merge remote-tracking branch 'origin/4.9' into 4.10
Change-Id: I6f1bc9381dc8c0ce8abc5a6c006087076d8fc1bc
Diffstat (limited to 'src/plugins/projectexplorer/projecttree.cpp')
-rw-r--r-- | src/plugins/projectexplorer/projecttree.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/plugins/projectexplorer/projecttree.cpp b/src/plugins/projectexplorer/projecttree.cpp index ca35bcff682..5259a0d609d 100644 --- a/src/plugins/projectexplorer/projecttree.cpp +++ b/src/plugins/projectexplorer/projecttree.cpp @@ -389,9 +389,15 @@ void ProjectTree::applyTreeManager(FolderNode *folder) bool ProjectTree::hasNode(const Node *node) { return Utils::contains(SessionManager::projects(), [node](const Project *p) { - return p && p->rootProjectNode() && ( - p->containerNode() == node - || p->rootProjectNode()->findNode([node](const Node *n) { return n == node; })); + if (!p) + return false; + if (p->containerNode() == node) + return true; + // When parsing fails we have a living container node but no rootProjectNode. + ProjectNode *pn = p->rootProjectNode(); + if (!pn) + return false; + return pn->findNode([node](const Node *n) { return n == node; }) != nullptr; }); } |