Fixed issue causing a pdmUiTreeOrdering item having wrong (and deleted) parent

This commit is contained in:
Magne Sjaastad
2015-10-15 09:22:17 +02:00
parent 972d8fe5e0
commit 5f92e87070

View File

@@ -267,9 +267,11 @@ void PdmUiTreeViewModel::updateSubTreeRecursive(const QModelIndex& existingSubTr
std::map<caf::PdmUiItem*, int>::iterator it = existingTreeMap.find(sourceChild->activeItem());
if (it != existingTreeMap.end())
{
newOrdering.appendChild(existingSubTreeRoot->child(it->second));
// NB! Must be pushed into recursiveUpdateData before moved into newOrdering to make sure parent relationship is correct for update
// appendChild() changes ownership
recursiveUpdateData.push_back(RecursiveUpdateData(index(newOrdering.childCount() - 1, 0, existingSubTreeRootModIdx), existingSubTreeRoot->child(it->second), sourceChild));
newOrdering.appendChild(existingSubTreeRoot->child(it->second));
}
else
{