From e8e6b909a830ed053328b8e12cf669267730db76 Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Tue, 12 Apr 2016 11:05:29 +0200 Subject: [PATCH] logic: Fixed referencing of nodes in GraphController::bundleNodesByType --- src/lib/component/controller/GraphController.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/lib/component/controller/GraphController.cpp b/src/lib/component/controller/GraphController.cpp index cb944d1c..78729081 100644 --- a/src/lib/component/controller/GraphController.cpp +++ b/src/lib/component/controller/GraphController.cpp @@ -843,11 +843,13 @@ bool GraphController::isTypeUserNode(const DummyNode& node) const void GraphController::bundleNodesByType() { - size_t size = m_dummyNodes.size(); + std::vector oldNodes = m_dummyNodes; + m_dummyNodes.clear(); + std::list nodes; - for (DummyNode& node : m_dummyNodes) + for (size_t i = 0; i < oldNodes.size(); i++) { - nodes.push_back(&node); + nodes.push_back(&oldNodes[i]); } BUNDLE_BY_TYPE(nodes, Node::NODE_NAMESPACE, "Namespaces"); @@ -872,13 +874,6 @@ void GraphController::bundleNodesByType() BUNDLE_BY_TYPE(nodes, Node::NODE_TEMPLATE_PARAMETER_TYPE, "Template Parameter Types"); BUNDLE_BY_TYPE(nodes, Node::NODE_UNDEFINED, "Undefined Symbols"); - std::vector newNodes; - for (size_t i = size; i < m_dummyNodes.size(); i++) - { - newNodes.push_back(m_dummyNodes[i]); - } - m_dummyNodes = newNodes; - for (DummyNode& node : m_dummyNodes) { if (node.isBundleNode())