diff options
author | w-e-w <40751091+w-e-w@users.noreply.github.com> | 2023-09-03 02:56:02 +0000 |
---|---|---|
committer | w-e-w <40751091+w-e-w@users.noreply.github.com> | 2023-09-03 02:56:02 +0000 |
commit | aab385d01b4311726127397552d791f4d71b7147 (patch) | |
tree | 0884cec336426d40b7fae698007428f55a9008d3 /modules | |
parent | d39440bfb9d3b20338fc23a78e6655b1e2f7c1d5 (diff) | |
download | stable-diffusion-webui-gfx803-aab385d01b4311726127397552d791f4d71b7147.tar.gz stable-diffusion-webui-gfx803-aab385d01b4311726127397552d791f4d71b7147.tar.bz2 stable-diffusion-webui-gfx803-aab385d01b4311726127397552d791f4d71b7147.zip |
thread safe extra network list_items
Diffstat (limited to 'modules')
-rw-r--r-- | modules/ui_extra_networks.py | 2 | ||||
-rw-r--r-- | modules/ui_extra_networks_checkpoints.py | 6 | ||||
-rw-r--r-- | modules/ui_extra_networks_hypernets.py | 5 | ||||
-rw-r--r-- | modules/ui_extra_networks_textual_inversion.py | 5 |
4 files changed, 11 insertions, 7 deletions
diff --git a/modules/ui_extra_networks.py b/modules/ui_extra_networks.py index 063bd7b8..564bab7f 100644 --- a/modules/ui_extra_networks.py +++ b/modules/ui_extra_networks.py @@ -1,6 +1,7 @@ import os.path
import urllib.parse
from pathlib import Path
+from threading import Lock
from modules import shared, ui_extra_networks_user_metadata, errors, extra_networks
from modules.images import read_info_from_image, save_image_with_geninfo
@@ -94,6 +95,7 @@ class ExtraNetworksPage: self.allow_negative_prompt = False
self.metadata = {}
self.items = {}
+ self.thread_lock = Lock()
def refresh(self):
pass
diff --git a/modules/ui_extra_networks_checkpoints.py b/modules/ui_extra_networks_checkpoints.py index ca6c2607..2753214f 100644 --- a/modules/ui_extra_networks_checkpoints.py +++ b/modules/ui_extra_networks_checkpoints.py @@ -30,9 +30,9 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage): }
def list_items(self):
- names = list(sd_models.checkpoints_list)
- for index, name in enumerate(names):
- yield self.create_item(name, index)
+ with self.thread_lock:
+ for index, name in enumerate(sd_models.checkpoints_list):
+ yield self.create_item(name, index)
def allowed_directories_for_previews(self):
return [v for v in [shared.cmd_opts.ckpt_dir, sd_models.model_path] if v is not None]
diff --git a/modules/ui_extra_networks_hypernets.py b/modules/ui_extra_networks_hypernets.py index 4cedf085..411b4f11 100644 --- a/modules/ui_extra_networks_hypernets.py +++ b/modules/ui_extra_networks_hypernets.py @@ -31,8 +31,9 @@ class ExtraNetworksPageHypernetworks(ui_extra_networks.ExtraNetworksPage): }
def list_items(self):
- for index, name in enumerate(shared.hypernetworks):
- yield self.create_item(name, index)
+ with self.thread_lock:
+ for index, name in enumerate(shared.hypernetworks):
+ yield self.create_item(name, index)
def allowed_directories_for_previews(self):
return [shared.cmd_opts.hypernetwork_dir]
diff --git a/modules/ui_extra_networks_textual_inversion.py b/modules/ui_extra_networks_textual_inversion.py index 55ef0ea7..d25b45d6 100644 --- a/modules/ui_extra_networks_textual_inversion.py +++ b/modules/ui_extra_networks_textual_inversion.py @@ -29,8 +29,9 @@ class ExtraNetworksPageTextualInversion(ui_extra_networks.ExtraNetworksPage): }
def list_items(self):
- for index, name in enumerate(sd_hijack.model_hijack.embedding_db.word_embeddings):
- yield self.create_item(name, index)
+ with self.thread_lock:
+ for index, name in enumerate(sd_hijack.model_hijack.embedding_db.word_embeddings):
+ yield self.create_item(name, index)
def allowed_directories_for_previews(self):
return list(sd_hijack.model_hijack.embedding_db.embedding_dirs)
|