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):
del self._nodes[node.name()]
self.widget().removeNode(node)
for signal in ['sigClosed', 'sigRenamed', 'sigOutputChanged']:
for signal, slot in [('sigClosed', self.nodeClosed),
('sigRenamed', self.nodeRenamed),
('sigOutputChanged', self.nodeOutputChanged)]:
try:
getattr(node, signal).disconnect(self.nodeClosed)
getattr(node, signal).disconnect(slot)
except (TypeError, RuntimeError):
pass
self.sigChartChanged.emit(self, 'remove', node)