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,20 +381,20 @@ 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)
for term in list(node.inputs().values()):
#print " checking terminal", term
deps = list(term.connections().keys())
update = False update = False
for term in list(node.inputs().values()):
# print(" checking terminal", term)
deps = list(term.connections().keys())
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())