aboutsummaryrefslogtreecommitdiff
path: root/modules/ui_extra_networks_hypernets.py
diff options
context:
space:
mode:
authorfuchen.ljl <yjqqqqdx_01@163.com>2023-12-06 20:42:04 +0800
committerGitHub <noreply@github.com>2023-12-06 20:42:04 +0800
commitc2bdbb67b66de06f1163de3f10c290213cd6bdb0 (patch)
tree0fcb3010a72ad253862f317ea18fdeb46b05a322 /modules/ui_extra_networks_hypernets.py
parent4d56383025f2cbd00dc6296161e31a896624ab75 (diff)
parentf92d61497a426a19818625c3ccdaae9beeb82b31 (diff)
Merge branch 'dev' into kingljl-patch-memory-leak
Diffstat (limited to 'modules/ui_extra_networks_hypernets.py')
-rw-r--r--modules/ui_extra_networks_hypernets.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/modules/ui_extra_networks_hypernets.py b/modules/ui_extra_networks_hypernets.py
index 4cedf085..c96c4fa3 100644
--- a/modules/ui_extra_networks_hypernets.py
+++ b/modules/ui_extra_networks_hypernets.py
@@ -13,7 +13,10 @@ class ExtraNetworksPageHypernetworks(ui_extra_networks.ExtraNetworksPage):
shared.reload_hypernetworks()
def create_item(self, name, index=None, enable_filter=True):
- full_path = shared.hypernetworks[name]
+ full_path = shared.hypernetworks.get(name)
+ if full_path is None:
+ return
+
path, ext = os.path.splitext(full_path)
sha256 = sha256_from_cache(full_path, f'hypernet/{name}')
shorthash = sha256[0:10] if sha256 else None
@@ -31,8 +34,12 @@ class ExtraNetworksPageHypernetworks(ui_extra_networks.ExtraNetworksPage):
}
def list_items(self):
- for index, name in enumerate(shared.hypernetworks):
- yield self.create_item(name, index)
+ # instantiate a list to protect against concurrent modification
+ names = list(shared.hypernetworks)
+ for index, name in enumerate(names):
+ item = self.create_item(name, index)
+ if item is not None:
+ yield item
def allowed_directories_for_previews(self):
return [shared.cmd_opts.hypernetwork_dir]