From e8923d333345b01f7d4b638bad75c542aa54669d Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Tue, 5 Dec 2023 14:11:22 +0100 Subject: [PATCH] TaskTree: Use find_if & erase It's enough to remove just one item, as it's guaranteed that items are unique inside the m_children vector. This should fix the following warning: "ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result]". Change-Id: Iae8a11d1f12cd28ef3c4ae4363a4bdc3dbfe31e6 Reviewed-by: hjk --- src/libs/solutions/tasking/tasktree.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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)