diff --git a/src/libs/solutions/tasking/tasktree.cpp b/src/libs/solutions/tasking/tasktree.cpp index 3e1cdbf6ab6..25d345179df 100644 --- a/src/libs/solutions/tasking/tasktree.cpp +++ b/src/libs/solutions/tasking/tasktree.cpp @@ -1725,9 +1725,11 @@ bool TaskRuntimeContainer::updateSuccessBit(bool success) void TaskRuntimeContainer::deleteChild(TaskRuntimeNode *node) { - std::remove_if(m_children.begin(), m_children.end(), [node](const auto &ptr) { + const auto it = std::find_if(m_children.cbegin(), m_children.cend(), [node](const auto &ptr) { return ptr.get() == node; }); + if (it != m_children.cend()) + m_children.erase(it); } SetupResult TaskTreePrivate::start(TaskRuntimeContainer *container)