|  | @@ -373,15 +373,20 @@ def link_node_containers(tree_path_names, link, local_nc, from_suffix='', to_suf
 | 
	
		
			
				|  |  |      
 | 
	
		
			
				|  |  |  def get_all_dependencies(nc):
 | 
	
		
			
				|  |  |      from .base_definitions import GraphError
 | 
	
		
			
				|  |  | -    """ Given a NC, find all dependencies for the NC as a dict of nc.signature:nc"""
 | 
	
		
			
				|  |  | +    """ find all dependencies for a mantis node"""
 | 
	
		
			
				|  |  |      nodes = []
 | 
	
		
			
				|  |  |      check_nodes = [nc]
 | 
	
		
			
				|  |  | +    nodes_checked = set()
 | 
	
		
			
				|  |  |      while (len(check_nodes) > 0):
 | 
	
		
			
				|  |  |          node = check_nodes.pop()
 | 
	
		
			
				|  |  | +        nodes_checked.add (node)
 | 
	
		
			
				|  |  |          connected_nodes = node.hierarchy_dependencies.copy()
 | 
	
		
			
				|  |  |          for new_node in connected_nodes:
 | 
	
		
			
				|  |  | -            if new_node in nodes: raise GraphError() 
 | 
	
		
			
				|  |  | +            if new_node in nodes:
 | 
	
		
			
				|  |  | +                continue
 | 
	
		
			
				|  |  |              nodes.append(new_node)
 | 
	
		
			
				|  |  | +            if new_node not in nodes_checked:
 | 
	
		
			
				|  |  | +                check_nodes.append(new_node)
 | 
	
		
			
				|  |  |      return nodes
 | 
	
		
			
				|  |  |                  
 | 
	
		
			
				|  |  |  def get_all_nodes_of_type(base_tree, bl_idname):
 |