From 317e7a276d716d7031be6829a9a6bbbfc182ff46 Mon Sep 17 00:00:00 2001 From: cmoineau <cyril.moineau@cea.fr> Date: Thu, 27 Jun 2024 06:54:42 +0000 Subject: [PATCH] Fix bug when renaming a node with no name. --- include/aidge/graph/GraphView.hpp | 13 +++++++++---- src/graph/Node.cpp | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/include/aidge/graph/GraphView.hpp b/include/aidge/graph/GraphView.hpp index 682634015..8b58d13bc 100644 --- a/include/aidge/graph/GraphView.hpp +++ b/include/aidge/graph/GraphView.hpp @@ -400,10 +400,15 @@ public: addChild(toOtherNode, mNodeRegistry.at(fromOutNodeName), fromTensor, toTensor); } - inline void updateNodeName(const std::string& oldName, const std::string& newName){ - AIDGE_ASSERT(mNodeRegistry.find(oldName) != mNodeRegistry.end(), "No node named {} in graph {}, the graph may be corrupted !", oldName, name()); - mNodeRegistry[newName] = mNodeRegistry[oldName]; - mNodeRegistry.erase(oldName); + inline void updateNodeName(NodePtr nodeToRename, const std::string& newName){ + const std::string& oldName = nodeToRename->name(); + if (nodeToRename->name() != ""){ // Case node already had a name + AIDGE_ASSERT(mNodeRegistry.find(oldName) != mNodeRegistry.end(), "No node named {} in graph {}, the graph may be corrupted !", oldName, name()); + mNodeRegistry[newName] = mNodeRegistry[oldName]; + mNodeRegistry.erase(oldName); + }else{ // Case node did not had a name + mNodeRegistry[newName] = nodeToRename; + } } /** diff --git a/src/graph/Node.cpp b/src/graph/Node.cpp index 50b8be13c..7fe155b5a 100644 --- a/src/graph/Node.cpp +++ b/src/graph/Node.cpp @@ -64,7 +64,7 @@ Aidge::Connector Aidge::Node::operator()(const std::vector<Connector>& ctors) { /////////////////////////////////////////////////////// void Aidge::Node::setName(const std::string& name) { - for (auto graphView : views()) graphView->updateNodeName(mName, name); + for (auto graphView : views()) graphView->updateNodeName(shared_from_this(), name); mName = name; } -- GitLab