use state instead of global for default_image (#812)
* use state instead of global for default_image solves issue https://github.com/lllyasviel/Fooocus/issues/716 * fix --------- Co-authored-by: lllyasviel <lyuminzhang@outlook.com>
This commit is contained in:
parent
759bfadefa
commit
49b94fa26e
|
|
@ -1 +1 @@
|
|||
version = '2.1.757'
|
||||
version = '2.1.758'
|
||||
|
|
|
|||
31
webui.py
31
webui.py
|
|
@ -172,31 +172,18 @@ with shared.gradio_root:
|
|||
input_image_checkbox.change(lambda x: gr.update(visible=x), inputs=input_image_checkbox, outputs=image_input_panel, queue=False, _js=switch_js)
|
||||
ip_advanced.change(lambda: None, queue=False, _js=down_js)
|
||||
|
||||
current_tab = gr.Textbox(value='uov', visible=False)
|
||||
current_tab = gr.State(value='uov')
|
||||
default_image = gr.State(value=None)
|
||||
|
||||
default_image = None
|
||||
lambda_img = lambda x: x['image'] if isinstance(x, dict) else x
|
||||
uov_input_image.upload(lambda_img, inputs=uov_input_image, outputs=default_image, queue=False)
|
||||
inpaint_input_image.upload(lambda_img, inputs=inpaint_input_image, outputs=default_image, queue=False)
|
||||
|
||||
def update_default_image(x):
|
||||
global default_image
|
||||
if isinstance(x, dict):
|
||||
default_image = x['image']
|
||||
else:
|
||||
default_image = x
|
||||
return
|
||||
uov_input_image.clear(lambda: None, outputs=default_image, queue=False)
|
||||
inpaint_input_image.clear(lambda: None, outputs=default_image, queue=False)
|
||||
|
||||
def clear_default_image():
|
||||
global default_image
|
||||
default_image = None
|
||||
return
|
||||
|
||||
uov_input_image.upload(update_default_image, inputs=uov_input_image, queue=False)
|
||||
inpaint_input_image.upload(update_default_image, inputs=inpaint_input_image, queue=False)
|
||||
|
||||
uov_input_image.clear(clear_default_image, queue=False)
|
||||
inpaint_input_image.clear(clear_default_image, queue=False)
|
||||
|
||||
uov_tab.select(lambda: ['uov', default_image], outputs=[current_tab, uov_input_image], queue=False, _js=down_js)
|
||||
inpaint_tab.select(lambda: ['inpaint', default_image], outputs=[current_tab, inpaint_input_image], queue=False, _js=down_js)
|
||||
uov_tab.select(lambda x: ['uov', x], inputs=default_image, outputs=[current_tab, uov_input_image], queue=False, _js=down_js)
|
||||
inpaint_tab.select(lambda x: ['inpaint', x], inputs=default_image, outputs=[current_tab, inpaint_input_image], queue=False, _js=down_js)
|
||||
ip_tab.select(lambda: 'ip', outputs=[current_tab], queue=False, _js=down_js)
|
||||
|
||||
with gr.Column(scale=1, visible=modules.path.default_advanced_checkbox) as advanced_column:
|
||||
|
|
|
|||
Loading…
Reference in New Issue