diff --git a/meshroom/core/graph.py b/meshroom/core/graph.py index 58e7e70e..75cadeaf 100644 --- a/meshroom/core/graph.py +++ b/meshroom/core/graph.py @@ -929,10 +929,6 @@ class Graph(BaseObject): for edge in self.getEdges(dependenciesOnly=dependenciesOnly): nodeEdges[edge.src.node].add(edge.dst.node) - - # sort the edges - for node in nodeEdges: - nodeEdges[node] = sorted(nodeEdges[node], key=lambda item: item.name) return nodeEdges @@ -1114,7 +1110,7 @@ class Graph(BaseObject): self._computationBlocked.clear() compatNodes = [] - visitor = Visitor(reverse=False, dependenciesOnly=True) + visitor = Visitor(reverse=False, dependenciesOnly=False) def discoverVertex(vertex, graph): # initialize depths diff --git a/meshroom/ui/reconstruction.py b/meshroom/ui/reconstruction.py index d41d3a46..def8f0bb 100755 --- a/meshroom/ui/reconstruction.py +++ b/meshroom/ui/reconstruction.py @@ -665,6 +665,8 @@ class Reconstruction(UIGraph): nodes = self._graph.dfsOnDiscover(startNodes=[startNode], filterTypes=nodeTypes, reverse=True)[0] if not nodes: return None + # order the nodes according to their depth in the graph, then according to their name + nodes.sort(key=lambda n: (n.depth, n.name)) node = nodes[-1] if preferredStatus: node = next((n for n in reversed(nodes) if n.getGlobalStatus() == preferredStatus), node)