This commit is contained in:
Chris
2026-02-07 11:08:15 +11:00
parent 343787feea
commit 2cd74e5c60
2 changed files with 27 additions and 17 deletions
+2 -3
View File
@@ -172,15 +172,14 @@ app.registerExtension({
*/
const original_drawFrontCanvas = LGraphCanvas.prototype.drawFrontCanvas
LGraphCanvas.prototype.drawFrontCanvas = function() {
var widgets_disabled = []
try {
widgets_disabled = shared.linkRenderController.disable_all_connected_widgets()
shared.linkRenderController.disable_all_connected_widgets()
return original_drawFrontCanvas.apply(this, arguments);
} catch (e) {
Logger.log_error(e)
} finally {
try {
widgets_disabled.forEach((w)=>w.disabled=false)
shared.linkRenderController.enable_all_disabled_widgets()
} catch (e) {
Logger.log_error(e)
}
+25 -14
View File
@@ -167,30 +167,41 @@ export class LinkRenderController extends Pausable {
}
disable_all_connected_widgets( ) {
const widgets_disabled = []
this.widgets_disabled = []
/* broken by ComfyUI update see issue 438
app.canvas.graph.extra['ue_links']?.forEach((uel) => {
const node = app.canvas.graph._nodes_by_id[uel.downstream]
if (node) {
const name = node.inputs[uel.downstream_slot]?.name;
if (name) {
const widget = node.widgets?.find((w)=>(w.name==name)) // _getWidgetByName(name)
if (widget) {
if (!widget.disabled) {
widgets_disabled.push(widget)
widget.disabled = true;
}
widget.linkedWidgets?.filter((w)=>!w.disabled).forEach((w)=>{
widgets_disabled.push(w)
w.disabled = true;
})
}
try {
if (widget) {
if (!widget.disabled) {
this.widgets_disabled.push(widget)
widget.computeDisabled = true;
}
widget.linkedWidgets?.filter((w)=>!w.disabled).forEach((w)=>{
this.widgets_disabled.push(w)
w.computeDisabled = true;
})
}
} catch (e) {
Logger.log_error(e, `Error disabling widget ${name} on node ${node.id} for UE link ${uel.id}`)
}
}
}
})
return widgets_disabled
}) */
}
enable_all_disabled_widgets() {
try {
this.widgets_disabled.forEach((w)=>w.computeDisabled=false)
} catch (e) {
Logger.log_error(e)
}
}
highlight_subgraph_node_connections(subgraph, ctx) {
if (!settingsCache.getSettingValue('Use Everywhere.Graphics.highlight')) return;
this.ue_list.all_connected_inputs(subgraph.outputNode).forEach((ue_connection)=>{