Skip to content

Commit 9fb3047

Browse files
committed
addressed node connection bug #281
1 parent f31e4dc commit 9fb3047

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

NodeGraphQt/base/graph.py

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1701,6 +1701,10 @@ def cut_nodes(self, nodes=None):
17011701
"""
17021702
Cut nodes to the clipboard.
17031703
1704+
Note:
1705+
This function doesn't not trigger the
1706+
:attr:`NodeGraph.nodes_deleted` signal.
1707+
17041708
See Also:
17051709
:meth:`NodeGraph.copy_nodes`
17061710
@@ -1711,7 +1715,28 @@ def cut_nodes(self, nodes=None):
17111715
nodes = nodes or self.selected_nodes()
17121716
self.copy_nodes(nodes)
17131717
self._undo_stack.beginMacro('cut nodes')
1714-
[self._undo_stack.push(NodeRemovedCmd(self, n)) for n in nodes]
1718+
1719+
for node in nodes:
1720+
if isinstance(node, BaseNode):
1721+
for p in node.input_ports():
1722+
if p.locked():
1723+
p.set_locked(False,
1724+
connected_ports=False,
1725+
push_undo=True)
1726+
p.clear_connections()
1727+
for p in node.output_ports():
1728+
if p.locked():
1729+
p.set_locked(False,
1730+
connected_ports=False,
1731+
push_undo=True)
1732+
p.clear_connections()
1733+
1734+
# collapse group node before removing.
1735+
if isinstance(node, GroupNode) and node.is_expanded:
1736+
node.collapse()
1737+
1738+
self._undo_stack.push(NodeRemovedCmd(self, node))
1739+
17151740
self._undo_stack.endMacro()
17161741

17171742
def paste_nodes(self):

0 commit comments

Comments
 (0)