From 3417f58335251cc992967c7fcb582de435a12858 Mon Sep 17 00:00:00 2001 From: Yann Lanthony Date: Fri, 20 Jul 2018 15:35:55 +0200 Subject: [PATCH] [graph] add GraphModification inside upgradeNode method --- meshroom/core/graph.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/meshroom/core/graph.py b/meshroom/core/graph.py index 0679f74f..62a9f535 100644 --- a/meshroom/core/graph.py +++ b/meshroom/core/graph.py @@ -429,13 +429,14 @@ class Graph(BaseObject): if not isinstance(node, CompatibilityNode): raise ValueError("Upgrade is only available on CompatibilityNode instances.") upgradedNode = node.upgrade() - inEdges, outEdges = self.removeNode(nodeName) - self.addNode(upgradedNode, nodeName) - for dst, src in outEdges.items(): - try: - self.addEdge(self.attribute(src), self.attribute(dst)) - except (KeyError, ValueError) as e: - logging.warning("Failed to restore edge {} -> {}: {}".format(src, dst, str(e))) + with GraphModification(self): + inEdges, outEdges = self.removeNode(nodeName) + self.addNode(upgradedNode, nodeName) + for dst, src in outEdges.items(): + try: + self.addEdge(self.attribute(src), self.attribute(dst)) + except (KeyError, ValueError) as e: + logging.warning("Failed to restore edge {} -> {}: {}".format(src, dst, str(e))) return inEdges, outEdges