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