Skip to content

Commit

Permalink
use state instead of global for default_image
Browse files Browse the repository at this point in the history
solves issue lllyasviel#716
  • Loading branch information
mashb1t committed Oct 29, 2023
1 parent 759bfad commit 6c0ef9e
Showing 1 changed file with 19 additions and 13 deletions.
32 changes: 19 additions & 13 deletions webui.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,30 +174,36 @@ def ip_advance_checked(x):

current_tab = gr.Textbox(value='uov', visible=False)

default_image = None
default_image = gr.State(value=None)

def update_default_image(x):
global default_image
if isinstance(x, dict):
default_image = x['image']
else:
default_image = x
return
return default_image

def clear_default_image():
global default_image
default_image = None
return
return None

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)
def select_uov_tab(image):
return 'uov', image

uov_input_image.clear(clear_default_image, queue=False)
inpaint_input_image.clear(clear_default_image, queue=False)
def select_inpaint_tab(image):
return 'inpaint', image

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)
ip_tab.select(lambda: 'ip', outputs=[current_tab], queue=False, _js=down_js)
def select_ip_tab(image):
return 'ip', image

uov_input_image.upload(update_default_image, inputs=uov_input_image, outputs=default_image, queue=False)
inpaint_input_image.upload(update_default_image, inputs=inpaint_input_image, outputs=default_image, queue=False)

uov_input_image.clear(clear_default_image, outputs=default_image, queue=False)
inpaint_input_image.clear(clear_default_image, outputs=default_image, queue=False)

uov_tab.select(fn=select_uov_tab, inputs=[default_image], outputs=[current_tab, uov_input_image], queue=False, _js=down_js)
inpaint_tab.select(fn=select_inpaint_tab, inputs=[default_image], outputs=[current_tab, inpaint_input_image], queue=False, _js=down_js)
ip_tab.select(fn=select_ip_tab, inputs=[default_image], outputs=[current_tab], queue=False, _js=down_js)

with gr.Column(scale=1, visible=modules.path.default_advanced_checkbox) as advanced_column:
with gr.Tab(label='Setting'):
Expand Down

0 comments on commit 6c0ef9e

Please sign in to comment.