fix update() of nodes with multiple input

This commit is contained in:
duguxy 2015-08-20 19:18:28 +08:00
parent 1036edf618
commit 88091a6f93

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())