From ae357a5e49fe218bac201c68dda612a1d713fd55 Mon Sep 17 00:00:00 2001 From: vladmandic Date: Mon, 19 Jan 2026 11:35:21 +0100 Subject: [PATCH] fix handling of p.seeds Signed-off-by: vladmandic --- CHANGELOG.md | 1 + modules/processing_class.py | 2 ++ modules/processing_helpers.py | 4 ++++ modules/processing_prompt.py | 2 +- 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b2ad4b8f..97b52f055 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,6 +77,7 @@ For full list of changes, see full changelog. - print system env on startup - disable fallback on models with custom loaders - refactor triggering of prompt parser and set secondary prompts when needed + - refactor handling of seeds - **Fixes** - extension tab: update checker, date handling, formatting etc., thanks @awsr - controlnet with non-english ui locales diff --git a/modules/processing_class.py b/modules/processing_class.py index a4675074c..d4305d52f 100644 --- a/modules/processing_class.py +++ b/modules/processing_class.py @@ -313,6 +313,8 @@ class StableDiffusionProcessing: self.negative_prompts = None self.all_prompts = None self.all_negative_prompts = None + self.seeds = [] + self.subseeds = [] self.all_seeds = None self.all_subseeds = None diff --git a/modules/processing_helpers.py b/modules/processing_helpers.py index 1f1ac774e..222409738 100644 --- a/modules/processing_helpers.py +++ b/modules/processing_helpers.py @@ -236,6 +236,10 @@ def get_fixed_seed(seed): def fix_seed(p): p.seed = get_fixed_seed(p.seed) p.subseed = get_fixed_seed(p.subseed) + for i in range(len(p.all_seeds)): + p.all_seeds[i] = get_fixed_seed(p.all_seeds[i]) + for i in range(len(p.all_subseeds)): + p.all_subseeds[i] = get_fixed_seed(p.all_subseeds[i]) def old_hires_fix_first_pass_dimensions(width, height): diff --git a/modules/processing_prompt.py b/modules/processing_prompt.py index 3c3ecdf6d..828839df9 100644 --- a/modules/processing_prompt.py +++ b/modules/processing_prompt.py @@ -93,10 +93,10 @@ def set_prompt(p, try: prompt_parser_diffusers.embedder = prompt_parser_diffusers.PromptEmbedder(prompts, negative_prompts, steps, clip_skip, p) except Exception as e: + prompt_parser_diffusers.embedder = None shared.log.error(f'Prompt parser encode: {e}') if debug_enabled: errors.display(e, 'Prompt parser encode') - prompt_parser_diffusers.embedder = None timer.process.record('prompt', reset=False) shared.state.end(jobid) else: