diff --git a/NodeNetworkToolkit/Group/AddEndpointDropPanel/AddEndpointDropPanelViewModel.cs b/NodeNetworkToolkit/Group/AddEndpointDropPanel/AddEndpointDropPanelViewModel.cs index eb16fb2..6f08df7 100644 --- a/NodeNetworkToolkit/Group/AddEndpointDropPanel/AddEndpointDropPanelViewModel.cs +++ b/NodeNetworkToolkit/Group/AddEndpointDropPanel/AddEndpointDropPanelViewModel.cs @@ -112,6 +112,21 @@ private bool CanCreateEndpointFromPendingConnection(PendingConnectionViewModel c var sourceNode = conn.Input != null ? conn.Input.Parent : conn.Output.Parent; + if (isOnSubnetExit) + { + if (conn.Output == null && conn.Input.PortPosition == PortPosition.Left) + return false; + if (conn.Input == null && conn.Output.PortPosition == PortPosition.Left) + return false; + } + if (isOnSubnetEntrance) + { + if (conn.Input == null && conn.Output.PortPosition == PortPosition.Right) + return false; + if (conn.Output == null && conn.Input.PortPosition == PortPosition.Right) + return false; + } + return sourceNode != NodeGroupIOBinding.GroupNode && !(isOnSubnetEntrance && sourceNode == NodeGroupIOBinding.EntranceNode) && !(isOnSubnetExit && sourceNode == NodeGroupIOBinding.ExitNode);