Merge pull request #232 from duguxy/flowchart-update

fix repetitive update() of nodes with multiple input
This commit is contained in:
Luke Campagnola 2015-12-20 19:23:45 -08:00
commit 8b6771f82b

View File

@ -381,22 +381,22 @@ class Flowchart(Node):
terms = set(startNode.outputs().values()) terms = set(startNode.outputs().values())
#print "======= Updating", startNode #print "======= Updating", startNode
#print "Order:", order # print("Order:", order)
for node in order[1:]: for node in order[1:]:
#print "Processing node", node # print("Processing node", node)
update = False
for term in list(node.inputs().values()): for term in list(node.inputs().values()):
#print " checking terminal", term # print(" checking terminal", term)
deps = list(term.connections().keys()) deps = list(term.connections().keys())
update = False
for d in deps: for d in deps:
if d in terms: if d in terms:
#print " ..input", d, "changed" # print(" ..input", d, "changed")
update = True update |= True
term.inputChanged(d, process=False) term.inputChanged(d, process=False)
if update: if update:
#print " processing.." # print(" processing..")
node.update() node.update()
terms |= set(node.outputs().values()) terms |= set(node.outputs().values())
finally: finally:
self.processing = False self.processing = False