From dbe77553a8d4abea018ab8e543fca64a710cab36 Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Tue, 12 Sep 2023 00:02:34 +0900 Subject: [PATCH] fix: prevent connecting to builtin reroute node from ImpactSwitch and ImpactInversedSwitch --- js/impact-pack.js | 18 ++++++++++++++++-- modules/impact/config.py | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/js/impact-pack.js b/js/impact-pack.js index 4b0ba35..6f69d69 100644 --- a/js/impact-pack.js +++ b/js/impact-pack.js @@ -204,9 +204,13 @@ app.registerExtension({ if(type == 2) { // connect output if(connected){ + if(app.graph._nodes_by_id[link_info.target_id].type == 'Reroute') { + app.graph._nodes_by_id[link_info.target_id].disconnectInput(link_info.target_slot); + } + if(this.outputs[0].type == '*'){ if(link_info.type == '*') { - this.disconnectOutput(link_info.origin_slot); + app.graph._nodes_by_id[link_info.target_id].disconnectInput(link_info.target_slot); } else { // propagate type @@ -223,6 +227,9 @@ app.registerExtension({ } } else { + if(app.graph._nodes_by_id[link_info.origin_id].type == 'Reroute') + this.disconnectInput(link_info.target_slot); + // connect input if(this.inputs[0].type == '*'){ const node = app.graph.getNodeById(link_info.origin_id); @@ -308,9 +315,13 @@ app.registerExtension({ if(type == 2) { // connect output if(connected){ + if(nodeData.name == 'ImpactSwitch' && app.graph._nodes_by_id[link_info.target_id].type == 'Reroute') { + app.graph._nodes_by_id[link_info.target_id].disconnectInput(link_info.target_slot); + } + if(this.outputs[0].type == '*'){ if(link_info.type == '*') { - this.disconnectOutput(link_info.origin_slot); + app.graph._nodes_by_id[link_info.target_id].disconnectInput(link_info.target_slot); } else { // propagate type @@ -330,6 +341,9 @@ app.registerExtension({ return; } else { + if(nodeData.name == 'ImpactSwitch' && app.graph._nodes_by_id[link_info.origin_id].type == 'Reroute') + this.disconnectInput(link_info.target_slot); + // connect input if(this.inputs[index].name == 'select' || this.inputs[index].name == 'sel_mode') return; diff --git a/modules/impact/config.py b/modules/impact/config.py index 28968b0..7fcdc10 100644 --- a/modules/impact/config.py +++ b/modules/impact/config.py @@ -2,7 +2,7 @@ import configparser import os -version = "V4.4.2" +version = "V4.4.3" dependency_version = 11