Skip to content

Commit e346228

Browse files
committed
Make attn RefCN compatible with most recent comfy (backwards compatible)
1 parent ee690c3 commit e346228

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

adv_control/control_reference.py

+12-3
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,10 @@ def refcn_sample(model: ModelPatcher, *args, **kwargs):
6262
for i, module in enumerate(attn_modules):
6363
injection_holder = InjectionBasicTransformerBlockHolder(block=module, idx=i)
6464
injection_holder.attn_weight = float(i) / float(len(attn_modules))
65-
module._forward = _forward_inject_BasicTransformerBlock.__get__(module, type(module))
65+
if hasattr(module, "_forward"): # backward compatibility
66+
module._forward = _forward_inject_BasicTransformerBlock.__get__(module, type(module))
67+
else:
68+
module.forward = _forward_inject_BasicTransformerBlock.__get__(module, type(module))
6669
module.injection_holder = injection_holder
6770
reference_injections.attn_modules.append(module)
6871
# figure out which module is middle block
@@ -430,14 +433,20 @@ def clean(self):
430433

431434
class InjectionBasicTransformerBlockHolder:
432435
def __init__(self, block: BasicTransformerBlock, idx=None):
433-
self.original_forward = block._forward
436+
if hasattr(block, "_forward"): # backward compatibility
437+
self.original_forward = block._forward
438+
else:
439+
self.original_forward = block.forward
434440
self.idx = idx
435441
self.attn_weight = 1.0
436442
self.is_middle = False
437443
self.bank_styles = BankStylesBasicTransformerBlock()
438444

439445
def restore(self, block: BasicTransformerBlock):
440-
block._forward = self.original_forward
446+
if hasattr(block, "_forward"): # backward compatibility
447+
block._forward = self.original_forward
448+
else:
449+
block.forward = self.original_forward
441450

442451
def clean(self):
443452
self.bank_styles.clean()

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[project]
22
name = "comfyui-advanced-controlnet"
33
description = "Nodes for scheduling ControlNet strength across timesteps and batched latents, as well as applying custom weights and attention masks."
4-
version = "1.0.1"
4+
version = "1.0.2"
55
license = "LICENSE"
66
dependencies = []
77

0 commit comments

Comments
 (0)