diff --git a/modules/ui.py b/modules/ui.py index a2f1124e..0d70529c 100644 --- a/modules/ui.py +++ b/modules/ui.py @@ -553,13 +553,13 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo): print(traceback.format_exc(), file=sys.stderr) def loadsave(path, x): - def apply_field(obj, field): + def apply_field(obj, field, condition=None): key = path + "/" + field saved_value = ui_settings.get(key, None) if saved_value is None: ui_settings[key] = getattr(obj, field) - else: + elif condition is None or condition(saved_value): setattr(obj, field, saved_value) if type(x) == gr.Slider: @@ -569,7 +569,7 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo): apply_field(x, 'step') if type(x) == gr.Radio: - apply_field(x, 'value') + apply_field(x, 'value', lambda val: val in x.choices) visit(txt2img_interface, loadsave, "txt2img") visit(img2img_interface, loadsave, "img2img")