Fix disconnect() in Flowchart with wrong receiver slot

This commit is contained in:
Charles Brunet 2020-09-14 13:42:16 -04:00
parent 9fdaffaf7d
commit b2ceb8d053

View File

@ -214,9 +214,11 @@ class Flowchart(Node):
def nodeClosed(self, node): def nodeClosed(self, node):
del self._nodes[node.name()] del self._nodes[node.name()]
self.widget().removeNode(node) self.widget().removeNode(node)
for signal in ['sigClosed', 'sigRenamed', 'sigOutputChanged']: for signal, slot in [('sigClosed', self.nodeClosed),
('sigRenamed', self.nodeRenamed),
('sigOutputChanged', self.nodeOutputChanged)]:
try: try:
getattr(node, signal).disconnect(self.nodeClosed) getattr(node, signal).disconnect(slot)
except (TypeError, RuntimeError): except (TypeError, RuntimeError):
pass pass
self.sigChartChanged.emit(self, 'remove', node) self.sigChartChanged.emit(self, 'remove', node)