QmakeProjectManager: Fix node addition order

First add the nodes, then add the subnodes. This is the correct
fix for

Change-Id: I50834ba7e0221623abe2954c88c47322677c142d
Task-number: QTCREATORBUG-14134
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Daniel Teske
2015-03-13 15:40:57 +01:00
parent 089f1b1bb3
commit c874e1dd73
2 changed files with 7 additions and 3 deletions

View File

@@ -2105,6 +2105,7 @@ void QmakeProFileNode::applyEvaluate(EvalResult *evalResult)
QList<ProjectNode*> toAdd;
QList<ProjectNode*> toRemove;
QList<QmakePriFileNode *> toUpdate;
QList<ProjectNode*>::const_iterator existingIt = existingProjectNodes.constBegin();
FileNameList::const_iterator newExactIt = result->newProjectFilesExact.constBegin();
@@ -2208,8 +2209,8 @@ void QmakeProFileNode::applyEvaluate(EvalResult *evalResult)
QmakePriFileNode *qmakePriFileNode = new QmakePriFileNode(m_project, this, nodeToAdd);
qmakePriFileNode->setParentFolderNode(this); // Needed for loop detection
qmakePriFileNode->setIncludedInExactParse(fileExact != 0 && includedInExactParse());
qmakePriFileNode->update(result->priFileResults[nodeToAdd]);
toAdd << qmakePriFileNode;
toUpdate << qmakePriFileNode;
} else {
QmakeProFileNode *qmakeProFileNode = new QmakeProFileNode(m_project, nodeToAdd);
qmakeProFileNode->setParentFolderNode(this); // Needed for loop detection
@@ -2235,6 +2236,9 @@ void QmakeProFileNode::applyEvaluate(EvalResult *evalResult)
if (!toAdd.isEmpty())
addProjectNodes(toAdd);
foreach (QmakePriFileNode *qmakePriFileNode, toUpdate)
qmakePriFileNode->update(result->priFileResults[qmakePriFileNode->path()]);
QmakePriFileNode::update(result->priFileResults[m_projectFilePath]);
m_validParse = (result->state == EvalResult::EvalOk);