diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c7b9e31b..ef545850b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ - kanvas add send-to functionality - improve extensions tab layout and behavior, thanks @awsr - indicate collapsed/hidden sections + - persistent panel minimize/maximize state - **Internal** - update js linting to `eslint9`, thanks @awsr - update reference models previews, thanks @liutyi diff --git a/extensions-builtin/sdnext-modernui b/extensions-builtin/sdnext-modernui index a74798532..77cc46062 160000 --- a/extensions-builtin/sdnext-modernui +++ b/extensions-builtin/sdnext-modernui @@ -1 +1 @@ -Subproject commit a74798532f01099c1eb8639e4abf23e1261621e5 +Subproject commit 77cc46062e816f034173175fc38ef8294f8c471a diff --git a/modules/processing_helpers.py b/modules/processing_helpers.py index d6dca84a8..279efdfb3 100644 --- a/modules/processing_helpers.py +++ b/modules/processing_helpers.py @@ -307,30 +307,32 @@ def decode_images(image): def resize_init_images(p): - if getattr(p, 'image', None) is not None and getattr(p, 'init_images', None) is None: - p.init_images = [p.image] - - if getattr(p, 'init_images', None) is not None and len(p.init_images) > 0: - p.init_images = decode_images(p.init_images) - vae_scale_factor = sd_vae.get_vae_scale_factor() - tgt_width = vae_scale_factor * math.ceil(p.init_images[0].width / vae_scale_factor) - tgt_height = vae_scale_factor * math.ceil(p.init_images[0].height / vae_scale_factor) - if p.init_images[0].size != (tgt_width, tgt_height): - shared.log.debug(f'Resizing init images: original={p.init_images[0].width}x{p.init_images[0].height} target={tgt_width}x{tgt_height}') - p.init_images = [images.resize_image(1, image, tgt_width, tgt_height, upscaler_name=None) for image in p.init_images] - p.height = tgt_height - p.width = tgt_width - sd_hijack_hypertile.hypertile_set(p) - if getattr(p, 'mask', None) is not None and p.mask is not None and p.mask.size != (tgt_width, tgt_height): - p.mask = decode_images(p.mask) - p.mask = images.resize_image(1, p.mask, tgt_width, tgt_height, upscaler_name=None) - if getattr(p, 'init_mask', None) is not None and p.init_mask is not None and p.init_mask.size != (tgt_width, tgt_height): - p.init_mask = decode_images(p.init_mask) - p.init_mask = images.resize_image(1, p.init_mask, tgt_width, tgt_height, upscaler_name=None) - if getattr(p, 'mask_for_overlay', None) is not None and p.mask_for_overlay is not None and p.mask_for_overlay.size != (tgt_width, tgt_height): - p.mask_for_overlay = decode_images(p.mask_for_overlay) - p.mask_for_overlay = images.resize_image(1, p.mask_for_overlay, tgt_width, tgt_height, upscaler_name=None) - return tgt_width, tgt_height + try: + if getattr(p, 'image', None) is not None and getattr(p, 'init_images', None) is None: + p.init_images = [p.image] + if getattr(p, 'init_images', None) is not None and len(p.init_images) > 0: + p.init_images = decode_images(p.init_images) + vae_scale_factor = sd_vae.get_vae_scale_factor() + tgt_width = vae_scale_factor * math.ceil(p.init_images[0].width / vae_scale_factor) + tgt_height = vae_scale_factor * math.ceil(p.init_images[0].height / vae_scale_factor) + if p.init_images[0].size != (tgt_width, tgt_height): + shared.log.debug(f'Resizing init images: original={p.init_images[0].width}x{p.init_images[0].height} target={tgt_width}x{tgt_height}') + p.init_images = [images.resize_image(1, image, tgt_width, tgt_height, upscaler_name=None) for image in p.init_images] + p.height = tgt_height + p.width = tgt_width + sd_hijack_hypertile.hypertile_set(p) + if getattr(p, 'mask', None) is not None and p.mask is not None and p.mask.size != (tgt_width, tgt_height): + p.mask = decode_images(p.mask) + p.mask = images.resize_image(1, p.mask, tgt_width, tgt_height, upscaler_name=None) + if getattr(p, 'init_mask', None) is not None and p.init_mask is not None and p.init_mask.size != (tgt_width, tgt_height): + p.init_mask = decode_images(p.init_mask) + p.init_mask = images.resize_image(1, p.init_mask, tgt_width, tgt_height, upscaler_name=None) + if getattr(p, 'mask_for_overlay', None) is not None and p.mask_for_overlay is not None and p.mask_for_overlay.size != (tgt_width, tgt_height): + p.mask_for_overlay = decode_images(p.mask_for_overlay) + p.mask_for_overlay = images.resize_image(1, p.mask_for_overlay, tgt_width, tgt_height, upscaler_name=None) + return tgt_width, tgt_height + except Exception: + pass return p.width, p.height