diff options
author | Aurélien Brooke <aurelien@bahiasoft.fr> | 2024-01-16 10:16:40 +0100 |
---|---|---|
committer | Aurélien Brooke <aurelien@bahiasoft.fr> | 2024-01-22 08:52:39 +0100 |
commit | 2e9c64ec52e27228c9733ddc4823fc335c91f5f0 (patch) | |
tree | 749a0918edc4aa2633bb0066a4527dcd212fa576 /src/core/aspects | |
parent | ef7d49840c12d44ba30e9981657ba350d92f9c6a (diff) |
QAspectManager: avoid a temporary list
Change-Id: Ic3f9115a9d55038b3d8901b894d662164e8a79bc
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'src/core/aspects')
-rw-r--r-- | src/core/aspects/qaspectmanager.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/core/aspects/qaspectmanager.cpp b/src/core/aspects/qaspectmanager.cpp index 91da7f9b5..199d293ed 100644 --- a/src/core/aspects/qaspectmanager.cpp +++ b/src/core/aspects/qaspectmanager.cpp @@ -273,17 +273,14 @@ void QAspectManager::addNodes(const QList<QNode *> &nodes) // as this call) The idea is we want to avoid modifying the backend tree if // the Renderer hasn't allowed processFrame to continue yet - QList<NodeTreeChange> treeChanges; - treeChanges.reserve(nodes.size()); + m_nodeTreeChanges.reserve(m_nodeTreeChanges.size() + nodes.size()); for (QNode *node : nodes) { - treeChanges.push_back({ node->id(), - QNodePrivate::get(node)->m_typeInfo, - NodeTreeChange::Added, - node }); + m_nodeTreeChanges.push_back({ node->id(), + QNodePrivate::get(node)->m_typeInfo, + NodeTreeChange::Added, + node }); } - - m_nodeTreeChanges += treeChanges; } // Main Thread -> immediately following node destruction (call from QNode dtor) |