diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-08-12 15:36:30 +0000 |
---|---|---|
committer | AUTOMATIC1111 <16777216c@gmail.com> | 2023-08-12 15:36:30 +0000 |
commit | 6816ad5ed806b9ada81b4fab82e21a9455fa5720 (patch) | |
tree | a1cffbb420d53b7c87746dd8d8741c66aec7d38f | |
parent | 4e8690906c02f14a81974200775bfc81718a9250 (diff) | |
download | stable-diffusion-webui-gfx803-6816ad5ed806b9ada81b4fab82e21a9455fa5720.tar.gz stable-diffusion-webui-gfx803-6816ad5ed806b9ada81b4fab82e21a9455fa5720.tar.bz2 stable-diffusion-webui-gfx803-6816ad5ed806b9ada81b4fab82e21a9455fa5720.zip |
fix broken reuse seed
-rw-r--r-- | modules/processing_scripts/seed.py | 2 | ||||
-rw-r--r-- | modules/scripts.py | 42 |
2 files changed, 25 insertions, 19 deletions
diff --git a/modules/processing_scripts/seed.py b/modules/processing_scripts/seed.py index 1ec20339..cc90775a 100644 --- a/modules/processing_scripts/seed.py +++ b/modules/processing_scripts/seed.py @@ -54,7 +54,7 @@ class ScriptSeed(scripts.ScriptBuiltin): ]
self.on_after_component(lambda x: connect_reuse_seed(self.seed, reuse_seed, x.component, False), elem_id=f'generation_info_{self.tabname}')
- self.on_after_component(lambda x: connect_reuse_seed(self.seed, reuse_subseed, x.component, True), elem_id=f'generation_info_{self.tabname}')
+ self.on_after_component(lambda x: connect_reuse_seed(subseed, reuse_subseed, x.component, True), elem_id=f'generation_info_{self.tabname}')
return self.seed, subseed, subseed_strength
diff --git a/modules/scripts.py b/modules/scripts.py index 66fbec0d..c6459b45 100644 --- a/modules/scripts.py +++ b/modules/scripts.py @@ -62,10 +62,10 @@ class Script: api_info = None
"""Generated value of type modules.api.models.ScriptInfo with information about the script for API"""
- on_before_component_elem_id = []
+ on_before_component_elem_id = None
"""list of callbacks to be called before a component with an elem_id is created"""
- on_after_component_elem_id = []
+ on_after_component_elem_id = None
"""list of callbacks to be called after a component with an elem_id is created"""
def title(self):
@@ -235,6 +235,8 @@ class Script: This function is an alternative to before_component in that it also cllows to run before a component is created, but
it doesn't require to be called for every created component - just for the one you need.
"""
+ if self.on_before_component_elem_id is None:
+ self.on_before_component_elem_id = []
self.on_before_component_elem_id.append((elem_id, callback))
@@ -242,6 +244,8 @@ class Script: """
Calls callback after a component is created. The callback function is called with a single argument of type OnComponent.
"""
+ if self.on_after_component_elem_id is None:
+ self.on_after_component_elem_id = []
self.on_after_component_elem_id.append((elem_id, callback))
@@ -545,11 +549,15 @@ class ScriptRunner: self.infotext_fields.extend([(script.group, onload_script_visibility) for script in self.selectable_scripts])
for script in self.scripts:
- for elem_id, callback in script.on_before_component_elem_id:
- self.on_before_component_elem_id.get(elem_id, []).append((callback, script))
+ for elem_id, callback in script.on_before_component_elem_id or []:
+ items = self.on_before_component_elem_id.get(elem_id, [])
+ items.append((callback, script))
+ self.on_before_component_elem_id[elem_id] = items
- for elem_id, callback in script.on_after_component_elem_id:
- self.on_after_component_elem_id.get(elem_id, []).append((callback, script))
+ for elem_id, callback in script.on_after_component_elem_id or []:
+ items = self.on_after_component_elem_id.get(elem_id, [])
+ items.append((callback, script))
+ self.on_after_component_elem_id[elem_id] = items
return self.inputs
@@ -644,12 +652,11 @@ class ScriptRunner: errors.report(f"Error running postprocess_image: {script.filename}", exc_info=True)
def before_component(self, component, **kwargs):
- for callbacks in self.on_before_component_elem_id.get(kwargs.get("elem_id"), []):
- for callback, script in callbacks:
- try:
- callback(OnComponent(component=component))
- except Exception:
- errors.report(f"Error running on_before_component: {script.filename}", exc_info=True)
+ for callback, script in self.on_before_component_elem_id.get(kwargs.get("elem_id"), []):
+ try:
+ callback(OnComponent(component=component))
+ except Exception:
+ errors.report(f"Error running on_before_component: {script.filename}", exc_info=True)
for script in self.scripts:
try:
@@ -658,12 +665,11 @@ class ScriptRunner: errors.report(f"Error running before_component: {script.filename}", exc_info=True)
def after_component(self, component, **kwargs):
- for callbacks in self.on_after_component_elem_id.get(component.elem_id, []):
- for callback, script in callbacks:
- try:
- callback(OnComponent(component=component))
- except Exception:
- errors.report(f"Error running on_after_component: {script.filename}", exc_info=True)
+ for callback, script in self.on_after_component_elem_id.get(component.elem_id, []):
+ try:
+ callback(OnComponent(component=component))
+ except Exception:
+ errors.report(f"Error running on_after_component: {script.filename}", exc_info=True)
for script in self.scripts:
try:
|